diff -Nru dico-2.9/aclocal.m4 dico-2.10/aclocal.m4 --- dico-2.9/aclocal.m4 2019-04-24 06:43:50.000000000 +0000 +++ dico-2.10/aclocal.m4 2020-09-04 04:04:51.000000000 +0000 @@ -1249,7 +1249,6 @@ m4_include([m4/absolute-header.m4]) m4_include([m4/af_alg.m4]) m4_include([m4/alloca.m4]) -m4_include([m4/argz.m4]) m4_include([m4/btowc.m4]) m4_include([m4/builtin-expect.m4]) m4_include([m4/byteswap.m4]) @@ -1308,6 +1307,7 @@ m4_include([m4/lock.m4]) m4_include([m4/longlong.m4]) m4_include([m4/lseek.m4]) +m4_include([m4/ltargz.m4]) m4_include([m4/ltdl.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) diff -Nru dico-2.9/am/lib.m4 dico-2.10/am/lib.m4 --- dico-2.9/am/lib.m4 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/am/lib.m4 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 2010-2019 Sergey Poznyakoff +# Copyright (C) 2010-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/am/testdir.m4 dico-2.10/am/testdir.m4 --- dico-2.9/am/testdir.m4 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/am/testdir.m4 2020-09-04 03:59:17.000000000 +0000 @@ -1,6 +1,6 @@ # testdir.m4 serial 1 # This file is part of GNU Dico -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/app/python/mediawiki.py dico-2.10/app/python/mediawiki.py --- dico-2.9/app/python/mediawiki.py 2019-02-22 10:01:07.000000000 +0000 +++ dico-2.10/app/python/mediawiki.py 2020-09-04 03:59:17.000000000 +0000 @@ -2,7 +2,7 @@ # Mediawiki module for Python # This file is part of GNU Dico. # Copyright (C) 2008-2010, 2012 Wojciech Polak -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/bootstrap dico-2.10/bootstrap --- dico-2.9/bootstrap 2019-02-22 10:23:06.000000000 +0000 +++ dico-2.10/bootstrap 2020-09-04 03:59:17.000000000 +0000 @@ -1,6 +1,6 @@ #! /usr/bin/perl # This file is part of GNU Dico -# Copyright (C) 2014-2019 Sergey Poznyakoff +# Copyright (C) 2014-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -32,6 +32,7 @@ [B<--verbose>] [B<--quiet>] [B<--skip-po>] +[B<--update-po>] [I...] =head1 DESCRIPTION @@ -176,6 +177,10 @@ Do not download po files. +=item B<--update-po> + +Update only the translation files in the F directory. + =back The following options cause the program to display informative text and @@ -443,6 +448,7 @@ my $modules; my $skip_reconf; my $skip_po; +my $update_po; my $autoconf = "module.ac"; my $config_stub = "configure.boot"; my $makefile_stub = "modules/stub.am"; @@ -1171,6 +1177,12 @@ run('rsync', @rsync_options, "rsync://translationproject.org/tp/latest/$domain/", 'po'); + my @linguas = sort map { my ($name) = fileparse($_, ".po"); $name } + glob "po/*.po"; + open(my $fh, '>', 'po/LINGUAS') + or abend(EX_CANTCREAT, "can't open po/LINGUAS for writing: $!"); + print $fh join("\n", @linguas), "\n"; + close $fh; } END { @@ -1196,7 +1208,8 @@ "quiet|q" => \$quiet, "modules|m" => \$modules, "skip-reconfigure|s" => \$skip_reconf, - "skip-po" => \$skip_po + "skip-po" => \$skip_po, + "update-po" => \$update_po ) or exit(EX_USAGE); abend(EX_USAGE, "must run from the Dico source tree topmost directory") @@ -1209,6 +1222,7 @@ if ($addmod) { abend(EX_USAGE, "not enough arguments") unless @ARGV; + abend(EX_USAGE, "--update-po conflicts with --add or --new") if $update_po; foreach my $mod (@ARGV) { create_module($mod); } @@ -1216,14 +1230,16 @@ reconf(); } elsif ($modules) { abend(EX_USAGE, "too many arguments") if @ARGV; + abend(EX_USAGE, "--update-po conflicts with --modules") if $update_po; modproc(); reconf(); } elsif ($#ARGV >= 0) { abend(EX_USAGE, "too many arguments; did you mean --new?"); +} elsif ($update_po) { + po_sync($pkg_info{PACKAGE_TARNAME}); } elsif (-d '.git') { error("Initializing submodules", fd => \*STDOUT) unless $quiet; - run('git submodule init'); - run('git submodule update'); + run('git submodule update --init --recursive'); make_tree(); modproc(); gnulib_init(); diff -Nru dico-2.9/build-aux/compile dico-2.10/build-aux/compile --- dico-2.9/build-aux/compile 2018-04-21 18:30:10.000000000 +0000 +++ dico-2.10/build-aux/compile 1970-01-01 00:00:00.000000000 +0000 @@ -1,347 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand '-c -o'. - -scriptversion=2012-10-14.11; # UTC - -# Copyright (C) 1999-2014 Free Software Foundation, Inc. -# Written by Tom Tromey . -# -# 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, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=" "" $nl" - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv "$1" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - lib=$dir/$lib.dll.lib - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - lib=$dir/$lib.lib - break - fi - if test -f "$dir/lib$lib.a"; then - found=yes - lib=$dir/lib$lib.a - break - fi - done - IFS=$save_IFS - - if test "$found" != yes; then - lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - for arg - do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv "$2" - set x "$@" -Fo"$file" - shift - ;; - *) - func_file_conv "$2" - set x "$@" -Fe"$file" - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv "$2" mingw - set x "$@" -I"$file" - shift - ;; - -I*) - func_file_conv "${1#-I}" mingw - set x "$@" -I"$file" - shift - ;; - -l) - eat=1 - func_cl_dashl "$2" - set x "$@" "$lib" - shift - ;; - -l*) - func_cl_dashl "${1#-l}" - set x "$@" "$lib" - shift - ;; - -L) - eat=1 - func_cl_dashL "$2" - ;; - -L*) - func_cl_dashL "${1#-L}" - ;; - -static) - shared=false - ;; - -Wl,*) - arg=${1#-Wl,} - save_ifs="$IFS"; IFS=',' - for flag in $arg; do - IFS="$save_ifs" - linker_opts="$linker_opts $flag" - done - IFS="$save_ifs" - ;; - -Xlinker) - eat=1 - linker_opts="$linker_opts $2" - ;; - -*) - set x "$@" "$1" - shift - ;; - *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) - func_file_conv "$1" - set x "$@" -Tp"$file" - shift - ;; - *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) - func_file_conv "$1" mingw - set x "$@" "$file" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift - done - if test -n "$linker_opts"; then - linker_opts="-link$linker_opts" - fi - exec "$@" $linker_opts - exit 1 -} - -eat= - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand '-c -o'. -Remove '-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file 'INSTALL'. - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) - func_cl_wrapper "$@" # Doesn't return... - ;; -esac - -ofile= -cfile= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - # So we strip '-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no '-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # '.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` - -# Create the lock directory. -# Note: use '[/\\:.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff -Nru dico-2.9/build-aux/ltmain.sh dico-2.10/build-aux/ltmain.sh --- dico-2.9/build-aux/ltmain.sh 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/build-aux/ltmain.sh 2019-01-25 07:21:28.000000000 +0000 @@ -1,9 +1,12 @@ +#! /bin/sh +## DO NOT EDIT - This file generated from ./build-aux/ltmain.in +## by inline-source v2014-01-03.01 -# libtool (GNU libtool) 2.4.2 +# libtool (GNU libtool) 2.4.6 +# Provide generalized library-building support services. # Written by Gordon Matzigkeit , 1996 -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +# Copyright (C) 1996-2015 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -23,881 +26,2112 @@ # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# along with this program. If not, see . -# Usage: $progname [OPTION]... [MODE-ARG]... -# -# Provide generalized library-building support services. -# -# --config show all configuration variables -# --debug enable verbose shell tracing -# -n, --dry-run display commands without modifying any files -# --features display basic configuration information and exit -# --mode=MODE use operation mode MODE -# --preserve-dup-deps don't remove duplicate dependency libraries -# --quiet, --silent don't print informational messages -# --no-quiet, --no-silent -# print informational messages (default) -# --no-warn don't display warning messages -# --tag=TAG use configuration variables from tag TAG -# -v, --verbose print more informational messages than default -# --no-verbose don't print the extra informational messages -# --version print version information -# -h, --help, --help-all print short, long, or detailed help message -# -# MODE must be one of the following: -# -# clean remove files from the build directory -# compile compile a source file into a libtool object -# execute automatically set library path, then run a program -# finish complete the installation of libtool libraries -# install install libraries or executables -# link create a library or an executable -# uninstall remove libraries from an installed directory -# -# MODE-ARGS vary depending on the MODE. When passed as first option, -# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. -# Try `$progname --help --mode=MODE' for a more detailed description of MODE. -# -# When reporting a bug, please describe a test case to reproduce it and -# include the following information: -# -# host-triplet: $host -# shell: $SHELL -# compiler: $LTCC -# compiler flags: $LTCFLAGS -# linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.4.2 -# automake: $automake_version -# autoconf: $autoconf_version -# -# Report bugs to . -# GNU libtool home page: . -# General help using GNU software: . PROGRAM=libtool PACKAGE=libtool -VERSION=2.4.2 -TIMESTAMP="" -package_revision=1.3337 +VERSION=2.4.6 +package_revision=2.4.6 -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + +## ------ ## +## Usage. ## +## ------ ## + +# Run './libtool --help' for help with using this script from the +# command line. + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# After configure completes, it has a better idea of some of the +# shell tools we need than the defaults used by the functions shared +# with bootstrap, so set those here where they can still be over- +# ridden by the user, but otherwise take precedence. + +: ${AUTOCONF="autoconf"} +: ${AUTOMAKE="automake"} + + +## -------------------------- ## +## Source external libraries. ## +## -------------------------- ## + +# Much of our low-level functionality needs to be sourced from external +# libraries, which are installed to $pkgauxdir. + +# Set a version string for this script. +scriptversion=2015-01-20.17; # UTC + +# General shell script boiler plate, and helper functions. +# Written by Gary V. Vaughan, 2004 + +# Copyright (C) 2004-2015 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# 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. + +# As a special exception to the GNU General Public License, if you distribute +# this file as part of a program or library that is built using GNU Libtool, +# you may include this file under the same distribution terms that you use +# for the rest of that program. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNES 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 . + +# Please report bugs or propose patches to gary@gnu.org. + + +## ------ ## +## Usage. ## +## ------ ## + +# Evaluate this file near the top of your script to gain access to +# the functions and variables defined here: +# +# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh +# +# If you need to override any of the default environment variable +# settings, do that before evaluating this file. + + +## -------------------- ## +## Shell normalisation. ## +## -------------------- ## + +# Some shells need a little help to be as Bourne compatible as possible. +# Before doing anything else, make sure all that help has been provided! + +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac + case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} -# NLS nuisances: We save the old values to restore during execute mode. -lt_user_locale= -lt_safe_locale= -for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES +# NLS nuisances: We save the old values in case they are required later. +_G_user_locale= +_G_safe_locale= +for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do - eval "if test \"\${$lt_var+set}\" = set; then - save_$lt_var=\$$lt_var - $lt_var=C - export $lt_var - lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" - lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" + eval "if test set = \"\${$_G_var+set}\"; then + save_$_G_var=\$$_G_var + $_G_var=C + export $_G_var + _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" + _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" fi" done -LC_ALL=C -LANGUAGE=C -export LANGUAGE LC_ALL -$lt_unset CDPATH +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Make sure IFS has a sensible default +sp=' ' +nl=' +' +IFS="$sp $nl" +# There are apparently some retarded systems that use ';' as a PATH separator! +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" +## ------------------------- ## +## Locate command utilities. ## +## ------------------------- ## + + +# func_executable_p FILE +# ---------------------- +# Check that FILE is an executable regular file. +func_executable_p () +{ + test -f "$1" && test -x "$1" +} + + +# func_path_progs PROGS_LIST CHECK_FUNC [PATH] +# -------------------------------------------- +# Search for either a program that responds to --version with output +# containing "GNU", or else returned by CHECK_FUNC otherwise, by +# trying all the directories in PATH with each of the elements of +# PROGS_LIST. +# +# CHECK_FUNC should accept the path to a candidate program, and +# set $func_check_prog_result if it truncates its output less than +# $_G_path_prog_max characters. +func_path_progs () +{ + _G_progs_list=$1 + _G_check_func=$2 + _G_PATH=${3-"$PATH"} + + _G_path_prog_max=0 + _G_path_prog_found=false + _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} + for _G_dir in $_G_PATH; do + IFS=$_G_save_IFS + test -z "$_G_dir" && _G_dir=. + for _G_prog_name in $_G_progs_list; do + for _exeext in '' .EXE; do + _G_path_prog=$_G_dir/$_G_prog_name$_exeext + func_executable_p "$_G_path_prog" || continue + case `"$_G_path_prog" --version 2>&1` in + *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; + *) $_G_check_func $_G_path_prog + func_path_progs_result=$func_check_prog_result + ;; + esac + $_G_path_prog_found && break 3 + done + done + done + IFS=$_G_save_IFS + test -z "$func_path_progs_result" && { + echo "no acceptable sed could be found in \$PATH" >&2 + exit 1 + } +} + + +# We want to be able to use the functions in this file before configure +# has figured out where the best binaries are kept, which means we have +# to search for them ourselves - except when the results are already set +# where we skip the searches. + +# Unless the user overrides by setting SED, search the path for either GNU +# sed, or the sed that truncates its output the least. +test -z "$SED" && { + _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for _G_i in 1 2 3 4 5 6 7; do + _G_sed_script=$_G_sed_script$nl$_G_sed_script + done + echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed + _G_sed_script= + + func_check_prog_sed () + { + _G_path_prog=$1 + + _G_count=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo '' >> conftest.nl + "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin + rm -f conftest.sed + SED=$func_path_progs_result +} + + +# Unless the user overrides by setting GREP, search the path for either GNU +# grep, or the grep that truncates its output the least. +test -z "$GREP" && { + func_check_prog_grep () + { + _G_path_prog=$1 + + _G_count=0 + _G_path_prog_max=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo 'GREP' >> conftest.nl + "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin + GREP=$func_path_progs_result +} + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# All uppercase variable names are used for environment variables. These +# variables can be overridden by the user before calling a script that +# uses them if a suitable command of that name is not already available +# in the command search PATH. : ${CP="cp -f"} -test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} +: ${ECHO="printf %s\n"} +: ${EGREP="$GREP -E"} +: ${FGREP="$GREP -F"} +: ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} -: ${Xsed="$SED -e 1s/^X//"} - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -exit_status=$EXIT_SUCCESS - -# Make sure IFS has a sensible default -lt_nl=' -' -IFS=" $lt_nl" -dirname="s,/[^/]*$,," -basename="s,^.*/,," -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} # func_dirname may be replaced by extended shell implementation +## -------------------- ## +## Useful sed snippets. ## +## -------------------- ## +sed_dirname='s|/[^/]*$||' +sed_basename='s|^.*/||' -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "${1}" | $SED "$basename"` -} # func_basename may be replaced by extended shell implementation +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s|\([`"$\\]\)|\\\1|g' +# Same as above, but do not quote variable references. +sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi - func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` -} # func_dirname_and_basename may be replaced by extended shell implementation +# Sed substitution that turns a string into a regex matching for the +# string literally. +sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' +# Sed substitution that converts a w32 file name or path +# that contains forward slashes, into one that contains +# (escaped) backslashes. A very naive implementation. +sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname may be replaced by extended shell implementation +# Re-'\' parameter expansions in output of sed_double_quote_subst that +# were '\'-ed in input to the same. If an odd number of '\' preceded a +# '$' in input to sed_double_quote_subst, that '$' was protected from +# expansion. Since each input '\' is now two '\'s, look for any number +# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. +_G_bs='\\' +_G_bs2='\\\\' +_G_bs4='\\\\\\\\' +_G_dollar='\$' +sed_double_backslash="\ + s/$_G_bs4/&\\ +/g + s/^$_G_bs2$_G_dollar/$_G_bs&/ + s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g + s/\n//g" -# These SED scripts presuppose an absolute path with a trailing slash. -pathcar='s,^/\([^/]*\).*$,\1,' -pathcdr='s,^/[^/]*,,' -removedotparts=':dotsl - s@/\./@/@g - t dotsl - s,/\.$,/,' -collapseslashes='s@/\{1,\}@/@g' -finalslash='s,/*$,/,' +## ----------------- ## +## Global variables. ## +## ----------------- ## + +# Except for the global variables explicitly listed below, the following +# functions in the '^func_' namespace, and the '^require_' namespace +# variables initialised in the 'Resource management' section, sourcing +# this file will not pollute your global namespace with anything +# else. There's no portable way to scope variables in Bourne shell +# though, so actually running these functions will sometimes place +# results into a variable named after the function, and often use +# temporary variables in the '^_G_' namespace. If you are careful to +# avoid using those namespaces casually in your sourcing script, things +# should continue to work as you expect. And, of course, you can freely +# overwrite any of the functions or variables defined here before +# calling anything to customize them. -# func_normal_abspath PATH -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -# value returned in "$func_normal_abspath_result" -func_normal_abspath () -{ - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` - while :; do - # Processed it all yet? - if test "$func_normal_abspath_tpath" = / ; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result" ; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. +EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. -# func_relative_path SRCDIR DSTDIR -# generates a relative path from SRCDIR to DSTDIR, with a trailing -# slash if non-empty, suitable for immediately appending a filename -# without needing to append a separator. -# value returned in "$func_relative_path_result" -func_relative_path () -{ - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=${func_dirname_result} - if test "x$func_relative_path_tlibdir" = x ; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done +# Allow overriding, eg assuming that you follow the convention of +# putting '$debug_cmd' at the start of all your functions, you can get +# bash to show function call trace with: +# +# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name +debug_cmd=${debug_cmd-":"} +exit_cmd=: - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test "x$func_stripname_result" != x ; then - func_relative_path_result=${func_relative_path_result}/${func_stripname_result} - fi +# By convention, finish your script with: +# +# exit $exit_status +# +# so that you can set exit_status to non-zero if you want to indicate +# something went wrong during execution without actually bailing out at +# the point of failure. +exit_status=$EXIT_SUCCESS - # Normalisation. If bindir is libdir, return empty string, - # else relative path ending with a slash; either way, target - # file name can be directly appended. - if test ! -z "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result/" - func_relative_path_result=$func_stripname_result - fi -} +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath=$0 -# The name of this program: -func_dirname_and_basename "$progpath" -progname=$func_basename_result +# The name of this program. +progname=`$ECHO "$progpath" |$SED "$sed_basename"` -# Make sure we have an absolute path for reexecution: +# Make sure we have an absolute progpath for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) - progdir=$func_dirname_result + progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` progdir=`cd "$progdir" && pwd` - progpath="$progdir/$progname" + progpath=$progdir/$progname ;; *) - save_IFS="$IFS" + _G_IFS=$IFS IFS=${PATH_SEPARATOR-:} for progdir in $PATH; do - IFS="$save_IFS" + IFS=$_G_IFS test -x "$progdir/$progname" && break done - IFS="$save_IFS" + IFS=$_G_IFS test -n "$progdir" || progdir=`pwd` - progpath="$progdir/$progname" + progpath=$progdir/$progname ;; esac -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed="${SED}"' -e 1s/^X//' -sed_quote_subst='s/\([`"$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' -# Sed substitution that converts a w32 file name or path -# which contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-`\' parameter expansions in output of double_quote_subst that were -# `\'-ed in input to the same. If an odd number of `\' preceded a '$' -# in input to double_quote_subst, that '$' was protected from expansion. -# Since each input `\' is now two `\'s, look for any number of runs of -# four `\'s followed by two `\'s and then a '$'. `\' that '$'. -bs='\\' -bs2='\\\\' -bs4='\\\\\\\\' -dollar='\$' -sed_double_backslash="\ - s/$bs4/&\\ -/g - s/^$bs2$dollar/$bs&/ - s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g - s/\n//g" +## ----------------- ## +## Standard options. ## +## ----------------- ## + +# The following options affect the operation of the functions defined +# below, and should be set appropriately depending on run-time para- +# meters passed on the command line. -# Standard options: opt_dry_run=false -opt_help=false opt_quiet=false opt_verbose=false -opt_warning=: - -# func_echo arg... -# Echo program name prefixed message, along with the current mode -# name if it has been set yet. -func_echo () -{ - $ECHO "$progname: ${opt_mode+$opt_mode: }$*" -} -# func_verbose arg... -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $opt_verbose && func_echo ${1+"$@"} +# Categories 'all' and 'none' are always available. Append any others +# you will pass as the first argument to func_warning from your own +# code. +warning_categories= + +# By default, display warnings according to 'opt_warning_types'. Set +# 'warning_func' to ':' to elide all warnings, or func_fatal_error to +# treat the next displayed warning as a fatal error. +warning_func=func_warn_and_continue + +# Set to 'all' to display all warnings, 'none' to suppress all +# warnings, or a space delimited list of some subset of +# 'warning_categories' to display only the listed warnings. +opt_warning_types=all + + +## -------------------- ## +## Resource management. ## +## -------------------- ## + +# This section contains definitions for functions that each ensure a +# particular resource (a file, or a non-empty configuration variable for +# example) is available, and if appropriate to extract default values +# from pertinent package files. Call them using their associated +# 'require_*' variable to ensure that they are executed, at most, once. +# +# It's entirely deliberate that calling these functions can set +# variables that don't obey the namespace limitations obeyed by the rest +# of this file, in order that that they be as useful as possible to +# callers. + + +# require_term_colors +# ------------------- +# Allow display of bold text on terminals that support it. +require_term_colors=func_require_term_colors +func_require_term_colors () +{ + $debug_cmd + + test -t 1 && { + # COLORTERM and USE_ANSI_COLORS environment variables take + # precedence, because most terminfo databases neglect to describe + # whether color sequences are supported. + test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} + + if test 1 = "$USE_ANSI_COLORS"; then + # Standard ANSI escape sequences + tc_reset='' + tc_bold=''; tc_standout='' + tc_red=''; tc_green='' + tc_blue=''; tc_cyan='' + else + # Otherwise trust the terminfo database after all. + test -n "`tput sgr0 2>/dev/null`" && { + tc_reset=`tput sgr0` + test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` + tc_standout=$tc_bold + test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` + test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` + test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` + test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` + test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` + } + fi + } - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : + require_term_colors=: } -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} -# func_error arg... -# Echo program name prefixed message to standard error. -func_error () -{ - $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 -} +## ----------------- ## +## Function library. ## +## ----------------- ## -# func_warning arg... -# Echo program name prefixed warning message to standard error. -func_warning () -{ - $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 +# This section contains a variety of useful functions to call in your +# scripts. Take note of the portable wrappers for features provided by +# some modern shells, which will fall back to slower equivalents on +# less featureful shells. - # bash bug again: - : -} -# func_fatal_error arg... -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - func_error ${1+"$@"} - exit $EXIT_FAILURE -} +# func_append VAR VALUE +# --------------------- +# Append VALUE onto the existing contents of VAR. -# func_fatal_help arg... -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - func_error ${1+"$@"} - func_fatal_error "$help" -} -help="Try \`$progname --help' for more information." ## default + # We should try to minimise forks, especially on Windows where they are + # unreasonably slow, so skip the feature probes when bash or zsh are + # being used: + if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then + : ${_G_HAVE_ARITH_OP="yes"} + : ${_G_HAVE_XSI_OPS="yes"} + # The += operator was introduced in bash 3.1 + case $BASH_VERSION in + [12].* | 3.0 | 3.0*) ;; + *) + : ${_G_HAVE_PLUSEQ_OP="yes"} + ;; + esac + fi + # _G_HAVE_PLUSEQ_OP + # Can be empty, in which case the shell is probed, "yes" if += is + # useable or anything else if it does not work. + test -z "$_G_HAVE_PLUSEQ_OP" \ + && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ + && _G_HAVE_PLUSEQ_OP=yes + +if test yes = "$_G_HAVE_PLUSEQ_OP" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_append () + { + $debug_cmd + + eval "$1+=\$2" + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_append () + { + $debug_cmd + + eval "$1=\$$1\$2" + } +fi + + +# func_append_quoted VAR VALUE +# ---------------------------- +# Quote VALUE and append to the end of shell variable VAR, separated +# by a space. +if test yes = "$_G_HAVE_PLUSEQ_OP"; then + eval 'func_append_quoted () + { + $debug_cmd + + func_quote_for_eval "$2" + eval "$1+=\\ \$func_quote_for_eval_result" + }' +else + func_append_quoted () + { + $debug_cmd + + func_quote_for_eval "$2" + eval "$1=\$$1\\ \$func_quote_for_eval_result" + } +fi + + +# func_append_uniq VAR VALUE +# -------------------------- +# Append unique VALUE onto the existing contents of VAR, assuming +# entries are delimited by the first character of VALUE. For example: +# +# func_append_uniq options " --another-option option-argument" +# +# will only append to $options if " --another-option option-argument " +# is not already present somewhere in $options already (note spaces at +# each end implied by leading space in second argument). +func_append_uniq () +{ + $debug_cmd + + eval _G_current_value='`$ECHO $'$1'`' + _G_delim=`expr "$2" : '\(.\)'` + + case $_G_delim$_G_current_value$_G_delim in + *"$2$_G_delim"*) ;; + *) func_append "$@" ;; + esac +} + + +# func_arith TERM... +# ------------------ +# Set func_arith_result to the result of evaluating TERMs. + test -z "$_G_HAVE_ARITH_OP" \ + && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ + && _G_HAVE_ARITH_OP=yes + +if test yes = "$_G_HAVE_ARITH_OP"; then + eval 'func_arith () + { + $debug_cmd + + func_arith_result=$(( $* )) + }' +else + func_arith () + { + $debug_cmd + + func_arith_result=`expr "$@"` + } +fi + + +# func_basename FILE +# ------------------ +# Set func_basename_result to FILE with everything up to and including +# the last / stripped. +if test yes = "$_G_HAVE_XSI_OPS"; then + # If this shell supports suffix pattern removal, then use it to avoid + # forking. Hide the definitions single quotes in case the shell chokes + # on unsupported syntax... + _b='func_basename_result=${1##*/}' + _d='case $1 in + */*) func_dirname_result=${1%/*}$2 ;; + * ) func_dirname_result=$3 ;; + esac' + +else + # ...otherwise fall back to using sed. + _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' + _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` + if test "X$func_dirname_result" = "X$1"; then + func_dirname_result=$3 + else + func_append func_dirname_result "$2" + fi' +fi + +eval 'func_basename () +{ + $debug_cmd + + '"$_b"' +}' + + +# func_dirname FILE APPEND NONDIR_REPLACEMENT +# ------------------------------------------- +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +eval 'func_dirname () +{ + $debug_cmd -# func_grep expression filename + '"$_d"' +}' + + +# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT +# -------------------------------------------------------- +# Perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# For efficiency, we do not delegate to the functions above but instead +# duplicate the functionality here. +eval 'func_dirname_and_basename () +{ + $debug_cmd + + '"$_b"' + '"$_d"' +}' + + +# func_echo ARG... +# ---------------- +# Echo program name prefixed message. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_echo_all ARG... +# -------------------- +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + + +# func_echo_infix_1 INFIX ARG... +# ------------------------------ +# Echo program name, followed by INFIX on the first line, with any +# additional lines not showing INFIX. +func_echo_infix_1 () +{ + $debug_cmd + + $require_term_colors + + _G_infix=$1; shift + _G_indent=$_G_infix + _G_prefix="$progname: $_G_infix: " + _G_message=$* + + # Strip color escape sequences before counting printable length + for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" + do + test -n "$_G_tc" && { + _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` + _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` + } + done + _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes + + func_echo_infix_1_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_infix_1_IFS + $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 + _G_prefix=$_G_indent + done + IFS=$func_echo_infix_1_IFS +} + + +# func_error ARG... +# ----------------- +# Echo program name prefixed message to standard error. +func_error () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 +} + + +# func_fatal_error ARG... +# ----------------------- +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + $debug_cmd + + func_error "$*" + exit $EXIT_FAILURE +} + + +# func_grep EXPRESSION FILENAME +# ----------------------------- # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { + $debug_cmd + $GREP "$1" "$2" >/dev/null 2>&1 } -# func_mkdir_p directory-path +# func_len STRING +# --------------- +# Set func_len_result to the length of STRING. STRING may not +# start with a hyphen. + test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_len () + { + $debug_cmd + + func_len_result=${#1} + }' +else + func_len () + { + $debug_cmd + + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` + } +fi + + +# func_mkdir_p DIRECTORY-PATH +# --------------------------- # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { - my_directory_path="$1" - my_dir_list= + $debug_cmd + + _G_directory_path=$1 + _G_dir_list= - if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then + if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then - # Protect directory names starting with `-' - case $my_directory_path in - -*) my_directory_path="./$my_directory_path" ;; + # Protect directory names starting with '-' + case $_G_directory_path in + -*) _G_directory_path=./$_G_directory_path ;; esac # While some portion of DIR does not yet exist... - while test ! -d "$my_directory_path"; do + while test ! -d "$_G_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. - my_dir_list="$my_directory_path:$my_dir_list" + _G_dir_list=$_G_directory_path:$_G_dir_list # If the last portion added has no slash in it, the list is done - case $my_directory_path in */*) ;; *) break ;; esac + case $_G_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop - my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` + _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` done - my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` + _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` - save_mkdir_p_IFS="$IFS"; IFS=':' - for my_dir in $my_dir_list; do - IFS="$save_mkdir_p_IFS" - # mkdir can fail with a `File exist' error if two processes + func_mkdir_p_IFS=$IFS; IFS=: + for _G_dir in $_G_dir_list; do + IFS=$func_mkdir_p_IFS + # mkdir can fail with a 'File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! - $MKDIR "$my_dir" 2>/dev/null || : + $MKDIR "$_G_dir" 2>/dev/null || : done - IFS="$save_mkdir_p_IFS" + IFS=$func_mkdir_p_IFS # Bail out if we (or some other process) failed to create a directory. - test -d "$my_directory_path" || \ - func_fatal_error "Failed to create \`$1'" + test -d "$_G_directory_path" || \ + func_fatal_error "Failed to create '$1'" fi } -# func_mktempdir [string] +# func_mktempdir [BASENAME] +# ------------------------- # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. +# given, BASENAME is the basename for that directory. func_mktempdir () { - my_template="${TMPDIR-/tmp}/${1-$progname}" + $debug_cmd + + _G_template=${TMPDIR-/tmp}/${1-$progname} - if test "$opt_dry_run" = ":"; then + if test : = "$opt_dry_run"; then # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" + _G_tmpdir=$_G_template-$$ else # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` - if test ! -d "$my_tmpdir"; then + if test ! -d "$_G_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" + _G_tmpdir=$_G_template-${RANDOM-0}$$ + + func_mktempdir_umask=`umask` + umask 0077 + $MKDIR "$_G_tmpdir" + umask $func_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$_G_tmpdir" || \ + func_fatal_error "cannot create temporary directory '$_G_tmpdir'" + fi + + $ECHO "$_G_tmpdir" +} + + +# func_normal_abspath PATH +# ------------------------ +# Remove doubled-up and trailing slashes, "." path components, +# and cancel out any ".." path components in PATH after making +# it an absolute path. +func_normal_abspath () +{ + $debug_cmd + + # These SED scripts presuppose an absolute path with a trailing slash. + _G_pathcar='s|^/\([^/]*\).*$|\1|' + _G_pathcdr='s|^/[^/]*||' + _G_removedotparts=':dotsl + s|/\./|/|g + t dotsl + s|/\.$|/|' + _G_collapseslashes='s|/\{1,\}|/|g' + _G_finalslash='s|/*$|/|' + + # Start from root dir and reassemble the path. + func_normal_abspath_result= + func_normal_abspath_tpath=$1 + func_normal_abspath_altnamespace= + case $func_normal_abspath_tpath in + "") + # Empty path, that just means $cwd. + func_stripname '' '/' "`pwd`" + func_normal_abspath_result=$func_stripname_result + return + ;; + # The next three entries are used to spot a run of precisely + # two leading slashes without using negated character classes; + # we take advantage of case's first-match behaviour. + ///*) + # Unusual form of absolute path, do nothing. + ;; + //*) + # Not necessarily an ordinary path; POSIX reserves leading '//' + # and for example Cygwin uses it to access remote file shares + # over CIFS/SMB, so we conserve a leading double slash if found. + func_normal_abspath_altnamespace=/ + ;; + /*) + # Absolute path, do nothing. + ;; + *) + # Relative path, prepend $cwd. + func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath + ;; + esac + + # Cancel out all the simple stuff to save iterations. We also want + # the path to end with a slash for ease of parsing, so make sure + # there is one (and only one) here. + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` + while :; do + # Processed it all yet? + if test / = "$func_normal_abspath_tpath"; then + # If we ascended to the root using ".." the result may be empty now. + if test -z "$func_normal_abspath_result"; then + func_normal_abspath_result=/ + fi + break + fi + func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcar"` + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcdr"` + # Figure out what to do with it + case $func_normal_abspath_tcomponent in + "") + # Trailing empty path component, ignore it. + ;; + ..) + # Parent dir; strip last assembled component from result. + func_dirname "$func_normal_abspath_result" + func_normal_abspath_result=$func_dirname_result + ;; + *) + # Actual path component, append it. + func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" + ;; + esac + done + # Restore leading double-slash if one was found on entry. + func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result +} + + +# func_notquiet ARG... +# -------------------- +# Echo program name prefixed message only when not in quiet mode. +func_notquiet () +{ + $debug_cmd + + $opt_quiet || func_echo ${1+"$@"} + + # A bug in bash halts the script if the last line of a function + # fails when set -e is in force, so we need another command to + # work around that: + : +} + + +# func_relative_path SRCDIR DSTDIR +# -------------------------------- +# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. +func_relative_path () +{ + $debug_cmd + + func_relative_path_result= + func_normal_abspath "$1" + func_relative_path_tlibdir=$func_normal_abspath_result + func_normal_abspath "$2" + func_relative_path_tbindir=$func_normal_abspath_result + + # Ascend the tree starting from libdir + while :; do + # check if we have found a prefix of bindir + case $func_relative_path_tbindir in + $func_relative_path_tlibdir) + # found an exact match + func_relative_path_tcancelled= + break + ;; + $func_relative_path_tlibdir*) + # found a matching prefix + func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" + func_relative_path_tcancelled=$func_stripname_result + if test -z "$func_relative_path_result"; then + func_relative_path_result=. + fi + break + ;; + *) + func_dirname $func_relative_path_tlibdir + func_relative_path_tlibdir=$func_dirname_result + if test -z "$func_relative_path_tlibdir"; then + # Have to descend all the way to the root! + func_relative_path_result=../$func_relative_path_result + func_relative_path_tcancelled=$func_relative_path_tbindir + break + fi + func_relative_path_result=../$func_relative_path_result + ;; + esac + done + + # Now calculate path; take care to avoid doubling-up slashes. + func_stripname '' '/' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + func_stripname '/' '/' "$func_relative_path_tcancelled" + if test -n "$func_stripname_result"; then + func_append func_relative_path_result "/$func_stripname_result" + fi + + # Normalisation. If bindir is libdir, return '.' else relative path. + if test -n "$func_relative_path_result"; then + func_stripname './' '' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + fi + + test -n "$func_relative_path_result" || func_relative_path_result=. + + : +} + + +# func_quote_for_eval ARG... +# -------------------------- +# Aesthetically quote ARGs to be evaled later. +# This function returns two values: +# i) func_quote_for_eval_result +# double-quoted, suitable for a subsequent eval +# ii) func_quote_for_eval_unquoted_result +# has all characters that are still active within double +# quotes backslashified. +func_quote_for_eval () +{ + $debug_cmd + + func_quote_for_eval_unquoted_result= + func_quote_for_eval_result= + while test 0 -lt $#; do + case $1 in + *[\\\`\"\$]*) + _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; + *) + _G_unquoted_arg=$1 ;; + esac + if test -n "$func_quote_for_eval_unquoted_result"; then + func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" + else + func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" + fi + + case $_G_unquoted_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + _G_quoted_arg=\"$_G_unquoted_arg\" + ;; + *) + _G_quoted_arg=$_G_unquoted_arg + ;; + esac + + if test -n "$func_quote_for_eval_result"; then + func_append func_quote_for_eval_result " $_G_quoted_arg" + else + func_append func_quote_for_eval_result "$_G_quoted_arg" + fi + shift + done +} + + +# func_quote_for_expand ARG +# ------------------------- +# Aesthetically quote ARG to be evaled later; same as above, +# but do not quote variable references. +func_quote_for_expand () +{ + $debug_cmd + + case $1 in + *[\\\`\"]*) + _G_arg=`$ECHO "$1" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; + *) + _G_arg=$1 ;; + esac + + case $_G_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting and command substitution for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + _G_arg=\"$_G_arg\" + ;; + esac + + func_quote_for_expand_result=$_G_arg +} + + +# func_stripname PREFIX SUFFIX NAME +# --------------------------------- +# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_stripname () + { + $debug_cmd + + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary variable first. + func_stripname_result=$3 + func_stripname_result=${func_stripname_result#"$1"} + func_stripname_result=${func_stripname_result%"$2"} + }' +else + func_stripname () + { + $debug_cmd + + case $2 in + .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; + *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; + esac + } +fi + + +# func_show_eval CMD [FAIL_EXP] +# ----------------------------- +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. +func_show_eval () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + func_quote_for_expand "$_G_cmd" + eval "func_notquiet $func_quote_for_expand_result" + + $opt_dry_run || { + eval "$_G_cmd" + _G_status=$? + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_show_eval_locale CMD [FAIL_EXP] +# ------------------------------------ +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. Use the saved locale for evaluation. +func_show_eval_locale () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + $opt_quiet || { + func_quote_for_expand "$_G_cmd" + eval "func_echo $func_quote_for_expand_result" + } + + $opt_dry_run || { + eval "$_G_user_locale + $_G_cmd" + _G_status=$? + eval "$_G_safe_locale" + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_tr_sh +# ---------- +# Turn $1 into a string suitable for a shell variable name. +# Result is stored in $func_tr_sh_result. All characters +# not in the set a-zA-Z0-9_ are replaced with '_'. Further, +# if $1 begins with a digit, a '_' is prepended as well. +func_tr_sh () +{ + $debug_cmd + + case $1 in + [0-9]* | *[!a-zA-Z0-9_]*) + func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` + ;; + * ) + func_tr_sh_result=$1 + ;; + esac +} + + +# func_verbose ARG... +# ------------------- +# Echo program name prefixed message in verbose mode only. +func_verbose () +{ + $debug_cmd + + $opt_verbose && func_echo "$*" + + : +} + + +# func_warn_and_continue ARG... +# ----------------------------- +# Echo program name prefixed warning message to standard error. +func_warn_and_continue () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 +} + + +# func_warning CATEGORY ARG... +# ---------------------------- +# Echo program name prefixed warning message to standard error. Warning +# messages can be filtered according to CATEGORY, where this function +# elides messages where CATEGORY is not listed in the global variable +# 'opt_warning_types'. +func_warning () +{ + $debug_cmd + + # CATEGORY must be in the warning_categories list! + case " $warning_categories " in + *" $1 "*) ;; + *) func_internal_error "invalid warning category '$1'" ;; + esac + + _G_category=$1 + shift + + case " $opt_warning_types " in + *" $_G_category "*) $warning_func ${1+"$@"} ;; + esac +} + + +# func_sort_ver VER1 VER2 +# ----------------------- +# 'sort -V' is not generally available. +# Note this deviates from the version comparison in automake +# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a +# but this should suffice as we won't be specifying old +# version formats or redundant trailing .0 in bootstrap.conf. +# If we did want full compatibility then we should probably +# use m4_version_compare from autoconf. +func_sort_ver () +{ + $debug_cmd + + printf '%s\n%s\n' "$1" "$2" \ + | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n +} + +# func_lt_ver PREV CURR +# --------------------- +# Return true if PREV and CURR are in the correct order according to +# func_sort_ver, otherwise false. Use it like this: +# +# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." +func_lt_ver () +{ + $debug_cmd + + test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: +#! /bin/sh + +# Set a version string for this script. +scriptversion=2014-01-07.03; # UTC + +# A portable, pluggable option parser for Bourne shell. +# Written by Gary V. Vaughan, 2010 + +# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# 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. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Please report bugs or propose patches to gary@gnu.org. + + +## ------ ## +## Usage. ## +## ------ ## + +# This file is a library for parsing options in your shell scripts along +# with assorted other useful supporting features that you can make use +# of too. +# +# For the simplest scripts you might need only: +# +# #!/bin/sh +# . relative/path/to/funclib.sh +# . relative/path/to/options-parser +# scriptversion=1.0 +# func_options ${1+"$@"} +# eval set dummy "$func_options_result"; shift +# ...rest of your script... +# +# In order for the '--version' option to work, you will need to have a +# suitably formatted comment like the one at the top of this file +# starting with '# Written by ' and ending with '# warranty; '. +# +# For '-h' and '--help' to work, you will also need a one line +# description of your script's purpose in a comment directly above the +# '# Written by ' line, like the one at the top of this file. +# +# The default options also support '--debug', which will turn on shell +# execution tracing (see the comment above debug_cmd below for another +# use), and '--verbose' and the func_verbose function to allow your script +# to display verbose messages only when your user has specified +# '--verbose'. +# +# After sourcing this file, you can plug processing for additional +# options by amending the variables from the 'Configuration' section +# below, and following the instructions in the 'Option parsing' +# section further down. + +## -------------- ## +## Configuration. ## +## -------------- ## + +# You should override these variables in your script after sourcing this +# file so that they reflect the customisations you have added to the +# option parser. + +# The usage line for option parsing errors and the start of '-h' and +# '--help' output messages. You can embed shell variables for delayed +# expansion at the time the message is displayed, but you will need to +# quote other shell meta-characters carefully to prevent them being +# expanded when the contents are evaled. +usage='$progpath [OPTION]...' + +# Short help message in response to '-h' and '--help'. Add to this or +# override it after sourcing this library to reflect the full set of +# options your script accepts. +usage_message="\ + --debug enable verbose shell tracing + -W, --warnings=CATEGORY + report the warnings falling in CATEGORY [all] + -v, --verbose verbosely report processing + --version print version information and exit + -h, --help print short or long help message and exit +" + +# Additional text appended to 'usage_message' in response to '--help'. +long_help_message=" +Warning categories include: + 'all' show all warnings + 'none' turn off all the warnings + 'error' warnings are treated as fatal errors" + +# Help message printed before fatal option parsing errors. +fatal_help="Try '\$progname --help' for more information." + + + +## ------------------------- ## +## Hook function management. ## +## ------------------------- ## + +# This section contains functions for adding, removing, and running hooks +# to the main code. A hook is just a named list of of function, that can +# be run in order later on. + +# func_hookable FUNC_NAME +# ----------------------- +# Declare that FUNC_NAME will run hooks added with +# 'func_add_hook FUNC_NAME ...'. +func_hookable () +{ + $debug_cmd + + func_append hookable_fns " $1" +} + + +# func_add_hook FUNC_NAME HOOK_FUNC +# --------------------------------- +# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must +# first have been declared "hookable" by a call to 'func_hookable'. +func_add_hook () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not accept hook functions." ;; + esac + + eval func_append ${1}_hooks '" $2"' +} + + +# func_remove_hook FUNC_NAME HOOK_FUNC +# ------------------------------------ +# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. +func_remove_hook () +{ + $debug_cmd + + eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' +} + + +# func_run_hooks FUNC_NAME [ARG]... +# --------------------------------- +# Run all hook functions registered to FUNC_NAME. +# It is assumed that the list of hook functions contains nothing more +# than a whitespace-delimited list of legal shell function names, and +# no effort is wasted trying to catch shell meta-characters or preserve +# whitespace. +func_run_hooks () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not support hook funcions.n" ;; + esac + + eval _G_hook_fns=\$$1_hooks; shift + + for _G_hook in $_G_hook_fns; do + eval $_G_hook '"$@"' + + # store returned options list back into positional + # parameters for next 'cmd' execution. + eval _G_hook_result=\$${_G_hook}_result + eval set dummy "$_G_hook_result"; shift + done + + func_quote_for_eval ${1+"$@"} + func_run_hooks_result=$func_quote_for_eval_result +} + + + +## --------------- ## +## Option parsing. ## +## --------------- ## + +# In order to add your own option parsing hooks, you must accept the +# full positional parameter list in your hook function, remove any +# options that you action, and then pass back the remaining unprocessed +# options in '_result', escaped suitably for +# 'eval'. Like this: +# +# my_options_prep () +# { +# $debug_cmd +# +# # Extend the existing usage message. +# usage_message=$usage_message' +# -s, --silent don'\''t print informational messages +# ' +# +# func_quote_for_eval ${1+"$@"} +# my_options_prep_result=$func_quote_for_eval_result +# } +# func_add_hook func_options_prep my_options_prep +# +# +# my_silent_option () +# { +# $debug_cmd +# +# # Note that for efficiency, we parse as many options as we can +# # recognise in a loop before passing the remainder back to the +# # caller on the first unrecognised argument we encounter. +# while test $# -gt 0; do +# opt=$1; shift +# case $opt in +# --silent|-s) opt_silent=: ;; +# # Separate non-argument short options: +# -s*) func_split_short_opt "$_G_opt" +# set dummy "$func_split_short_opt_name" \ +# "-$func_split_short_opt_arg" ${1+"$@"} +# shift +# ;; +# *) set dummy "$_G_opt" "$*"; shift; break ;; +# esac +# done +# +# func_quote_for_eval ${1+"$@"} +# my_silent_option_result=$func_quote_for_eval_result +# } +# func_add_hook func_parse_options my_silent_option +# +# +# my_option_validation () +# { +# $debug_cmd +# +# $opt_silent && $opt_verbose && func_fatal_help "\ +# '--silent' and '--verbose' options are mutually exclusive." +# +# func_quote_for_eval ${1+"$@"} +# my_option_validation_result=$func_quote_for_eval_result +# } +# func_add_hook func_validate_options my_option_validation +# +# You'll alse need to manually amend $usage_message to reflect the extra +# options you parse. It's preferable to append if you can, so that +# multiple option parsing hooks can be added safely. + + +# func_options [ARG]... +# --------------------- +# All the functions called inside func_options are hookable. See the +# individual implementations for details. +func_hookable func_options +func_options () +{ + $debug_cmd - save_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$my_tmpdir" - umask $save_mktempdir_umask - fi + func_options_prep ${1+"$@"} + eval func_parse_options \ + ${func_options_prep_result+"$func_options_prep_result"} + eval func_validate_options \ + ${func_parse_options_result+"$func_parse_options_result"} - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || \ - func_fatal_error "cannot create temporary directory \`$my_tmpdir'" - fi + eval func_run_hooks func_options \ + ${func_validate_options_result+"$func_validate_options_result"} - $ECHO "$my_tmpdir" + # save modified positional parameters for caller + func_options_result=$func_run_hooks_result } -# func_quote_for_eval arg -# Aesthetically quote ARG to be evaled later. -# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT -# is double-quoted, suitable for a subsequent eval, whereas -# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters -# which are still active within double quotes backslashified. -func_quote_for_eval () +# func_options_prep [ARG]... +# -------------------------- +# All initialisations required before starting the option parse loop. +# Note that when calling hook functions, we pass through the list of +# positional parameters. If a hook function modifies that list, and +# needs to propogate that back to rest of this script, then the complete +# modified list must be put in 'func_run_hooks_result' before +# returning. +func_hookable func_options_prep +func_options_prep () { - case $1 in - *[\\\`\"\$]*) - func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; - *) - func_quote_for_eval_unquoted_result="$1" ;; - esac + $debug_cmd - case $func_quote_for_eval_unquoted_result in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and and variable - # expansion for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" - ;; - *) - func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" - esac + # Option defaults: + opt_verbose=false + opt_warning_types= + + func_run_hooks func_options_prep ${1+"$@"} + + # save modified positional parameters for caller + func_options_prep_result=$func_run_hooks_result } -# func_quote_for_expand arg -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () +# func_parse_options [ARG]... +# --------------------------- +# The main option parsing loop. +func_hookable func_parse_options +func_parse_options () { - case $1 in - *[\\\`\"]*) - my_arg=`$ECHO "$1" | $SED \ - -e "$double_quote_subst" -e "$sed_double_backslash"` ;; - *) - my_arg="$1" ;; - esac + $debug_cmd - case $my_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - my_arg="\"$my_arg\"" - ;; - esac + func_parse_options_result= - func_quote_for_expand_result="$my_arg" -} + # this just eases exit handling + while test $# -gt 0; do + # Defer to hook functions for initial option parsing, so they + # get priority in the event of reusing an option name. + func_run_hooks func_parse_options ${1+"$@"} + # Adjust func_parse_options positional parameters to match + eval set dummy "$func_run_hooks_result"; shift -# func_show_eval cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - my_cmd="$1" - my_fail_exp="${2-:}" + # Break out of the loop if we already parsed every option. + test $# -gt 0 || break - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } + _G_opt=$1 + shift + case $_G_opt in + --debug|-x) debug_cmd='set -x' + func_echo "enabling shell trace mode" + $debug_cmd + ;; + + --no-warnings|--no-warning|--no-warn) + set dummy --warnings none ${1+"$@"} + shift + ;; - if ${opt_dry_run-false}; then :; else - eval "$my_cmd" - my_status=$? - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi + --warnings|--warning|-W) + test $# = 0 && func_missing_arg $_G_opt && break + case " $warning_categories $1" in + *" $1 "*) + # trailing space prevents matching last $1 above + func_append_uniq opt_warning_types " $1" + ;; + *all) + opt_warning_types=$warning_categories + ;; + *none) + opt_warning_types=none + warning_func=: + ;; + *error) + opt_warning_types=$warning_categories + warning_func=func_fatal_error + ;; + *) + func_fatal_error \ + "unsupported warning category: '$1'" + ;; + esac + shift + ;; + + --verbose|-v) opt_verbose=: ;; + --version) func_version ;; + -\?|-h) func_usage ;; + --help) func_help ;; + + # Separate optargs to long options (plugins may need this): + --*=*) func_split_equals "$_G_opt" + set dummy "$func_split_equals_lhs" \ + "$func_split_equals_rhs" ${1+"$@"} + shift + ;; + + # Separate optargs to short options: + -W*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + # Separate non-argument short options: + -\?*|-h*|-v*|-x*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "-$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + --) break ;; + -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + esac + done + + # save modified positional parameters for caller + func_quote_for_eval ${1+"$@"} + func_parse_options_result=$func_quote_for_eval_result } -# func_show_eval_locale cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () +# func_validate_options [ARG]... +# ------------------------------ +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +func_hookable func_validate_options +func_validate_options () { - my_cmd="$1" - my_fail_exp="${2-:}" + $debug_cmd - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } + # Display all warnings if -W was not given. + test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - if ${opt_dry_run-false}; then :; else - eval "$lt_user_locale - $my_cmd" - my_status=$? - eval "$lt_safe_locale" - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} + func_run_hooks func_validate_options ${1+"$@"} -# func_tr_sh -# Turn $1 into a string suitable for a shell variable name. -# Result is stored in $func_tr_sh_result. All characters -# not in the set a-zA-Z0-9_ are replaced with '_'. Further, -# if $1 begins with a digit, a '_' is prepended as well. -func_tr_sh () -{ - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac + # Bail if the options were screwed! + $exit_cmd $EXIT_FAILURE + + # save modified positional parameters for caller + func_validate_options_result=$func_run_hooks_result } -# func_version -# Echo version message to standard output and exit. -func_version () -{ - $opt_debug - $SED -n '/(C)/!b go - :more - /\./!{ - N - s/\n# / / - b more - } - :go - /^# '$PROGRAM' (GNU /,/# warranty; / { - s/^# // - s/^# *$// - s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ - p - }' < "$progpath" - exit $? -} +## ----------------- ## +## Helper functions. ## +## ----------------- ## -# func_usage -# Echo short help message to standard output and exit. -func_usage () +# This section contains the helper functions used by the rest of the +# hookable option parser framework in ascii-betical order. + + +# func_fatal_help ARG... +# ---------------------- +# Echo program name prefixed message to standard error, followed by +# a help hint, and exit. +func_fatal_help () { - $opt_debug + $debug_cmd - $SED -n '/^# Usage:/,/^# *.*--help/ { - s/^# // - s/^# *$// - s/\$progname/'$progname'/ - p - }' < "$progpath" - echo - $ECHO "run \`$progname --help | more' for full usage" - exit $? + eval \$ECHO \""Usage: $usage"\" + eval \$ECHO \""$fatal_help"\" + func_error ${1+"$@"} + exit $EXIT_FAILURE } -# func_help [NOEXIT] -# Echo long help message to standard output and exit, -# unless 'noexit' is passed as argument. + +# func_help +# --------- +# Echo long help message to standard output and exit. func_help () { - $opt_debug + $debug_cmd - $SED -n '/^# Usage:/,/# Report bugs to/ { - :print - s/^# // - s/^# *$// - s*\$progname*'$progname'* - s*\$host*'"$host"'* - s*\$SHELL*'"$SHELL"'* - s*\$LTCC*'"$LTCC"'* - s*\$LTCFLAGS*'"$LTCFLAGS"'* - s*\$LD*'"$LD"'* - s/\$with_gnu_ld/'"$with_gnu_ld"'/ - s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ - s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ - p - d - } - /^# .* home page:/b print - /^# General help using/b print - ' < "$progpath" - ret=$? - if test -z "$1"; then - exit $ret - fi + func_usage_message + $ECHO "$long_help_message" + exit 0 } -# func_missing_arg argname + +# func_missing_arg ARGNAME +# ------------------------ # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { - $opt_debug + $debug_cmd - func_error "missing argument for $1." + func_error "Missing argument for '$1'." exit_cmd=exit } -# func_split_short_opt shortopt +# func_split_equals STRING +# ------------------------ +# Set func_split_equals_lhs and func_split_equals_rhs shell variables after +# splitting STRING at the '=' sign. +test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=${1%%=*} + func_split_equals_rhs=${1#*=} + test "x$func_split_equals_lhs" = "x$1" \ + && func_split_equals_rhs= + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` + func_split_equals_rhs= + test "x$func_split_equals_lhs" = "x$1" \ + || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` + } +fi #func_split_equals + + +# func_split_short_opt SHORTOPT +# ----------------------------- # Set func_split_short_opt_name and func_split_short_opt_arg shell # variables after splitting SHORTOPT after the 2nd character. -func_split_short_opt () +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_arg=${1#??} + func_split_short_opt_name=${1%"$func_split_short_opt_arg"} + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` + func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` + } +fi #func_split_short_opt + + +# func_usage +# ---------- +# Echo short help message to standard output and exit. +func_usage () { - my_sed_short_opt='1s/^\(..\).*$/\1/;q' - my_sed_short_rest='1s/^..\(.*\)$/\1/;q' + $debug_cmd - func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` - func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` -} # func_split_short_opt may be replaced by extended shell implementation + func_usage_message + $ECHO "Run '$progname --help |${PAGER-more}' for full usage" + exit 0 +} -# func_split_long_opt longopt -# Set func_split_long_opt_name and func_split_long_opt_arg shell -# variables after splitting LONGOPT at the `=' sign. -func_split_long_opt () +# func_usage_message +# ------------------ +# Echo short help message to standard output. +func_usage_message () { - my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' - my_sed_long_arg='1s/^--[^=]*=//' + $debug_cmd - func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` - func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` -} # func_split_long_opt may be replaced by extended shell implementation + eval \$ECHO \""Usage: $usage"\" + echo + $SED -n 's|^# || + /^Written by/{ + x;p;x + } + h + /^Written by/q' < "$progpath" + echo + eval \$ECHO \""$usage_message"\" +} -exit_cmd=: +# func_version +# ------------ +# Echo version message to standard output and exit. +func_version () +{ + $debug_cmd + printf '%s\n' "$progname $scriptversion" + $SED -n ' + /(C)/!b go + :more + /\./!{ + N + s|\n# | | + b more + } + :go + /^# Written by /,/# warranty; / { + s|^# || + s|^# *$|| + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| + p + } + /^# Written by / { + s|^# || + p + } + /^warranty; /q' < "$progpath" + exit $? +} -magic="%%%MAGIC variable%%%" -magic_exe="%%%MAGIC EXE variable%%%" +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: -# Global variables. -nonopt= -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 +# Set a version string. +scriptversion='(GNU libtool) 2.4.6' -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () +# func_echo ARG... +# ---------------- +# Libtool also displays the current mode in messages, so override +# funclib.sh func_echo with this custom definition. +func_echo () { - eval "${1}=\$${1}\${2}" -} # func_append may be replaced by extended shell implementation + $debug_cmd -# func_append_quoted var value -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -func_append_quoted () -{ - func_quote_for_eval "${2}" - eval "${1}=\$${1}\\ \$func_quote_for_eval_result" -} # func_append_quoted may be replaced by extended shell implementation + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" + done + IFS=$func_echo_IFS +} -# func_arith arithmetic-term... -func_arith () +# func_warning ARG... +# ------------------- +# Libtool warnings are not categorized, so override funclib.sh +# func_warning with this simpler definition. +func_warning () { - func_arith_result=`expr "${@}"` -} # func_arith may be replaced by extended shell implementation + $debug_cmd + $warning_func ${1+"$@"} +} -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` -} # func_len may be replaced by extended shell implementation +## ---------------- ## +## Options parsing. ## +## ---------------- ## + +# Hook in the functions to make sure our own options are parsed during +# the option parsing loop. + +usage='$progpath [OPTION]... [MODE-ARG]...' + +# Short help message in response to '-h'. +usage_message="Options: + --config show all configuration variables + --debug enable verbose shell tracing + -n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --mode=MODE use operation mode MODE + --no-warnings equivalent to '-Wnone' + --preserve-dup-deps don't remove duplicate dependency libraries + --quiet, --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + -v, --verbose print more informational messages than default + --version print version information + -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] + -h, --help, --help-all print short, long, or detailed help message +" -# func_lo2o object -func_lo2o () +# Additional text appended to 'usage_message' in response to '--help'. +func_help () { - func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` -} # func_lo2o may be replaced by extended shell implementation + $debug_cmd + func_usage_message + $ECHO "$long_help_message -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` -} # func_xform may be replaced by extended shell implementation +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. When passed as first option, +'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. +Try '$progname --help --mode=MODE' for a more detailed description of MODE. + +When reporting a bug, please describe a test case to reproduce it and +include the following information: + + host-triplet: $host + shell: $SHELL + compiler: $LTCC + compiler flags: $LTCFLAGS + linker: $LD (gnu? $with_gnu_ld) + version: $progname (GNU libtool) 2.4.6 + automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` + autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` + +Report bugs to . +GNU libtool home page: . +General help using GNU software: ." + exit 0 +} + + +# func_lo2o OBJECT-NAME +# --------------------- +# Transform OBJECT-NAME from a '.lo' suffix to the platform specific +# object suffix. + +lo2o=s/\\.lo\$/.$objext/ +o2lo=s/\\.$objext\$/.lo/ + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_lo2o () + { + case $1 in + *.lo) func_lo2o_result=${1%.lo}.$objext ;; + * ) func_lo2o_result=$1 ;; + esac + }' + + # func_xform LIBOBJ-OR-SOURCE + # --------------------------- + # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) + # suffix to a '.lo' libtool-object suffix. + eval 'func_xform () + { + func_xform_result=${1%.*}.lo + }' +else + # ...otherwise fall back to using sed. + func_lo2o () + { + func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` + } + + func_xform () + { + func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` + } +fi -# func_fatal_configuration arg... +# func_fatal_configuration ARG... +# ------------------------------- # Echo program name prefixed message to standard error, followed by # a configuration failure hint, and exit. func_fatal_configuration () { - func_error ${1+"$@"} - func_error "See the $PACKAGE documentation for more information." - func_fatal_error "Fatal configuration error." + func__fatal_error ${1+"$@"} \ + "See the $PACKAGE documentation for more information." \ + "Fatal configuration error." } # func_config +# ----------- # Display the configuration for all the tags in this script. func_config () { @@ -915,17 +2149,19 @@ exit $? } + # func_features +# ------------- # Display the features supported by this script. func_features () { echo "host: $host" - if test "$build_libtool_libs" = yes; then + if test yes = "$build_libtool_libs"; then echo "enable shared libraries" else echo "disable shared libraries" fi - if test "$build_old_libs" = yes; then + if test yes = "$build_old_libs"; then echo "enable static libraries" else echo "disable static libraries" @@ -934,289 +2170,297 @@ exit $? } -# func_enable_tag tagname + +# func_enable_tag TAGNAME +# ----------------------- # Verify that TAGNAME is valid, and either flag an error and exit, or # enable the TAGNAME tag. We also add TAGNAME to the global $taglist # variable here. func_enable_tag () { - # Global variable: - tagname="$1" + # Global variable: + tagname=$1 - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf="/$re_begincf/,/$re_endcf/p" - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac + re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" + re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" + sed_extractcf=/$re_begincf/,/$re_endcf/p + + # Validate tagname. + case $tagname in + *[!-_A-Za-z0-9,/]*) + func_fatal_error "invalid tag name: $tagname" + ;; + esac - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; + # Don't test for the "default" C tag, as we know it's + # there but not specially marked. + case $tagname in + CC) ;; *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" + if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then + taglist="$taglist $tagname" - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac + # Evaluate the configuration. Be careful to quote the path + # and the sed script, to avoid splitting on whitespace, but + # also don't use non-portable quotes within backquotes within + # quotes we have to do it in 2 steps: + extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` + eval "$extractedcf" + else + func_error "ignoring unknown tag $tagname" + fi + ;; + esac } + # func_check_version_match +# ------------------------ # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF + if test "$package_revision" != "$macro_revision"; then + if test "$VERSION" != "$macro_version"; then + if test -z "$macro_version"; then + cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF - else - cat >&2 <<_LT_EOF + else + cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF - fi - else - cat >&2 <<_LT_EOF + fi + else + cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF - fi + fi - exit $EXIT_MISMATCH - fi + exit $EXIT_MISMATCH + fi } -# Shorthand for --mode=foo, only valid as the first argument -case $1 in -clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; -compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; -execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; -finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; -install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; -link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; -uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; -esac +# libtool_options_prep [ARG]... +# ----------------------------- +# Preparation for options parsed by libtool. +libtool_options_prep () +{ + $debug_mode + # Option defaults: + opt_config=false + opt_dlopen= + opt_dry_run=false + opt_help=false + opt_mode= + opt_preserve_dup_deps=false + opt_quiet=false + nonopt= + preserve_args= -# Option defaults: -opt_debug=: -opt_dry_run=false -opt_config=false -opt_preserve_dup_deps=false -opt_features=false -opt_finish=false -opt_help=false -opt_help_all=false -opt_silent=: -opt_warning=: -opt_verbose=: -opt_silent=false -opt_verbose=false + # Shorthand for --mode=foo, only valid as the first argument + case $1 in + clean|clea|cle|cl) + shift; set dummy --mode clean ${1+"$@"}; shift + ;; + compile|compil|compi|comp|com|co|c) + shift; set dummy --mode compile ${1+"$@"}; shift + ;; + execute|execut|execu|exec|exe|ex|e) + shift; set dummy --mode execute ${1+"$@"}; shift + ;; + finish|finis|fini|fin|fi|f) + shift; set dummy --mode finish ${1+"$@"}; shift + ;; + install|instal|insta|inst|ins|in|i) + shift; set dummy --mode install ${1+"$@"}; shift + ;; + link|lin|li|l) + shift; set dummy --mode link ${1+"$@"}; shift + ;; + uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) + shift; set dummy --mode uninstall ${1+"$@"}; shift + ;; + esac + # Pass back the list of options. + func_quote_for_eval ${1+"$@"} + libtool_options_prep_result=$func_quote_for_eval_result +} +func_add_hook func_options_prep libtool_options_prep -# Parse options once, thoroughly. This comes as soon as possible in the -# script to make things like `--version' happen as quickly as we can. -{ - # this just eases exit handling - while test $# -gt 0; do - opt="$1" - shift - case $opt in - --debug|-x) opt_debug='set -x' - func_echo "enabling shell trace mode" - $opt_debug - ;; - --dry-run|--dryrun|-n) - opt_dry_run=: - ;; - --config) - opt_config=: -func_config - ;; - --dlopen|-dlopen) - optarg="$1" - opt_dlopen="${opt_dlopen+$opt_dlopen -}$optarg" - shift - ;; - --preserve-dup-deps) - opt_preserve_dup_deps=: - ;; - --features) - opt_features=: -func_features - ;; - --finish) - opt_finish=: -set dummy --mode finish ${1+"$@"}; shift - ;; - --help) - opt_help=: - ;; - --help-all) - opt_help_all=: -opt_help=': help-all' - ;; - --mode) - test $# = 0 && func_missing_arg $opt && break - optarg="$1" - opt_mode="$optarg" -case $optarg in - # Valid mode arguments: - clean|compile|execute|finish|install|link|relink|uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $opt" - exit_cmd=exit - break - ;; -esac - shift - ;; - --no-silent|--no-quiet) - opt_silent=false -func_append preserve_args " $opt" - ;; - --no-warning|--no-warn) - opt_warning=false -func_append preserve_args " $opt" - ;; - --no-verbose) - opt_verbose=false -func_append preserve_args " $opt" - ;; - --silent|--quiet) - opt_silent=: -func_append preserve_args " $opt" - opt_verbose=false - ;; - --verbose|-v) - opt_verbose=: -func_append preserve_args " $opt" -opt_silent=false - ;; - --tag) - test $# = 0 && func_missing_arg $opt && break - optarg="$1" - opt_tag="$optarg" -func_append preserve_args " $opt $optarg" -func_enable_tag "$optarg" - shift - ;; - - -\?|-h) func_usage ;; - --help) func_help ;; - --version) func_version ;; - - # Separate optargs to long options: - --*=*) - func_split_long_opt "$opt" - set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-n*|-v*) - func_split_short_opt "$opt" - set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) break ;; - -*) func_fatal_help "unrecognized option \`$opt'" ;; - *) set dummy "$opt" ${1+"$@"}; shift; break ;; - esac - done - # Validate options: +# libtool_parse_options [ARG]... +# --------------------------------- +# Provide handling for libtool specific options. +libtool_parse_options () +{ + $debug_cmd - # save first non-option argument - if test "$#" -gt 0; then - nonopt="$opt" - shift - fi + # Perform our own loop to consume as many options as possible in + # each iteration. + while test $# -gt 0; do + _G_opt=$1 + shift + case $_G_opt in + --dry-run|--dryrun|-n) + opt_dry_run=: + ;; + + --config) func_config ;; + + --dlopen|-dlopen) + opt_dlopen="${opt_dlopen+$opt_dlopen +}$1" + shift + ;; + + --preserve-dup-deps) + opt_preserve_dup_deps=: ;; + + --features) func_features ;; + + --finish) set dummy --mode finish ${1+"$@"}; shift ;; + + --help) opt_help=: ;; + + --help-all) opt_help=': help-all' ;; + + --mode) test $# = 0 && func_missing_arg $_G_opt && break + opt_mode=$1 + case $1 in + # Valid mode arguments: + clean|compile|execute|finish|install|link|relink|uninstall) ;; + + # Catch anything else as an error + *) func_error "invalid argument for $_G_opt" + exit_cmd=exit + break + ;; + esac + shift + ;; + + --no-silent|--no-quiet) + opt_quiet=false + func_append preserve_args " $_G_opt" + ;; + + --no-warnings|--no-warning|--no-warn) + opt_warning=false + func_append preserve_args " $_G_opt" + ;; + + --no-verbose) + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --silent|--quiet) + opt_quiet=: + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --tag) test $# = 0 && func_missing_arg $_G_opt && break + opt_tag=$1 + func_append preserve_args " $_G_opt $1" + func_enable_tag "$1" + shift + ;; + + --verbose|-v) opt_quiet=false + opt_verbose=: + func_append preserve_args " $_G_opt" + ;; - # preserve --debug - test "$opt_debug" = : || func_append preserve_args " --debug" + # An option not handled by this hook function: + *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + esac + done - case $host in - *cygwin* | *mingw* | *pw32* | *cegcc*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac - $opt_help || { - # Sanity checks first: - func_check_version_match + # save modified positional parameters for caller + func_quote_for_eval ${1+"$@"} + libtool_parse_options_result=$func_quote_for_eval_result +} +func_add_hook func_parse_options libtool_parse_options - if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - func_fatal_configuration "not configured to build any kind of library" - fi - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - # Only execute mode is allowed to have -dlopen flags. - if test -n "$opt_dlopen" && test "$opt_mode" != execute; then - func_error "unrecognized option \`-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE +# libtool_validate_options [ARG]... +# --------------------------------- +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +libtool_validate_options () +{ + # save first non-option argument + if test 0 -lt $#; then + nonopt=$1 + shift fi - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$progname --help --mode=$opt_mode' for more information." - } + # preserve --debug + test : = "$debug_cmd" || func_append preserve_args " --debug" + + case $host in + # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 + # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 + *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: + ;; + *) + opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps + ;; + esac + $opt_help || { + # Sanity checks first: + func_check_version_match + + test yes != "$build_libtool_libs" \ + && test yes != "$build_old_libs" \ + && func_fatal_configuration "not configured to build any kind of library" + + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$opt_dlopen" && test execute != "$opt_mode"; then + func_error "unrecognized option '-dlopen'" + $ECHO "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help=$help + help="Try '$progname --help --mode=$opt_mode' for more information." + } - # Bail if the options were screwed - $exit_cmd $EXIT_FAILURE + # Pass back the unparsed argument list + func_quote_for_eval ${1+"$@"} + libtool_validate_options_result=$func_quote_for_eval_result } +func_add_hook func_validate_options libtool_validate_options + +# Process options as early as possible so that --help and --version +# can return quickly. +func_options ${1+"$@"} +eval set dummy "$func_options_result"; shift @@ -1224,24 +2468,52 @@ ## Main. ## ## ----------- ## +magic='%%%MAGIC variable%%%' +magic_exe='%%%MAGIC EXE variable%%%' + +# Global variables. +extracted_archives= +extracted_serial=0 + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + +# func_generated_by_libtool +# True iff stdin has been generated by Libtool. This function is only +# a basic sanity check; it will hardly flush out determined imposters. +func_generated_by_libtool_p () +{ + $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 +} + # func_lalib_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. +# True iff FILE is a libtool '.la' library or '.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && - $SED -e 4q "$1" 2>/dev/null \ - | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 + $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p } # func_lalib_unsafe_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. +# True iff FILE is a libtool '.la' library or '.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be -# fatal anyway. Works if `file' does not exist. +# fatal anyway. Works if 'file' does not exist. func_lalib_unsafe_p () { lalib_p=no @@ -1249,13 +2521,13 @@ for lalib_p_l in 1 2 3 4 do read lalib_p_line - case "$lalib_p_line" in + case $lalib_p_line in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi - test "$lalib_p" = yes + test yes = "$lalib_p" } # func_ltwrapper_script_p file @@ -1264,7 +2536,8 @@ # determined imposters. func_ltwrapper_script_p () { - func_lalib_p "$1" + test -f "$1" && + $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p } # func_ltwrapper_executable_p file @@ -1289,7 +2562,7 @@ { func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" + func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper } # func_ltwrapper_p file @@ -1308,11 +2581,13 @@ # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { - $opt_debug + $debug_cmd + save_ifs=$IFS; IFS='~' for cmd in $1; do - IFS=$save_ifs + IFS=$sp$nl eval cmd=\"$cmd\" + IFS=$save_ifs func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs @@ -1324,10 +2599,11 @@ # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing -# `FILE.' does not work on cygwin managed mounts. +# 'FILE.' does not work on cygwin managed mounts. func_source () { - $opt_debug + $debug_cmd + case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; @@ -1354,10 +2630,10 @@ # store the result into func_replace_sysroot_result. func_replace_sysroot () { - case "$lt_sysroot:$1" in + case $lt_sysroot:$1 in ?*:"$lt_sysroot"*) func_stripname "$lt_sysroot" '' "$1" - func_replace_sysroot_result="=$func_stripname_result" + func_replace_sysroot_result='='$func_stripname_result ;; *) # Including no sysroot. @@ -1374,7 +2650,8 @@ # arg is usually of the form 'gcc ...' func_infer_tag () { - $opt_debug + $debug_cmd + if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do @@ -1393,7 +2670,7 @@ for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. @@ -1418,7 +2695,7 @@ # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with \`--tag'" + func_fatal_error "specify a tag with '--tag'" # else # func_verbose "using $tagname tagged configuration" fi @@ -1434,15 +2711,15 @@ # but don't create it if we're doing a dry run. func_write_libtool_object () { - write_libobj=${1} - if test "$build_libtool_libs" = yes; then - write_lobj=\'${2}\' + write_libobj=$1 + if test yes = "$build_libtool_libs"; then + write_lobj=\'$2\' else write_lobj=none fi - if test "$build_old_libs" = yes; then - write_oldobj=\'${3}\' + if test yes = "$build_old_libs"; then + write_oldobj=\'$3\' else write_oldobj=none fi @@ -1450,7 +2727,7 @@ $opt_dry_run || { cat >${write_libobj}T </dev/null` - if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then + if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | - $SED -e "$lt_sed_naive_backslashify"` + $SED -e "$sed_naive_backslashify"` else func_convert_core_file_wine_to_w32_result= fi @@ -1514,18 +2792,19 @@ # are convertible, then the result may be empty. func_convert_core_path_wine_to_w32 () { - $opt_debug + $debug_cmd + # unfortunately, winepath doesn't convert paths, only file names - func_convert_core_path_wine_to_w32_result="" + func_convert_core_path_wine_to_w32_result= if test -n "$1"; then oldIFS=$IFS IFS=: for func_convert_core_path_wine_to_w32_f in $1; do IFS=$oldIFS func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" - if test -n "$func_convert_core_file_wine_to_w32_result" ; then + if test -n "$func_convert_core_file_wine_to_w32_result"; then if test -z "$func_convert_core_path_wine_to_w32_result"; then - func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" + func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result else func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" fi @@ -1554,7 +2833,8 @@ # environment variable; do not put it in $PATH. func_cygpath () { - $opt_debug + $debug_cmd + if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` if test "$?" -ne 0; then @@ -1563,7 +2843,7 @@ fi else func_cygpath_result= - func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" + func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" fi } #end: func_cygpath @@ -1574,10 +2854,11 @@ # result in func_convert_core_msys_to_w32_result. func_convert_core_msys_to_w32 () { - $opt_debug + $debug_cmd + # awkward: cmd appends spaces to result func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` + $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` } #end: func_convert_core_msys_to_w32 @@ -1588,13 +2869,14 @@ # func_to_host_file_result to ARG1). func_convert_file_check () { - $opt_debug - if test -z "$2" && test -n "$1" ; then + $debug_cmd + + if test -z "$2" && test -n "$1"; then func_error "Could not determine host file name corresponding to" - func_error " \`$1'" + func_error " '$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: - func_to_host_file_result="$1" + func_to_host_file_result=$1 fi } # end func_convert_file_check @@ -1606,10 +2888,11 @@ # func_to_host_file_result to a simplistic fallback value (see below). func_convert_path_check () { - $opt_debug + $debug_cmd + if test -z "$4" && test -n "$3"; then func_error "Could not determine the host path corresponding to" - func_error " \`$3'" + func_error " '$3'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This is a deliberately simplistic "conversion" and # should not be "improved". See libtool.info. @@ -1618,7 +2901,7 @@ func_to_host_path_result=`echo "$3" | $SED -e "$lt_replace_pathsep_chars"` else - func_to_host_path_result="$3" + func_to_host_path_result=$3 fi fi } @@ -1630,9 +2913,10 @@ # and appending REPL if ORIG matches BACKPAT. func_convert_path_front_back_pathsep () { - $opt_debug + $debug_cmd + case $4 in - $1 ) func_to_host_path_result="$3$func_to_host_path_result" + $1 ) func_to_host_path_result=$3$func_to_host_path_result ;; esac case $4 in @@ -1646,7 +2930,7 @@ ################################################## # $build to $host FILE NAME CONVERSION FUNCTIONS # ################################################## -# invoked via `$to_host_file_cmd ARG' +# invoked via '$to_host_file_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # Result will be available in $func_to_host_file_result. @@ -1657,7 +2941,8 @@ # in func_to_host_file_result. func_to_host_file () { - $opt_debug + $debug_cmd + $to_host_file_cmd "$1" } # end func_to_host_file @@ -1669,7 +2954,8 @@ # in (the comma separated) LAZY, no conversion takes place. func_to_tool_file () { - $opt_debug + $debug_cmd + case ,$2, in *,"$to_tool_file_cmd",*) func_to_tool_file_result=$1 @@ -1687,7 +2973,7 @@ # Copy ARG to func_to_host_file_result. func_convert_file_noop () { - func_to_host_file_result="$1" + func_to_host_file_result=$1 } # end func_convert_file_noop @@ -1698,11 +2984,12 @@ # func_to_host_file_result. func_convert_file_msys_to_w32 () { - $opt_debug - func_to_host_file_result="$1" + $debug_cmd + + func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_msys_to_w32 "$1" - func_to_host_file_result="$func_convert_core_msys_to_w32_result" + func_to_host_file_result=$func_convert_core_msys_to_w32_result fi func_convert_file_check "$1" "$func_to_host_file_result" } @@ -1714,8 +3001,9 @@ # func_to_host_file_result. func_convert_file_cygwin_to_w32 () { - $opt_debug - func_to_host_file_result="$1" + $debug_cmd + + func_to_host_file_result=$1 if test -n "$1"; then # because $build is cygwin, we call "the" cygpath in $PATH; no need to use # LT_CYGPATH in this case. @@ -1731,11 +3019,12 @@ # and a working winepath. Returns result in func_to_host_file_result. func_convert_file_nix_to_w32 () { - $opt_debug - func_to_host_file_result="$1" + $debug_cmd + + func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_file_wine_to_w32 "$1" - func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" + func_to_host_file_result=$func_convert_core_file_wine_to_w32_result fi func_convert_file_check "$1" "$func_to_host_file_result" } @@ -1747,12 +3036,13 @@ # Returns result in func_to_host_file_result. func_convert_file_msys_to_cygwin () { - $opt_debug - func_to_host_file_result="$1" + $debug_cmd + + func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_cygpath -u "$func_convert_core_msys_to_w32_result" - func_to_host_file_result="$func_cygpath_result" + func_to_host_file_result=$func_cygpath_result fi func_convert_file_check "$1" "$func_to_host_file_result" } @@ -1765,13 +3055,14 @@ # in func_to_host_file_result. func_convert_file_nix_to_cygwin () { - $opt_debug - func_to_host_file_result="$1" + $debug_cmd + + func_to_host_file_result=$1 if test -n "$1"; then # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. func_convert_core_file_wine_to_w32 "$1" func_cygpath -u "$func_convert_core_file_wine_to_w32_result" - func_to_host_file_result="$func_cygpath_result" + func_to_host_file_result=$func_cygpath_result fi func_convert_file_check "$1" "$func_to_host_file_result" } @@ -1781,7 +3072,7 @@ ############################################# # $build to $host PATH CONVERSION FUNCTIONS # ############################################# -# invoked via `$to_host_path_cmd ARG' +# invoked via '$to_host_path_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # The result will be available in $func_to_host_path_result. @@ -1805,10 +3096,11 @@ to_host_path_cmd= func_init_to_host_path_cmd () { - $opt_debug + $debug_cmd + if test -z "$to_host_path_cmd"; then func_stripname 'func_convert_file_' '' "$to_host_file_cmd" - to_host_path_cmd="func_convert_path_${func_stripname_result}" + to_host_path_cmd=func_convert_path_$func_stripname_result fi } @@ -1818,7 +3110,8 @@ # in func_to_host_path_result. func_to_host_path () { - $opt_debug + $debug_cmd + func_init_to_host_path_cmd $to_host_path_cmd "$1" } @@ -1829,7 +3122,7 @@ # Copy ARG to func_to_host_path_result. func_convert_path_noop () { - func_to_host_path_result="$1" + func_to_host_path_result=$1 } # end func_convert_path_noop @@ -1840,8 +3133,9 @@ # func_to_host_path_result. func_convert_path_msys_to_w32 () { - $opt_debug - func_to_host_path_result="$1" + $debug_cmd + + func_to_host_path_result=$1 if test -n "$1"; then # Remove leading and trailing path separator characters from ARG. MSYS # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; @@ -1849,7 +3143,7 @@ func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result="$func_convert_core_msys_to_w32_result" + func_to_host_path_result=$func_convert_core_msys_to_w32_result func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" @@ -1863,8 +3157,9 @@ # func_to_host_file_result. func_convert_path_cygwin_to_w32 () { - $opt_debug - func_to_host_path_result="$1" + $debug_cmd + + func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" @@ -1883,14 +3178,15 @@ # a working winepath. Returns result in func_to_host_file_result. func_convert_path_nix_to_w32 () { - $opt_debug - func_to_host_path_result="$1" + $debug_cmd + + func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" + func_to_host_path_result=$func_convert_core_path_wine_to_w32_result func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" @@ -1904,15 +3200,16 @@ # Returns result in func_to_host_file_result. func_convert_path_msys_to_cygwin () { - $opt_debug - func_to_host_path_result="$1" + $debug_cmd + + func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_msys_to_w32_result" - func_to_host_path_result="$func_cygpath_result" + func_to_host_path_result=$func_cygpath_result func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" @@ -1927,8 +3224,9 @@ # func_to_host_file_result. func_convert_path_nix_to_cygwin () { - $opt_debug - func_to_host_path_result="$1" + $debug_cmd + + func_to_host_path_result=$1 if test -n "$1"; then # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them @@ -1937,7 +3235,7 @@ func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" - func_to_host_path_result="$func_cygpath_result" + func_to_host_path_result=$func_cygpath_result func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" @@ -1946,13 +3244,31 @@ # end func_convert_path_nix_to_cygwin +# func_dll_def_p FILE +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with _LT_DLL_DEF_P in libtool.m4 +func_dll_def_p () +{ + $debug_cmd + + func_dll_def_p_tmp=`$SED -n \ + -e 's/^[ ]*//' \ + -e '/^\(;.*\)*$/d' \ + -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ + -e q \ + "$1"` + test DEF = "$func_dll_def_p_tmp" +} + + # func_mode_compile arg... func_mode_compile () { - $opt_debug + $debug_cmd + # Get the compilation command and the source file. base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" + srcfile=$nonopt # always keep a non-empty value in "srcfile" suppress_opt=yes suppress_output= arg_mode=normal @@ -1965,12 +3281,12 @@ case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile - lastarg="$arg" + lastarg=$arg arg_mode=normal ;; target ) - libobj="$arg" + libobj=$arg arg_mode=normal continue ;; @@ -1980,7 +3296,7 @@ case $arg in -o) test -n "$libobj" && \ - func_fatal_error "you cannot specify \`-o' more than once" + func_fatal_error "you cannot specify '-o' more than once" arg_mode=target continue ;; @@ -2009,12 +3325,12 @@ func_stripname '-Wc,' '' "$arg" args=$func_stripname_result lastarg= - save_ifs="$IFS"; IFS=',' + save_ifs=$IFS; IFS=, for arg in $args; do - IFS="$save_ifs" + IFS=$save_ifs func_append_quoted lastarg "$arg" done - IFS="$save_ifs" + IFS=$save_ifs func_stripname ' ' '' "$lastarg" lastarg=$func_stripname_result @@ -2027,8 +3343,8 @@ # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # - lastarg="$srcfile" - srcfile="$arg" + lastarg=$srcfile + srcfile=$arg ;; esac # case $arg ;; @@ -2043,13 +3359,13 @@ func_fatal_error "you must specify an argument for -Xcompile" ;; target) - func_fatal_error "you must specify a target with \`-o'" + func_fatal_error "you must specify a target with '-o'" ;; *) # Get the name of the library object. test -z "$libobj" && { func_basename "$srcfile" - libobj="$func_basename_result" + libobj=$func_basename_result } ;; esac @@ -2069,7 +3385,7 @@ case $libobj in *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; *) - func_fatal_error "cannot determine name of library object from \`$libobj'" + func_fatal_error "cannot determine name of library object from '$libobj'" ;; esac @@ -2078,8 +3394,8 @@ for arg in $later; do case $arg in -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" + test yes = "$build_libtool_libs" \ + || func_fatal_configuration "cannot build a shared library" build_old_libs=no continue ;; @@ -2105,17 +3421,17 @@ func_quote_for_eval "$libobj" test "X$libobj" != "X$func_quote_for_eval_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name \`$libobj' may not contain shell special characters." + && func_warning "libobj name '$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" - objname="$func_basename_result" - xdir="$func_dirname_result" - lobj=${xdir}$objdir/$objname + objname=$func_basename_result + xdir=$func_dirname_result + lobj=$xdir$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. - if test "$build_old_libs" = yes; then + if test yes = "$build_old_libs"; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" @@ -2127,16 +3443,16 @@ pic_mode=default ;; esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" + if test no = "$compiler_c_o"; then + output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext + lockfile=$output_obj.lock else output_obj= need_locks=no @@ -2145,12 +3461,12 @@ # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then + if test yes = "$need_locks"; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done - elif test "$need_locks" = warn; then + elif test warn = "$need_locks"; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: @@ -2158,7 +3474,7 @@ This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you +your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." @@ -2180,11 +3496,11 @@ qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. - if test "$build_libtool_libs" = yes; then + if test yes = "$build_libtool_libs"; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile - if test "$pic_mode" != no; then + if test no != "$pic_mode"; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code @@ -2201,7 +3517,7 @@ func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - if test "$need_locks" = warn && + if test warn = "$need_locks" && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: @@ -2212,7 +3528,7 @@ This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you +your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." @@ -2228,20 +3544,20 @@ fi # Allow error messages only from the first compilation. - if test "$suppress_opt" = yes; then + if test yes = "$suppress_opt"; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. - if test "$build_old_libs" = yes; then - if test "$pic_mode" != yes; then + if test yes = "$build_old_libs"; then + if test yes != "$pic_mode"; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi - if test "$compiler_c_o" = yes; then + if test yes = "$compiler_c_o"; then func_append command " -o $obj" fi @@ -2250,7 +3566,7 @@ func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - if test "$need_locks" = warn && + if test warn = "$need_locks" && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: @@ -2261,7 +3577,7 @@ This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you +your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." @@ -2281,7 +3597,7 @@ func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked - if test "$need_locks" != no; then + if test no != "$need_locks"; then removelist=$lockfile $RM "$lockfile" fi @@ -2291,7 +3607,7 @@ } $opt_help || { - test "$opt_mode" = compile && func_mode_compile ${1+"$@"} + test compile = "$opt_mode" && func_mode_compile ${1+"$@"} } func_mode_help () @@ -2311,7 +3627,7 @@ Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated @@ -2330,16 +3646,16 @@ -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to build PIC objects only -prefer-non-pic try to build non-PIC objects only - -shared do not build a \`.o' file suitable for static linking - -static only build a \`.o' file suitable for static linking + -shared do not build a '.o' file suitable for static linking + -static only build a '.o' file suitable for static linking -Wc,FLAG pass FLAG directly to the compiler -COMPILE-COMMAND is a command to be used in creating a \`standard' object file +COMPILE-COMMAND is a command to be used in creating a 'standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." +SOURCEFILE, then substituting the C source code suffix '.c' with the +library object suffix, '.lo'." ;; execute) @@ -2352,7 +3668,7 @@ -dlopen FILE add the directory containing FILE to the library path -This mode sets the library path environment variable according to \`-dlopen' +This mode sets the library path environment variable according to '-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated @@ -2371,7 +3687,7 @@ Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." +the '--dry-run' option if you just want to see what would be executed." ;; install) @@ -2381,7 +3697,7 @@ Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. +either the 'install' or 'cp' program. The following components of INSTALL-COMMAND are treated specially: @@ -2407,7 +3723,7 @@ -avoid-version do not add a version suffix if possible -bindir BINDIR specify path to binaries directory (for systems where libraries must be found in the PATH setting at runtime) - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE @@ -2421,7 +3737,8 @@ -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects + -objectlist FILE use a list of object files found in FILE to specify objects + -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information @@ -2441,20 +3758,20 @@ -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) -All other options (arguments beginning with \`-') are ignored. +All other options (arguments beginning with '-') are ignored. -Every other argument is treated as a filename. Files ending in \`.la' are +Every other argument is treated as a filename. Files ending in '.la' are treated as uninstalled libtool libraries, other files are standard or library object files. -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is +If the OUTPUT-FILE ends in '.la', then a libtool library is created, +only library objects ('.lo' files) may be specified, and '-rpath' is required, except when creating a convenience library. -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. +If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created +using 'ar' and 'ranlib', or on Windows using 'lib'. -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file is created, otherwise an executable program is created." ;; @@ -2465,7 +3782,7 @@ Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. @@ -2473,17 +3790,17 @@ ;; *) - func_fatal_help "invalid operation mode \`$opt_mode'" + func_fatal_help "invalid operation mode '$opt_mode'" ;; esac echo - $ECHO "Try \`$progname --help' for more information about other modes." + $ECHO "Try '$progname --help' for more information about other modes." } # Now that we've collected a possible --mode arg, show help if necessary if $opt_help; then - if test "$opt_help" = :; then + if test : = "$opt_help"; then func_mode_help else { @@ -2491,7 +3808,7 @@ for opt_mode in compile link execute install finish uninstall clean; do func_mode_help done - } | sed -n '1p; 2,$s/^Usage:/ or: /p' + } | $SED -n '1p; 2,$s/^Usage:/ or: /p' { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do @@ -2499,7 +3816,7 @@ func_mode_help done } | - sed '1d + $SED '1d /^When reporting/,/^Report/{ H d @@ -2516,16 +3833,17 @@ # func_mode_execute arg... func_mode_execute () { - $opt_debug + $debug_cmd + # The first argument is the command name. - cmd="$nonopt" + cmd=$nonopt test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $opt_dlopen; do test -f "$file" \ - || func_fatal_help "\`$file' is not a file" + || func_fatal_help "'$file' is not a file" dir= case $file in @@ -2535,7 +3853,7 @@ # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$lib' is not a valid libtool archive" + || func_fatal_help "'$lib' is not a valid libtool archive" # Read the libtool library. dlname= @@ -2546,18 +3864,18 @@ if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ - func_warning "\`$file' was not linked with \`-export-dynamic'" + func_warning "'$file' was not linked with '-export-dynamic'" continue fi func_dirname "$file" "" "." - dir="$func_dirname_result" + dir=$func_dirname_result if test -f "$dir/$objdir/$dlname"; then func_append dir "/$objdir" else if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" + func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" fi fi ;; @@ -2565,18 +3883,18 @@ *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." - dir="$func_dirname_result" + dir=$func_dirname_result ;; *) - func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" + func_warning "'-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" + test -n "$absdir" && dir=$absdir # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then @@ -2588,7 +3906,7 @@ # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. - libtool_execute_magic="$magic" + libtool_execute_magic=$magic # Check if any of the arguments is a wrapper script. args= @@ -2601,12 +3919,12 @@ if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. - file="$progdir/$program" + file=$progdir/$program elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. - file="$progdir/$program" + file=$progdir/$program fi ;; esac @@ -2614,7 +3932,15 @@ func_append_quoted args "$file" done - if test "X$opt_dry_run" = Xfalse; then + if $opt_dry_run; then + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" + echo "export $shlibpath_var" + fi + $ECHO "$cmd$args" + exit $EXIT_SUCCESS + else if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" @@ -2631,25 +3957,18 @@ done # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - echo "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS + exec_cmd=\$cmd$args fi } -test "$opt_mode" = execute && func_mode_execute ${1+"$@"} +test execute = "$opt_mode" && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { - $opt_debug + $debug_cmd + libs= libdirs= admincmds= @@ -2663,11 +3982,11 @@ if func_lalib_unsafe_p "$opt"; then func_append libs " $opt" else - func_warning "\`$opt' is not a valid libtool archive" + func_warning "'$opt' is not a valid libtool archive" fi else - func_fatal_error "invalid argument \`$opt'" + func_fatal_error "invalid argument '$opt'" fi done @@ -2682,12 +4001,12 @@ # Remove sysroot references if $opt_dry_run; then for lib in $libs; do - echo "removing references to $lt_sysroot and \`=' prefixes from $lib" + echo "removing references to $lt_sysroot and '=' prefixes from $lib" done else tmpdir=`func_mktempdir` for lib in $libs; do - sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ + $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ > $tmpdir/tmp-la mv -f $tmpdir/tmp-la $lib done @@ -2712,7 +4031,7 @@ fi # Exit here if they wanted silent mode. - $opt_silent && exit $EXIT_SUCCESS + $opt_quiet && exit $EXIT_SUCCESS if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then echo "----------------------------------------------------------------------" @@ -2723,27 +4042,27 @@ echo echo "If you ever happen to want to link against installed libraries" echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + echo "specify the full pathname of the library, or use the '-LLIBDIR'" echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + echo " - add LIBDIR to the '$shlibpath_var' environment variable" echo " during execution" fi if test -n "$runpath_var"; then - echo " - add LIBDIR to the \`$runpath_var' environment variable" + echo " - add LIBDIR to the '$runpath_var' environment variable" echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" - $ECHO " - use the \`$flag' linker flag" + $ECHO " - use the '$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" fi echo @@ -2762,18 +4081,20 @@ exit $EXIT_SUCCESS } -test "$opt_mode" = finish && func_mode_finish ${1+"$@"} +test finish = "$opt_mode" && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { - $opt_debug + $debug_cmd + # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac; then + case $nonopt in *shtool*) :;; *) false;; esac + then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " @@ -2800,7 +4121,7 @@ opts= prev= install_type= - isdir=no + isdir=false stripme= no_mode=: for arg @@ -2813,7 +4134,7 @@ fi case $arg in - -d) isdir=yes ;; + -d) isdir=: ;; -f) if $install_cp; then :; else prev=$arg @@ -2831,7 +4152,7 @@ *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then - if test "x$prev" = x-m && test -n "$install_override_mode"; then + if test X-m = "X$prev" && test -n "$install_override_mode"; then arg2=$install_override_mode no_mode=false fi @@ -2856,7 +4177,7 @@ func_fatal_help "you must specify an install program" test -n "$prev" && \ - func_fatal_help "the \`$prev' option requires an argument" + func_fatal_help "the '$prev' option requires an argument" if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else @@ -2878,19 +4199,19 @@ dest=$func_stripname_result # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" + test -d "$dest" && isdir=: + if $isdir; then + destdir=$dest destname= else func_dirname_and_basename "$dest" "" "." - destdir="$func_dirname_result" - destname="$func_basename_result" + destdir=$func_dirname_result + destname=$func_basename_result # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ - func_fatal_help "\`$dest' is not a directory" + func_fatal_help "'$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; @@ -2899,7 +4220,7 @@ case $file in *.lo) ;; *) - func_fatal_help "\`$destdir' must be an absolute directory name" + func_fatal_help "'$destdir' must be an absolute directory name" ;; esac done @@ -2908,7 +4229,7 @@ # This variable tells wrapper scripts just to set variables rather # than running their programs. - libtool_install_magic="$magic" + libtool_install_magic=$magic staticlibs= future_libdirs= @@ -2928,7 +4249,7 @@ # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$file' is not a valid libtool archive" + || func_fatal_help "'$file' is not a valid libtool archive" library_names= old_library= @@ -2950,7 +4271,7 @@ fi func_dirname "$file" "/" "" - dir="$func_dirname_result" + dir=$func_dirname_result func_append dir "$objdir" if test -n "$relink_command"; then @@ -2964,7 +4285,7 @@ # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" + func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. @@ -2973,29 +4294,36 @@ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi - func_warning "relinking \`$file'" + func_warning "relinking '$file'" func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' + 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then - realname="$1" + realname=$1 shift - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T + srcname=$realname + test -n "$relink_command" && srcname=${realname}T # Install the shared library and build the symlinks. func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ 'exit $?' - tstripme="$stripme" + tstripme=$stripme case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) - tstripme="" + tstripme= + ;; + esac + ;; + os2*) + case $realname in + *_dll.a) + tstripme= ;; esac ;; @@ -3006,7 +4334,7 @@ if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on + # Try 'ln -sf' first, because the 'ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname @@ -3017,14 +4345,14 @@ fi # Do each command in the postinstall commands. - lib="$destdir/$realname" + lib=$destdir/$realname func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" - name="$func_basename_result" - instname="$dir/$name"i + name=$func_basename_result + instname=$dir/${name}i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. @@ -3036,11 +4364,11 @@ # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then - destfile="$destdir/$destname" + destfile=$destdir/$destname else func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" + destfile=$func_basename_result + destfile=$destdir/$destfile fi # Deduce the name of the destination old-style object file. @@ -3050,11 +4378,11 @@ staticdest=$func_lo2o_result ;; *.$objext) - staticdest="$destfile" + staticdest=$destfile destfile= ;; *) - func_fatal_help "cannot copy a libtool object to \`$destfile'" + func_fatal_help "cannot copy a libtool object to '$destfile'" ;; esac @@ -3063,7 +4391,7 @@ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. - if test "$build_old_libs" = yes; then + if test yes = "$build_old_libs"; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result @@ -3075,23 +4403,23 @@ *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then - destfile="$destdir/$destname" + destfile=$destdir/$destname else func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" + destfile=$func_basename_result + destfile=$destdir/$destfile fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install - stripped_ext="" + stripped_ext= case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result - stripped_ext=".exe" + stripped_ext=.exe fi ;; esac @@ -3119,19 +4447,19 @@ # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script \`$wrapper'" + func_fatal_error "invalid libtool wrapper script '$wrapper'" - finalize=yes + finalize=: for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi - libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test + libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "\`$lib' has not been installed in \`$libdir'" - finalize=no + func_warning "'$lib' has not been installed in '$libdir'" + finalize=false fi done @@ -3139,29 +4467,29 @@ func_source "$wrapper" outputname= - if test "$fast_install" = no && test -n "$relink_command"; then + if test no = "$fast_install" && test -n "$relink_command"; then $opt_dry_run || { - if test "$finalize" = yes; then + if $finalize; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" - file="$func_basename_result" - outputname="$tmpdir/$file" + file=$func_basename_result + outputname=$tmpdir/$file # Replace the output file specification. relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - $opt_silent || { + $opt_quiet || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else - func_error "error: relink \`$file' with the above command before installing it" + func_error "error: relink '$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi - file="$outputname" + file=$outputname else - func_warning "cannot relink \`$file'" + func_warning "cannot relink '$file'" fi } else @@ -3198,10 +4526,10 @@ for file in $staticlibs; do func_basename "$file" - name="$func_basename_result" + name=$func_basename_result # Set up the ranlib parameters. - oldlib="$destdir/$name" + oldlib=$destdir/$name func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result @@ -3216,18 +4544,18 @@ done test -n "$future_libdirs" && \ - func_warning "remember to run \`$progname --finish$future_libdirs'" + func_warning "remember to run '$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } -test "$opt_mode" = install && func_mode_install ${1+"$@"} +test install = "$opt_mode" && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p @@ -3235,16 +4563,17 @@ # a dlpreopen symbol table. func_generate_dlsyms () { - $opt_debug - my_outputname="$1" - my_originator="$2" - my_pic_p="${3-no}" - my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` + $debug_cmd + + my_outputname=$1 + my_originator=$2 + my_pic_p=${3-false} + my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms="${my_outputname}S.c" + my_dlsyms=${my_outputname}S.c else func_error "not configured to extract global symbols from dlpreopened files" fi @@ -3255,7 +4584,7 @@ "") ;; *.c) # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${my_outputname}.nm" + nlist=$output_objdir/$my_outputname.nm func_show_eval "$RM $nlist ${nlist}S ${nlist}T" @@ -3263,34 +4592,36 @@ func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ +/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ +/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif -#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) +#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) #pragma GCC diagnostic ignored \"-Wstrict-prototypes\" #endif /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST -#elif defined(__osf__) +#elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + /* External symbol declarations for the compiler. */\ " - if test "$dlself" = yes; then - func_verbose "generating symbol list for \`$output'" + if test yes = "$dlself"; then + func_verbose "generating symbol list for '$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" @@ -3298,7 +4629,7 @@ progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` for progfile in $progfiles; do func_to_tool_file "$progfile" func_convert_file_msys_to_w32 - func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" + func_verbose "extracting global C symbols from '$func_to_tool_file_result'" $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" done @@ -3318,10 +4649,10 @@ # Prepare the list of exported symbols if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" + export_symbols=$output_objdir/$outputname.exp $opt_dry_run || { $RM $export_symbols - eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' @@ -3331,7 +4662,7 @@ } else $opt_dry_run || { - eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in @@ -3345,22 +4676,22 @@ fi for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from \`$dlprefile'" + func_verbose "extracting global C symbols from '$dlprefile'" func_basename "$dlprefile" - name="$func_basename_result" + name=$func_basename_result case $host in *cygwin* | *mingw* | *cegcc* ) # if an import library, we need to obtain dlname if func_win32_import_lib_p "$dlprefile"; then func_tr_sh "$dlprefile" eval "curr_lafile=\$libfile_$func_tr_sh_result" - dlprefile_dlbasename="" + dlprefile_dlbasename= if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then # Use subshell, to avoid clobbering current variable values dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` - if test -n "$dlprefile_dlname" ; then + if test -n "$dlprefile_dlname"; then func_basename "$dlprefile_dlname" - dlprefile_dlbasename="$func_basename_result" + dlprefile_dlbasename=$func_basename_result else # no lafile. user explicitly requested -dlpreopen . $sharedlib_from_linklib_cmd "$dlprefile" @@ -3368,7 +4699,7 @@ fi fi $opt_dry_run || { - if test -n "$dlprefile_dlbasename" ; then + if test -n "$dlprefile_dlbasename"; then eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' else func_warning "Could not compute DLL name from $name" @@ -3424,6 +4755,11 @@ echo '/* NONE */' >> "$output_objdir/$my_dlsyms" fi + func_show_eval '$RM "${nlist}I"' + if test -n "$global_symbol_to_import"; then + eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' + fi + echo >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ @@ -3432,11 +4768,30 @@ void *address; } lt_dlsymlist; extern LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[]; +lt_${my_prefix}_LTX_preloaded_symbols[];\ +" + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ +static void lt_syminit(void) +{ + LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; + for (; symbol->name; ++symbol) + {" + $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" + echo >> "$output_objdir/$my_dlsyms" "\ + } +}" + fi + echo >> "$output_objdir/$my_dlsyms" "\ LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = -{\ - { \"$my_originator\", (void *) 0 }," +{ {\"$my_originator\", (void *) 0}," + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ + {\"@INIT@\", (void *) <_syminit}," + fi case $need_lib_prefix in no) @@ -3478,9 +4833,7 @@ *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) - if test "X$my_pic_p" != Xno; then - pic_flag_for_symtable=" $pic_flag" - fi + $my_pic_p && pic_flag_for_symtable=" $pic_flag" ;; esac ;; @@ -3497,10 +4850,10 @@ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' + func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' # Transform the symbol file into the correct name. - symfileobj="$output_objdir/${my_outputname}S.$objext" + symfileobj=$output_objdir/${my_outputname}S.$objext case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then @@ -3518,7 +4871,7 @@ esac ;; *) - func_fatal_error "unknown suffix for \`$my_dlsyms'" + func_fatal_error "unknown suffix for '$my_dlsyms'" ;; esac else @@ -3532,6 +4885,32 @@ fi } +# func_cygming_gnu_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is a GNU/binutils-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_gnu_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` + test -n "$func_cygming_gnu_implib_tmp" +} + +# func_cygming_ms_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is an MS-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_ms_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` + test -n "$func_cygming_ms_implib_tmp" +} + # func_win32_libid arg # return the library type of file 'arg' # @@ -3541,8 +4920,9 @@ # Despite the name, also deal with 64 bit binaries. func_win32_libid () { - $opt_debug - win32_libid_type="unknown" + $debug_cmd + + win32_libid_type=unknown win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import @@ -3552,16 +4932,29 @@ # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - func_to_tool_file "$1" func_convert_file_msys_to_w32 - win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | - $SED -n -e ' + case $nm_interface in + "MS dumpbin") + if func_cygming_ms_implib_p "$1" || + func_cygming_gnu_implib_p "$1" + then + win32_nmres=import + else + win32_nmres= + fi + ;; + *) + func_to_tool_file "$1" func_convert_file_msys_to_w32 + win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | + $SED -n -e ' 1,100{ / I /{ - s,.*,import, + s|.*|import| p q } }'` + ;; + esac case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; @@ -3593,7 +4986,8 @@ # $sharedlib_from_linklib_result func_cygming_dll_for_implib () { - $opt_debug + $debug_cmd + sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` } @@ -3610,7 +5004,8 @@ # specified import library. func_cygming_dll_for_implib_fallback_core () { - $opt_debug + $debug_cmd + match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` $OBJDUMP -s --section "$1" "$2" 2>/dev/null | $SED '/^Contents of section '"$match_literal"':/{ @@ -3646,8 +5041,8 @@ /./p' | # we now have a list, one entry per line, of the stringified # contents of the appropriate section of all members of the - # archive which possess that section. Heuristic: eliminate - # all those which have a first or second character that is + # archive that possess that section. Heuristic: eliminate + # all those that have a first or second character that is # a '.' (that is, objdump's representation of an unprintable # character.) This should work for all archives with less than # 0x302f exports -- but will fail for DLLs whose name actually @@ -3658,30 +5053,6 @@ $SED -e '/^\./d;/^.\./d;q' } -# func_cygming_gnu_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is a GNU/binutils-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_gnu_implib_p () -{ - $opt_debug - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` - test -n "$func_cygming_gnu_implib_tmp" -} - -# func_cygming_ms_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is an MS-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_ms_implib_p () -{ - $opt_debug - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` - test -n "$func_cygming_ms_implib_tmp" -} - # func_cygming_dll_for_implib_fallback ARG # Platform-specific function to extract the # name of the DLL associated with the specified @@ -3695,16 +5066,17 @@ # $sharedlib_from_linklib_result func_cygming_dll_for_implib_fallback () { - $opt_debug - if func_cygming_gnu_implib_p "$1" ; then + $debug_cmd + + if func_cygming_gnu_implib_p "$1"; then # binutils import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` - elif func_cygming_ms_implib_p "$1" ; then + elif func_cygming_ms_implib_p "$1"; then # ms-generated import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` else # unknown - sharedlib_from_linklib_result="" + sharedlib_from_linklib_result= fi } @@ -3712,10 +5084,11 @@ # func_extract_an_archive dir oldlib func_extract_an_archive () { - $opt_debug - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - if test "$lock_old_archive_extraction" = yes; then + $debug_cmd + + f_ex_an_ar_dir=$1; shift + f_ex_an_ar_oldlib=$1 + if test yes = "$lock_old_archive_extraction"; then lockfile=$f_ex_an_ar_oldlib.lock until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" @@ -3724,7 +5097,7 @@ fi func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ 'stat=$?; rm -f "$lockfile"; exit $stat' - if test "$lock_old_archive_extraction" = yes; then + if test yes = "$lock_old_archive_extraction"; then $opt_dry_run || rm -f "$lockfile" fi if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then @@ -3738,22 +5111,23 @@ # func_extract_archives gentop oldlib ... func_extract_archives () { - $opt_debug - my_gentop="$1"; shift + $debug_cmd + + my_gentop=$1; shift my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" + my_oldobjs= + my_xlib= + my_xabs= + my_xdir= for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" - my_xlib="$func_basename_result" + my_xlib=$func_basename_result my_xlib_u=$my_xlib while :; do case " $extracted_archives " in @@ -3765,7 +5139,7 @@ esac done extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" + my_xdir=$my_gentop/$my_xlib_u func_mkdir_p "$my_xdir" @@ -3778,22 +5152,23 @@ cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` - darwin_base_archive=`basename "$darwin_archive"` + func_basename "$darwin_archive" + darwin_base_archive=$func_basename_result darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" + for darwin_arch in $darwin_arches; do + func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" + $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" + cd "unfat-$$/$darwin_base_archive-$darwin_arch" + func_extract_an_archive "`pwd`" "$darwin_base_archive" cd "$darwin_curdir" - $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do @@ -3815,7 +5190,7 @@ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` done - func_extract_archives_result="$my_oldobjs" + func_extract_archives_result=$my_oldobjs } @@ -3830,7 +5205,7 @@ # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script -# will assume that the directory in which it is stored is +# will assume that the directory where it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () @@ -3841,7 +5216,7 @@ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. @@ -3898,9 +5273,9 @@ # Very basic option parsing. These options are (a) specific to # the libtool wrapper, (b) are identical between the wrapper -# /script/ and the wrapper /executable/ which is used only on +# /script/ and the wrapper /executable/ that is used only on # windows platforms, and (c) all begin with the string "--lt-" -# (application programs are unlikely to have options which match +# (application programs are unlikely to have options that match # this pattern). # # There are only two supported options: --lt-debug and @@ -3933,7 +5308,7 @@ # Print the debug banner immediately: if test -n \"\$lt_option_debug\"; then - echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 + echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 fi } @@ -3944,7 +5319,7 @@ lt_dump_args_N=1; for lt_arg do - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" + \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` done } @@ -3958,7 +5333,7 @@ *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ if test -n \"\$lt_option_debug\"; then - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} @@ -3968,7 +5343,7 @@ *) $ECHO "\ if test -n \"\$lt_option_debug\"; then - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir/\$program\" \${1+\"\$@\"} @@ -4043,13 +5418,13 @@ test -n \"\$absdir\" && thisdir=\"\$absdir\" " - if test "$fast_install" = yes; then + if test yes = "$fast_install"; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" @@ -4066,7 +5441,7 @@ if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else - $ECHO \"\$relink_command_output\" >&2 + \$ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi @@ -4101,7 +5476,7 @@ fi # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" @@ -4121,7 +5496,7 @@ fi else # The program doesn't exist. - \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 @@ -4140,7 +5515,7 @@ cat < #include +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + /* declarations of non-ANSI functions */ -#if defined(__MINGW32__) +#if defined __MINGW32__ # ifdef __STRICT_ANSI__ int _putenv (const char *); # endif -#elif defined(__CYGWIN__) +#elif defined __CYGWIN__ # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif -/* #elif defined (other platforms) ... */ +/* #elif defined other_platform || defined ... */ #endif /* portability defines, excluding path handling macros */ -#if defined(_MSC_VER) +#if defined _MSC_VER # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv # define S_IXUSR _S_IEXEC -# ifndef _INTPTR_T_DEFINED -# define _INTPTR_T_DEFINED -# define intptr_t int -# endif -#elif defined(__MINGW32__) +#elif defined __MINGW32__ # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv -#elif defined(__CYGWIN__) +#elif defined __CYGWIN__ # define HAVE_SETENV # define FOPEN_WB "wb" -/* #elif defined (other platforms) ... */ +/* #elif defined other platforms ... */ #endif -#if defined(PATH_MAX) +#if defined PATH_MAX # define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) +#elif defined MAXPATHLEN # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 @@ -4234,8 +5607,8 @@ # define PATH_SEPARATOR ':' #endif -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) +#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ + defined __OS2__ # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 @@ -4268,10 +5641,10 @@ #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ + if (stale) { free (stale); stale = 0; } \ } while (0) -#if defined(LT_DEBUGWRAPPER) +#if defined LT_DEBUGWRAPPER static int lt_debug = 1; #else static int lt_debug = 0; @@ -4300,11 +5673,16 @@ EOF cat < 0) && IS_PATH_SEPARATOR (new_value[len-1])) + size_t len = strlen (new_value); + while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { - new_value[len-1] = '\0'; + new_value[--len] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); @@ -5082,27 +6460,47 @@ # True if ARG is an import lib, as indicated by $file_magic_cmd func_win32_import_lib_p () { - $opt_debug + $debug_cmd + case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in *import*) : ;; *) false ;; esac } +# func_suncc_cstd_abi +# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! +# Several compiler flags select an ABI that is incompatible with the +# Cstd library. Avoid specifying it if any are in CXXFLAGS. +func_suncc_cstd_abi () +{ + $debug_cmd + + case " $compile_command " in + *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) + suncc_use_cstd_abi=no + ;; + *) + suncc_use_cstd_abi=yes + ;; + esac +} + # func_mode_link arg... func_mode_link () { - $opt_debug + $debug_cmd + case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra + # what system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll which has undefined symbols, in which case not + # to make a dll that has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. @@ -5146,10 +6544,11 @@ module=no no_install=no objs= + os2dllname= non_pic_objects= precious_files_regex= prefer_static_libs=no - preload=no + preload=false prev= prevarg= release= @@ -5161,7 +6560,7 @@ vinfo= vinfo_number=no weak_libs= - single_module="${wl}-single_module" + single_module=$wl-single_module func_infer_tag $base_compile # We need to know -static, to get the right output filenames. @@ -5169,15 +6568,15 @@ do case $arg in -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" + test yes != "$build_libtool_libs" \ + && func_fatal_configuration "cannot build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) - if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then + if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then @@ -5210,7 +6609,7 @@ # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do - arg="$1" + arg=$1 shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result @@ -5227,21 +6626,21 @@ case $prev in bindir) - bindir="$arg" + bindir=$arg prev= continue ;; dlfiles|dlprefiles) - if test "$preload" = no; then + $preload || { # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" - preload=yes - fi + preload=: + } case $arg in *.la | *.lo) ;; # We handle these cases below. force) - if test "$dlself" = no; then + if test no = "$dlself"; then dlself=needless export_dynamic=yes fi @@ -5249,9 +6648,9 @@ continue ;; self) - if test "$prev" = dlprefiles; then + if test dlprefiles = "$prev"; then dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then dlself=yes else dlself=needless @@ -5261,7 +6660,7 @@ continue ;; *) - if test "$prev" = dlfiles; then + if test dlfiles = "$prev"; then func_append dlfiles " $arg" else func_append dlprefiles " $arg" @@ -5272,14 +6671,14 @@ esac ;; expsyms) - export_symbols="$arg" + export_symbols=$arg test -f "$arg" \ - || func_fatal_error "symbol file \`$arg' does not exist" + || func_fatal_error "symbol file '$arg' does not exist" prev= continue ;; expsyms_regex) - export_symbols_regex="$arg" + export_symbols_regex=$arg prev= continue ;; @@ -5297,7 +6696,13 @@ continue ;; inst_prefix) - inst_prefix_dir="$arg" + inst_prefix_dir=$arg + prev= + continue + ;; + mllvm) + # Clang does not use LLVM to link, so we can simply discard any + # '-mllvm $arg' options when doing the link step. prev= continue ;; @@ -5321,21 +6726,21 @@ if test -z "$pic_object" || test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" - xdir="$func_dirname_result" + xdir=$func_dirname_result - if test "$pic_object" != none; then + if test none != "$pic_object"; then # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" + pic_object=$xdir$pic_object - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then func_append dlfiles " $pic_object" prev= continue @@ -5346,7 +6751,7 @@ fi # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then + if test dlprefiles = "$prev"; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= @@ -5354,23 +6759,23 @@ # A PIC object. func_append libobjs " $pic_object" - arg="$pic_object" + arg=$pic_object fi # Non-PIC object. - if test "$non_pic_object" != none; then + if test none != "$non_pic_object"; then # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" + non_pic_object=$xdir$non_pic_object # A standard non-PIC object func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" + non_pic_object=$pic_object func_append non_pic_objects " $non_pic_object" fi else @@ -5378,7 +6783,7 @@ if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" - xdir="$func_dirname_result" + xdir=$func_dirname_result func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result @@ -5386,24 +6791,29 @@ func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else - func_fatal_error "\`$arg' is not a valid libtool object" + func_fatal_error "'$arg' is not a valid libtool object" fi fi done else - func_fatal_error "link input file \`$arg' does not exist" + func_fatal_error "link input file '$arg' does not exist" fi arg=$save_arg prev= continue ;; + os2dllname) + os2dllname=$arg + prev= + continue + ;; precious_regex) - precious_files_regex="$arg" + precious_files_regex=$arg prev= continue ;; release) - release="-$arg" + release=-$arg prev= continue ;; @@ -5415,7 +6825,7 @@ func_fatal_error "only absolute run-paths are allowed" ;; esac - if test "$prev" = rpath; then + if test rpath = "$prev"; then case "$rpath " in *" $arg "*) ;; *) func_append rpath " $arg" ;; @@ -5430,7 +6840,7 @@ continue ;; shrext) - shrext_cmds="$arg" + shrext_cmds=$arg prev= continue ;; @@ -5470,7 +6880,7 @@ esac fi # test -n "$prev" - prevarg="$arg" + prevarg=$arg case $arg in -all-static) @@ -5484,7 +6894,7 @@ -allow-undefined) # FIXME: remove this flag sometime in the future. - func_fatal_error "\`-allow-undefined' must not be used because it is the default" + func_fatal_error "'-allow-undefined' must not be used because it is the default" ;; -avoid-version) @@ -5516,7 +6926,7 @@ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi - if test "X$arg" = "X-export-symbols"; then + if test X-export-symbols = "X$arg"; then prev=expsyms else prev=expsyms_regex @@ -5550,9 +6960,9 @@ func_stripname "-L" '' "$arg" if test -z "$func_stripname_result"; then if test "$#" -gt 0; then - func_fatal_error "require no space between \`-L' and \`$1'" + func_fatal_error "require no space between '-L' and '$1'" else - func_fatal_error "need path for \`-L' option" + func_fatal_error "need path for '-L' option" fi fi func_resolve_sysroot "$func_stripname_result" @@ -5563,8 +6973,8 @@ *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of \`$dir'" - dir="$absdir" + func_fatal_error "cannot determine absolute directory name of '$dir'" + dir=$absdir ;; esac case "$deplibs " in @@ -5599,7 +7009,7 @@ ;; -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + if test X-lc = "X$arg" || test X-lm = "X$arg"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) # These systems don't actually have a C or math library (as such) @@ -5607,11 +7017,11 @@ ;; *-*-os2*) # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue + test X-lc = "X$arg" && continue ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue + test X-lc = "X$arg" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework @@ -5620,16 +7030,16 @@ ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype - test "X$arg" = "X-lc" && continue + test X-lc = "X$arg" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue + test X-lc = "X$arg" && continue ;; esac - elif test "X$arg" = "X-lc_r"; then + elif test X-lc_r = "X$arg"; then case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) # Do not include libc_r directly, use -pthread flag. continue ;; @@ -5639,6 +7049,11 @@ continue ;; + -mllvm) + prev=mllvm + continue + ;; + -module) module=yes continue @@ -5668,7 +7083,7 @@ ;; -multi_module) - single_module="${wl}-multi_module" + single_module=$wl-multi_module continue ;; @@ -5682,8 +7097,8 @@ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. - func_warning "\`-no-install' is ignored for $host" - func_warning "assuming \`-no-fast-install' instead" + func_warning "'-no-install' is ignored for $host" + func_warning "assuming '-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; @@ -5701,6 +7116,11 @@ continue ;; + -os2dllname) + prev=os2dllname + continue + ;; + -o) prev=output ;; -precious-files-regex) @@ -5788,14 +7208,14 @@ func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= - save_ifs="$IFS"; IFS=',' + save_ifs=$IFS; IFS=, for flag in $args; do - IFS="$save_ifs" + IFS=$save_ifs func_quote_for_eval "$flag" func_append arg " $func_quote_for_eval_result" func_append compiler_flags " $func_quote_for_eval_result" done - IFS="$save_ifs" + IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; @@ -5804,15 +7224,15 @@ func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= - save_ifs="$IFS"; IFS=',' + save_ifs=$IFS; IFS=, for flag in $args; do - IFS="$save_ifs" + IFS=$save_ifs func_quote_for_eval "$flag" func_append arg " $wl$func_quote_for_eval_result" func_append compiler_flags " $wl$func_quote_for_eval_result" func_append linker_flags " $func_quote_for_eval_result" done - IFS="$save_ifs" + IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; @@ -5835,7 +7255,7 @@ # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" + arg=$func_quote_for_eval_result ;; # Flags to be passed through unchanged, with rationale: @@ -5847,25 +7267,46 @@ # -m*, -t[45]*, -txscale* architecture-specific flags for GCC # -F/path path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* profiling flags for GCC + # -fstack-protector* stack protector flags for GCC # @file GCC response files # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support - # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -stdlib=* select c++ std lib with clang -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-flto*|-fwhopr*|-fuse-linker-plugin) + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*) func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" + arg=$func_quote_for_eval_result func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" continue ;; + -Z*) + if test os2 = "`expr $host : '.*\(os2\)'`"; then + # OS/2 uses -Zxxx to specify OS/2-specific options + compiler_flags="$compiler_flags $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case $arg in + -Zlinker | -Zstack) + prev=xcompiler + ;; + esac + continue + else + # Otherwise treat like 'Some other compiler flag' below + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result + fi + ;; + # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" + arg=$func_quote_for_eval_result ;; *.$objext) @@ -5886,21 +7327,21 @@ if test -z "$pic_object" || test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" - xdir="$func_dirname_result" + xdir=$func_dirname_result - if test "$pic_object" != none; then + test none = "$pic_object" || { # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" + pic_object=$xdir$pic_object - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then func_append dlfiles " $pic_object" prev= continue @@ -5911,7 +7352,7 @@ fi # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then + if test dlprefiles = "$prev"; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= @@ -5919,23 +7360,23 @@ # A PIC object. func_append libobjs " $pic_object" - arg="$pic_object" - fi + arg=$pic_object + } # Non-PIC object. - if test "$non_pic_object" != none; then + if test none != "$non_pic_object"; then # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" + non_pic_object=$xdir$non_pic_object # A standard non-PIC object func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" + non_pic_object=$pic_object func_append non_pic_objects " $non_pic_object" fi else @@ -5943,7 +7384,7 @@ if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" - xdir="$func_dirname_result" + xdir=$func_dirname_result func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result @@ -5951,7 +7392,7 @@ func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else - func_fatal_error "\`$arg' is not a valid libtool object" + func_fatal_error "'$arg' is not a valid libtool object" fi fi ;; @@ -5967,11 +7408,11 @@ # A libtool-controlled library. func_resolve_sysroot "$arg" - if test "$prev" = dlfiles; then + if test dlfiles = "$prev"; then # This library was specified with -dlopen. func_append dlfiles " $func_resolve_sysroot_result" prev= - elif test "$prev" = dlprefiles; then + elif test dlprefiles = "$prev"; then # The library was specified with -dlpreopen. func_append dlprefiles " $func_resolve_sysroot_result" prev= @@ -5986,7 +7427,7 @@ # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" + arg=$func_quote_for_eval_result ;; esac # arg @@ -5998,9 +7439,9 @@ done # argument parsing loop test -n "$prev" && \ - func_fatal_help "the \`$prevarg' option requires an argument" + func_fatal_help "the '$prevarg' option requires an argument" - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" @@ -6009,20 +7450,23 @@ oldlibs= # calculate the name of the file, without its directory func_basename "$output" - outputname="$func_basename_result" - libobjs_save="$libobjs" + outputname=$func_basename_result + libobjs_save=$libobjs if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` + eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + # Definition is injected by LT_CONFIG during libtool generation. + func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" + func_dirname "$output" "/" "" - output_objdir="$func_dirname_result$objdir" + output_objdir=$func_dirname_result$objdir func_to_tool_file "$output_objdir/" tool_output_objdir=$func_to_tool_file_result # Create the object directory. @@ -6045,7 +7489,7 @@ # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do - if $opt_preserve_dup_deps ; then + if $opt_preserve_dup_deps; then case "$libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac @@ -6053,7 +7497,7 @@ func_append libs " $deplib" done - if test "$linkmode" = lib; then + if test lib = "$linkmode"; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps @@ -6085,7 +7529,7 @@ case $file in *.la) ;; *) - func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" + func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" ;; esac done @@ -6093,7 +7537,7 @@ prog) compile_deplibs= finalize_deplibs= - alldeplibs=no + alldeplibs=false newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" @@ -6105,29 +7549,29 @@ for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... - if test "$linkmode,$pass" = "lib,link"; then + if test lib,link = "$linkmode,$pass"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done - deplibs="$tmp_deplibs" + deplibs=$tmp_deplibs fi - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass"; then + libs=$deplibs deplibs= fi - if test "$linkmode" = prog; then + if test prog = "$linkmode"; then case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; + dlopen) libs=$dlfiles ;; + dlpreopen) libs=$dlprefiles ;; link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; esac fi - if test "$linkmode,$pass" = "lib,dlpreopen"; then + if test lib,dlpreopen = "$linkmode,$pass"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs @@ -6148,26 +7592,26 @@ esac done done - libs="$dlprefiles" + libs=$dlprefiles fi - if test "$pass" = dlopen; then + if test dlopen = "$pass"; then # Collect dlpreopened libraries - save_deplibs="$deplibs" + save_deplibs=$deplibs deplibs= fi for deplib in $libs; do lib= - found=no + found=false case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test "$linkmode,$pass" = "prog,link"; then + if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append compiler_flags " $deplib" - if test "$linkmode" = lib ; then + if test lib = "$linkmode"; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; @@ -6177,13 +7621,13 @@ continue ;; -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - func_warning "\`-l' is ignored for archives/objects" + if test lib != "$linkmode" && test prog != "$linkmode"; then + func_warning "'-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result - if test "$linkmode" = lib; then + if test lib = "$linkmode"; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" @@ -6191,31 +7635,22 @@ for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" + lib=$searchdir/lib$name$search_ext if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes + if test .la = "$search_ext"; then + found=: else - found=no + found=false fi break 2 fi done done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library + if $found; then + # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then @@ -6223,19 +7658,19 @@ old_library= func_source "$lib" for l in $old_library $library_names; do - ll="$l" + ll=$l done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no + if test "X$ll" = "X$old_library"; then # only static version available + found=false func_dirname "$lib" "" "." - ladir="$func_dirname_result" + ladir=$func_dirname_result lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then + if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" fi continue fi @@ -6244,15 +7679,25 @@ *) ;; esac fi + else + # deplib doesn't seem to be a libtool library + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" + fi + continue fi ;; # -l *.ltframework) - if test "$linkmode,$pass" = "prog,link"; then + if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" - if test "$linkmode" = lib ; then + if test lib = "$linkmode"; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; @@ -6265,18 +7710,18 @@ case $linkmode in lib) deplibs="$deplib $deplibs" - test "$pass" = conv && continue + test conv = "$pass" && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; prog) - if test "$pass" = conv; then + if test conv = "$pass"; then deplibs="$deplib $deplibs" continue fi - if test "$pass" = scan; then + if test scan = "$pass"; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" @@ -6287,13 +7732,13 @@ func_append newlib_search_path " $func_resolve_sysroot_result" ;; *) - func_warning "\`-L' is ignored for archives/objects" + func_warning "'-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) - if test "$pass" = link; then + if test link = "$pass"; then func_stripname '-R' '' "$deplib" func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result @@ -6311,7 +7756,7 @@ lib=$func_resolve_sysroot_result ;; *.$libext) - if test "$pass" = conv; then + if test conv = "$pass"; then deplibs="$deplib $deplibs" continue fi @@ -6322,21 +7767,26 @@ case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) - valid_a_lib=no + valid_a_lib=false case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes + valid_a_lib=: fi ;; pass_all) - valid_a_lib=yes + valid_a_lib=: ;; esac - if test "$valid_a_lib" != yes; then + if $valid_a_lib; then + echo + $ECHO "*** Warning: Linking the shared library $output against the" + $ECHO "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + else echo $ECHO "*** Warning: Trying to link with static lib archive $deplib." echo "*** I have the capability to make that library automatically link in when" @@ -6344,18 +7794,13 @@ echo "*** shared version of the library, which you do not appear to have" echo "*** because the file extensions .$libext of this argument makes me believe" echo "*** that it is just a static archive that I should not use here." - else - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" fi ;; esac continue ;; prog) - if test "$pass" != link; then + if test link != "$pass"; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" @@ -6366,10 +7811,10 @@ esac # linkmode ;; # *.$libext *.lo | *.$objext) - if test "$pass" = conv; then + if test conv = "$pass"; then deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + elif test prog = "$linkmode"; then + if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then # If there is no dlopen support or we're linking statically, # we need to preload. func_append newdlprefiles " $deplib" @@ -6382,22 +7827,20 @@ continue ;; %DEPLIBS%) - alldeplibs=yes + alldeplibs=: continue ;; esac # case $deplib - if test "$found" = yes || test -f "$lib"; then : - else - func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" - fi + $found || test -f "$lib" \ + || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ - || func_fatal_error "\`$lib' is not a valid libtool archive" + || func_fatal_error "'$lib' is not a valid libtool archive" func_dirname "$lib" "" "." - ladir="$func_dirname_result" + ladir=$func_dirname_result dlname= dlopen= @@ -6427,30 +7870,30 @@ done fi dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass" || + { test prog != "$linkmode" && test lib != "$linkmode"; }; then test -n "$dlopen" && func_append dlfiles " $dlopen" test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" fi - if test "$pass" = conv; then + if test conv = "$pass"; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for \`$lib'" + func_fatal_error "cannot find name of link library for '$lib'" fi # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" - elif test "$linkmode" != prog && test "$linkmode" != lib; then - func_fatal_error "\`$lib' is not a convenience library" + elif test prog != "$linkmode" && test lib != "$linkmode"; then + func_fatal_error "'$lib' is not a convenience library" fi tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps ; then + if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac @@ -6464,26 +7907,26 @@ # Get the name of the library we link against. linklib= if test -n "$old_library" && - { test "$prefer_static_libs" = yes || - test "$prefer_static_libs,$installed" = "built,no"; }; then + { test yes = "$prefer_static_libs" || + test built,no = "$prefer_static_libs,$installed"; }; then linklib=$old_library else for l in $old_library $library_names; do - linklib="$l" + linklib=$l done fi if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for \`$lib'" + func_fatal_error "cannot find name of link library for '$lib'" fi # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - func_fatal_error "cannot -dlopen a convenience library: \`$lib'" - fi + if test dlopen = "$pass"; then + test -z "$libdir" \ + && func_fatal_error "cannot -dlopen a convenience library: '$lib'" if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then + test yes != "$dlopen_support" || + test no = "$build_libtool_libs" + then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't @@ -6497,40 +7940,40 @@ # We need an absolute path. case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of \`$ladir'" + func_warning "cannot determine absolute directory name of '$ladir'" func_warning "passing it literally to the linker, although it might fail" - abs_ladir="$ladir" + abs_ladir=$ladir fi ;; esac func_basename "$lib" - laname="$func_basename_result" + laname=$func_basename_result # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then + if test yes = "$installed"; then if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - #func_warning "library \`$lib' was moved." - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" + #func_warning "library '$lib' was moved." + dir=$ladir + absdir=$abs_ladir + libdir=$abs_ladir else - dir="$lt_sysroot$libdir" - absdir="$lt_sysroot$libdir" + dir=$lt_sysroot$libdir + absdir=$lt_sysroot$libdir fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + test yes = "$hardcode_automatic" && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" + dir=$ladir + absdir=$abs_ladir # Remove this search path later func_append notinst_path " $abs_ladir" else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" + dir=$ladir/$objdir + absdir=$abs_ladir/$objdir # Remove this search path later func_append notinst_path " $abs_ladir" fi @@ -6539,11 +7982,11 @@ name=$func_stripname_result # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir" && test "$linkmode" = prog; then - func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" + if test dlpreopen = "$pass"; then + if test -z "$libdir" && test prog = "$linkmode"; then + func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" fi - case "$host" in + case $host in # special handling for platforms with PE-DLLs. *cygwin* | *mingw* | *cegcc* ) # Linker will automatically link against shared library if both @@ -6587,9 +8030,9 @@ if test -z "$libdir"; then # Link the convenience library - if test "$linkmode" = lib; then + if test lib = "$linkmode"; then deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then + elif test prog,link = "$linkmode,$pass"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else @@ -6599,14 +8042,14 @@ fi - if test "$linkmode" = prog && test "$pass" != link; then + if test prog = "$linkmode" && test link != "$pass"; then func_append newlib_search_path " $ladir" deplibs="$lib $deplibs" - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes + linkalldeplibs=false + if test no != "$link_all_deplibs" || test -z "$library_names" || + test no = "$build_libtool_libs"; then + linkalldeplibs=: fi tmp_libs= @@ -6618,14 +8061,14 @@ ;; esac # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then + if $linkalldeplibs; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi - if $opt_preserve_dup_deps ; then + if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac @@ -6635,15 +8078,15 @@ continue fi # $linkmode = prog... - if test "$linkmode,$pass" = "prog,link"; then + if test prog,link = "$linkmode,$pass"; then if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || + { { test no = "$prefer_static_libs" || + test built,yes = "$prefer_static_libs,$installed"; } || test -z "$old_library"; }; then # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then # Make sure the rpath contains only unique directories. - case "$temp_rpath:" in + case $temp_rpath: in *"$absdir:"*) ;; *) func_append temp_rpath "$absdir:" ;; esac @@ -6672,9 +8115,9 @@ esac fi # $linkmode,$pass = prog,link... - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && + if $alldeplibs && + { test pass_all = "$deplibs_check_method" || + { test yes = "$build_libtool_libs" && test -n "$library_names"; }; }; then # We only need to search for static libraries continue @@ -6683,19 +8126,19 @@ link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes; then + if test built = "$use_static_libs" && test yes = "$installed"; then use_static_libs=no fi if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then + { test no = "$use_static_libs" || test -z "$old_library"; }; then case $host in - *cygwin* | *mingw* | *cegcc*) + *cygwin* | *mingw* | *cegcc* | *os2*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" need_relink=no ;; *) - if test "$installed" = no; then + if test no = "$installed"; then func_append notinst_deplibs " $lib" need_relink=yes fi @@ -6705,24 +8148,24 @@ # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule="" + dlopenmodule= for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule="$dlpremoduletest" + dlopenmodule=$dlpremoduletest break fi done - if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then + if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then echo - if test "$linkmode" = prog; then + if test prog = "$linkmode"; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then + if test lib = "$linkmode" && + test yes = "$hardcode_into_libs"; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. @@ -6750,43 +8193,43 @@ # figure out the soname set dummy $library_names shift - realname="$1" + realname=$1 shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then - soname="$dlname" + soname=$dlname elif test -n "$soname_spec"; then # bleh windows case $host in - *cygwin* | mingw* | *cegcc*) + *cygwin* | mingw* | *cegcc* | *os2*) func_arith $current - $age major=$func_arith_result - versuffix="-$major" + versuffix=-$major ;; esac eval soname=\"$soname_spec\" else - soname="$realname" + soname=$realname fi # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" + soroot=$soname func_basename "$soroot" - soname="$func_basename_result" + soname=$func_basename_result func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else - func_verbose "extracting exported symbol list from \`$soname'" + func_verbose "extracting exported symbol list from '$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for \`$soname'" + func_verbose "generating import library for '$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library @@ -6794,58 +8237,58 @@ linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" - if test "$linkmode" = prog || test "$opt_mode" != relink; then + if test prog = "$linkmode" || test relink != "$opt_mode"; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" + if test no = "$hardcode_direct"; then + add=$dir/$linklib case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; + *-*-sysv4*uw2*) add_dir=-L$dir ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; + *-*-unixware7*) add_dir=-L$dir ;; *-*-darwin* ) - # if the lib is a (non-dlopened) module then we can not + # if the lib is a (non-dlopened) module then we cannot # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null ; then + $GREP ": [^:]* bundle" >/dev/null; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then + if test -z "$old_library"; then echo echo "*** And there doesn't seem to be a static archive available" echo "*** The link will probably fail, sorry" else - add="$dir/$old_library" + add=$dir/$old_library fi elif test -n "$old_library"; then - add="$dir/$old_library" + add=$dir/$old_library fi fi esac - elif test "$hardcode_minus_L" = no; then + elif test no = "$hardcode_minus_L"; then case $host in - *-*-sunos*) add_shlibpath="$dir" ;; + *-*-sunos*) add_shlibpath=$dir ;; esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" + add_dir=-L$dir + add=-l$name + elif test no = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name else lib_linked=no fi ;; relink) - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$absdir" + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$dir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$absdir # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in @@ -6854,10 +8297,10 @@ ;; esac fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name else lib_linked=no fi @@ -6865,7 +8308,7 @@ *) lib_linked=no ;; esac - if test "$lib_linked" != yes; then + if test yes != "$lib_linked"; then func_fatal_configuration "unsupported hardcode properties" fi @@ -6875,15 +8318,15 @@ *) func_append compile_shlibpath "$add_shlibpath:" ;; esac fi - if test "$linkmode" = prog; then + if test prog = "$linkmode"; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && - test "$hardcode_minus_L" != yes && - test "$hardcode_shlibpath_var" = yes; then + if test yes != "$hardcode_direct" && + test yes != "$hardcode_minus_L" && + test yes = "$hardcode_shlibpath_var"; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; @@ -6892,33 +8335,33 @@ fi fi - if test "$linkmode" = prog || test "$opt_mode" = relink; then + if test prog = "$linkmode" || test relink = "$opt_mode"; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$libdir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$libdir + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then + add=-l$name + elif test yes = "$hardcode_automatic"; then if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" + test -f "$inst_prefix_dir$libdir/$linklib"; then + add=$inst_prefix_dir$libdir/$linklib else - add="$libdir/$linklib" + add=$libdir/$linklib fi else # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" + add_dir=-L$libdir # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in @@ -6927,10 +8370,10 @@ ;; esac fi - add="-l$name" + add=-l$name fi - if test "$linkmode" = prog; then + if test prog = "$linkmode"; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else @@ -6938,43 +8381,43 @@ test -n "$add" && deplibs="$add $deplibs" fi fi - elif test "$linkmode" = prog; then + elif test prog = "$linkmode"; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" + if test unsupported != "$hardcode_direct"; then + test -n "$old_library" && linklib=$old_library compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi - elif test "$build_libtool_libs" = yes; then + elif test yes = "$build_libtool_libs"; then # Not a shared library - if test "$deplibs_check_method" != pass_all; then + if test pass_all != "$deplibs_check_method"; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. echo - $ECHO "*** Warning: This system can not link to static lib archive $lib." + $ECHO "*** Warning: This system cannot link to static lib archive $lib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then + if test yes = "$module"; then echo "*** But as you try to build a module library, libtool will still create " echo "*** a static module, that should work as long as the dlopening application" echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." + echo "*** 'nm' from GNU binutils and a full rebuild may help." fi - if test "$build_old_libs" = no; then + if test no = "$build_old_libs"; then build_libtool_libs=module build_old_libs=yes else @@ -6987,11 +8430,11 @@ fi fi # link shared/static library? - if test "$linkmode" = lib; then + if test lib = "$linkmode"; then if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then + { test yes != "$hardcode_into_libs" || + test yes = "$build_old_libs" || + test yes = "$link_static"; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do @@ -7005,12 +8448,12 @@ *) func_append temp_deplibs " $libdir";; esac done - dependency_libs="$temp_deplibs" + dependency_libs=$temp_deplibs fi func_append newlib_search_path " $absdir" # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do @@ -7020,7 +8463,7 @@ func_resolve_sysroot "$func_stripname_result";; *) func_resolve_sysroot "$deplib" ;; esac - if $opt_preserve_dup_deps ; then + if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $func_resolve_sysroot_result "*) func_append specialdeplibs " $func_resolve_sysroot_result" ;; @@ -7029,12 +8472,12 @@ func_append tmp_libs " $func_resolve_sysroot_result" done - if test "$link_all_deplibs" != no; then + if test no != "$link_all_deplibs"; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in - -L*) path="$deplib" ;; + -L*) path=$deplib ;; *.la) func_resolve_sysroot "$deplib" deplib=$func_resolve_sysroot_result @@ -7042,12 +8485,12 @@ dir=$func_dirname_result # We need an absolute path. case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of \`$dir'" - absdir="$dir" + func_warning "cannot determine absolute directory name of '$dir'" + absdir=$dir fi ;; esac @@ -7055,35 +8498,35 @@ case $host in *-*-darwin*) depdepl= - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do + eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names"; then + for tmp in $deplibrary_names; do depdepl=$tmp done - if test -f "$absdir/$objdir/$depdepl" ; then - depdepl="$absdir/$objdir/$depdepl" - darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + if test -f "$absdir/$objdir/$depdepl"; then + depdepl=$absdir/$objdir/$depdepl + darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then - darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi - func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" - func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" + func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" + func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" path= fi fi ;; *) - path="-L$absdir/$objdir" + path=-L$absdir/$objdir ;; esac else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - #test "$absdir" != "$libdir" && \ - # func_warning "\`$deplib' seems to be moved" + func_fatal_error "'$deplib' is not a valid libtool archive" + test "$absdir" != "$libdir" && \ + #func_warning "'$deplib' seems to be moved" - path="-L$absdir" + path=-L$absdir fi ;; esac @@ -7095,23 +8538,23 @@ fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs - if test "$pass" = link; then - if test "$linkmode" = "prog"; then + if test link = "$pass"; then + if test prog = "$linkmode"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then + dependency_libs=$newdependency_libs + if test dlpreopen = "$pass"; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then + if test dlopen != "$pass"; then + test conv = "$pass" || { # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do @@ -7121,12 +8564,12 @@ esac done newlib_search_path= - fi + } - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else + if test prog,link = "$linkmode,$pass"; then vars="compile_deplibs finalize_deplibs" + else + vars=deplibs fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order @@ -7184,62 +8627,93 @@ eval $var=\"$tmp_libs\" done # for var fi + + # Add Sun CC postdeps if required: + test CXX = "$tagname" && { + case $host_os in + linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C++ 5.9 + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + + solaris*) + func_cc_basename "$CC" + case $func_cc_basename_result in + CC* | sunCC*) + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + esac + } + # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= - for i in $dependency_libs ; do + for i in $dependency_libs; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) - i="" + i= ;; esac - if test -n "$i" ; then + if test -n "$i"; then func_append tmp_libs " $i" fi done dependency_libs=$tmp_libs done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" + if test prog = "$linkmode"; then + dlfiles=$newdlfiles fi - if test "$linkmode" = prog || test "$linkmode" = lib; then - dlprefiles="$newdlprefiles" + if test prog = "$linkmode" || test lib = "$linkmode"; then + dlprefiles=$newdlprefiles fi case $linkmode in oldlib) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for archives" + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for archives" ;; + func_warning "'-l' and '-L' are ignored for archives" ;; esac test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for archives" + func_warning "'-rpath' is ignored for archives" test -n "$xrpath" && \ - func_warning "\`-R' is ignored for archives" + func_warning "'-R' is ignored for archives" test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for archives" + func_warning "'-version-info/-version-number' is ignored for archives" test -n "$release" && \ - func_warning "\`-release' is ignored for archives" + func_warning "'-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ - func_warning "\`-export-symbols' is ignored for archives" + func_warning "'-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no - oldlibs="$output" + oldlibs=$output func_append objs "$old_deplibs" ;; lib) - # Make sure we only generate libraries of the form `libNAME.la'. + # Make sure we only generate libraries of the form 'libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" @@ -7248,10 +8722,10 @@ eval libname=\"$libname_spec\" ;; *) - test "$module" = no && \ - func_fatal_help "libtool library \`$output' must begin with \`lib'" + test no = "$module" \ + && func_fatal_help "libtool library '$output' must begin with 'lib'" - if test "$need_lib_prefix" != no; then + if test no != "$need_lib_prefix"; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result @@ -7265,8 +8739,8 @@ esac if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" + if test pass_all != "$deplibs_check_method"; then + func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" else echo $ECHO "*** Warning: Linking the shared library $output against the non-libtool" @@ -7275,21 +8749,21 @@ fi fi - test "$dlself" != no && \ - func_warning "\`-dlopen self' is ignored for libtool libraries" + test no = "$dlself" \ + || func_warning "'-dlopen self' is ignored for libtool libraries" set dummy $rpath shift - test "$#" -gt 1 && \ - func_warning "ignoring multiple \`-rpath's for a libtool library" + test 1 -lt "$#" \ + && func_warning "ignoring multiple '-rpath's for a libtool library" - install_libdir="$1" + install_libdir=$1 oldlibs= if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then + if test yes = "$build_libtool_libs"; then # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so + # Some compilers have problems with a '.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" @@ -7298,20 +8772,20 @@ fi test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for convenience libraries" + func_warning "'-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ - func_warning "\`-release' is ignored for convenience libraries" + func_warning "'-release' is ignored for convenience libraries" else # Parse the version information argument. - save_ifs="$IFS"; IFS=':' + save_ifs=$IFS; IFS=: set dummy $vinfo 0 0 0 shift - IFS="$save_ifs" + IFS=$save_ifs test -n "$7" && \ - func_fatal_help "too many parameters to \`-version-info'" + func_fatal_help "too many parameters to '-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts @@ -7319,42 +8793,42 @@ case $vinfo_number in yes) - number_major="$1" - number_minor="$2" - number_revision="$3" + number_major=$1 + number_minor=$2 + number_revision=$3 # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix - # which has an extra 1 added just for fun + # that has an extra 1 added just for fun # case $version_type in # correct linux to gnu/linux during the next big refactor - darwin|linux|osf|windows|none) + darwin|freebsd-elf|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result - age="$number_minor" - revision="$number_revision" + age=$number_minor + revision=$number_revision ;; - freebsd-aout|freebsd-elf|qnx|sunos) - current="$number_major" - revision="$number_minor" - age="0" + freebsd-aout|qnx|sunos) + current=$number_major + revision=$number_minor + age=0 ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result - age="$number_minor" - revision="$number_minor" + age=$number_minor + revision=$number_minor lt_irix_increment=no ;; esac ;; no) - current="$1" - revision="$2" - age="$3" + current=$1 + revision=$2 + age=$3 ;; esac @@ -7362,30 +8836,30 @@ case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) - func_error "CURRENT \`$current' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" + func_error "CURRENT '$current' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) - func_error "REVISION \`$revision' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" + func_error "REVISION '$revision' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) - func_error "AGE \`$age' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" + func_error "AGE '$age' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then - func_error "AGE \`$age' is greater than the current interface number \`$current'" - func_fatal_error "\`$vinfo' is not valid version information" + func_error "AGE '$age' is greater than the current interface number '$current'" + func_fatal_error "'$vinfo' is not valid version information" fi # Calculate the version variables. @@ -7400,26 +8874,36 @@ # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result - versuffix="$major.$age.$revision" + versuffix=$major.$age.$revision # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result - xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + # On Darwin other compilers + case $CC in + nagfor*) + verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" + ;; + *) + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + esac ;; freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; + major=.$current + versuffix=.$current.$revision ;; freebsd-elf) - major=".$current" - versuffix=".$current" + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision ;; irix | nonstopux) - if test "X$lt_irix_increment" = "Xno"; then + if test no = "$lt_irix_increment"; then func_arith $current - $age else func_arith $current - $age + 1 @@ -7430,69 +8914,74 @@ nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac - verstring="$verstring_prefix$major.$revision" + verstring=$verstring_prefix$major.$revision # Add in all the interfaces that we are compatible with. loop=$revision - while test "$loop" -ne 0; do + while test 0 -ne "$loop"; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result - verstring="$verstring_prefix$major.$iface:$verstring" + verstring=$verstring_prefix$major.$iface:$verstring done - # Before this point, $major must not contain `.'. + # Before this point, $major must not contain '.'. major=.$major - versuffix="$major.$revision" + versuffix=$major.$revision ;; linux) # correct to gnu/linux during the next big refactor func_arith $current - $age major=.$func_arith_result - versuffix="$major.$age.$revision" + versuffix=$major.$age.$revision ;; osf) func_arith $current - $age major=.$func_arith_result - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" + versuffix=.$current.$age.$revision + verstring=$current.$age.$revision # Add in all the interfaces that we are compatible with. loop=$age - while test "$loop" -ne 0; do + while test 0 -ne "$loop"; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result - verstring="$verstring:${iface}.0" + verstring=$verstring:$iface.0 done # Make executables depend on our current version. - func_append verstring ":${current}.0" + func_append verstring ":$current.0" ;; qnx) - major=".$current" - versuffix=".$current" + major=.$current + versuffix=.$current + ;; + + sco) + major=.$current + versuffix=.$current ;; sunos) - major=".$current" - versuffix=".$current.$revision" + major=.$current + versuffix=.$current.$revision ;; windows) # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. + # extension on DOS 8.3 file systems. func_arith $current - $age major=$func_arith_result - versuffix="-$major" + versuffix=-$major ;; *) - func_fatal_configuration "unknown library version type \`$version_type'" + func_fatal_configuration "unknown library version type '$version_type'" ;; esac @@ -7506,42 +8995,45 @@ verstring= ;; *) - verstring="0.0" + verstring=0.0 ;; esac - if test "$need_version" = no; then + if test no = "$need_version"; then versuffix= else - versuffix=".0.0" + versuffix=.0.0 fi fi # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then + if test yes,no = "$avoid_version,$need_version"; then major= versuffix= - verstring="" + verstring= fi # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - func_warning "undefined symbols not allowed in $host shared libraries" - build_libtool_libs=no - build_old_libs=yes + if test yes = "$allow_undefined"; then + if test unsupported = "$allow_undefined_flag"; then + if test yes = "$build_old_libs"; then + func_warning "undefined symbols not allowed in $host shared libraries; building static only" + build_libtool_libs=no + else + func_fatal_error "can't build $host shared library unless -no-undefined is specified" + fi fi else # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" + allow_undefined_flag=$no_undefined_flag fi fi - func_generate_dlsyms "$libname" "$libname" "yes" + func_generate_dlsyms "$libname" "$libname" : func_append libobjs " $symfileobj" - test "X$libobjs" = "X " && libobjs= + test " " = "$libobjs" && libobjs= - if test "$opt_mode" != relink; then + if test relink != "$opt_mode"; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= @@ -7550,8 +9042,8 @@ case $p in *.$objext | *.gcno) ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) + if test -n "$precious_files_regex"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue @@ -7567,11 +9059,11 @@ fi # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then func_append oldlibs " $output_objdir/$libname.$libext" # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` + oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` fi # Eliminate all temporary directories. @@ -7592,13 +9084,13 @@ *) func_append finalize_rpath " $libdir" ;; esac done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" + old_dlfiles=$dlfiles dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in @@ -7608,7 +9100,7 @@ done # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" + old_dlprefiles=$dlprefiles dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in @@ -7617,7 +9109,7 @@ esac done - if test "$build_libtool_libs" = yes; then + if test yes = "$build_libtool_libs"; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) @@ -7641,7 +9133,7 @@ ;; *) # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then + if test yes = "$build_libtool_need_lc"; then func_append deplibs " -lc" fi ;; @@ -7657,9 +9149,9 @@ # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? - release="" - versuffix="" - major="" + release= + versuffix= + major= newdeplibs= droppeddeps=no case $deplibs_check_method in @@ -7688,20 +9180,20 @@ -l*) func_stripname -l '' "$i" name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $i "*) func_append newdeplibs " $i" - i="" + i= ;; esac fi - if test -n "$i" ; then + if test -n "$i"; then libname=`eval "\\$ECHO \"$libname_spec\""` deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` set dummy $deplib_matches; shift deplib_match=$1 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then func_append newdeplibs " $i" else droppeddeps=yes @@ -7731,20 +9223,20 @@ $opt_dry_run || $RM conftest if $LTCC $LTCFLAGS -o conftest conftest.c $i; then ldd_output=`ldd conftest` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $i "*) func_append newdeplibs " $i" - i="" + i= ;; esac fi - if test -n "$i" ; then + if test -n "$i"; then libname=`eval "\\$ECHO \"$libname_spec\""` deplib_matches=`eval "\\$ECHO \"$library_names_spec\""` set dummy $deplib_matches; shift deplib_match=$1 - if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then func_append newdeplibs " $i" else droppeddeps=yes @@ -7781,24 +9273,24 @@ -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $a_deplib "*) func_append newdeplibs " $a_deplib" - a_deplib="" + a_deplib= ;; esac fi - if test -n "$a_deplib" ; then + if test -n "$a_deplib"; then libname=`eval "\\$ECHO \"$libname_spec\""` if test -n "$file_magic_glob"; then libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob` else libnameglob=$libname fi - test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob` + test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - if test "$want_nocaseglob" = yes; then + if test yes = "$want_nocaseglob"; then shopt -s nocaseglob potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` $nocaseglob @@ -7816,25 +9308,25 @@ # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? - potlib="$potent_lib" + potlib=$potent_lib while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + potliblink=`ls -ld $potlib | $SED 's/.* -> //'` case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; + [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; + *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then func_append newdeplibs " $a_deplib" - a_deplib="" + a_deplib= break 2 fi done done fi - if test -n "$a_deplib" ; then + if test -n "$a_deplib"; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." @@ -7842,7 +9334,7 @@ echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then + if test -z "$potlib"; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" @@ -7865,30 +9357,30 @@ -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $a_deplib "*) func_append newdeplibs " $a_deplib" - a_deplib="" + a_deplib= ;; esac fi - if test -n "$a_deplib" ; then + if test -n "$a_deplib"; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test + potlib=$potent_lib # see symlink-check above in file_magic test if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then func_append newdeplibs " $a_deplib" - a_deplib="" + a_deplib= break 2 fi done done fi - if test -n "$a_deplib" ; then + if test -n "$a_deplib"; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." @@ -7896,7 +9388,7 @@ echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then + if test -z "$potlib"; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" @@ -7912,18 +9404,18 @@ done # Gone through all deplibs. ;; none | unknown | *) - newdeplibs="" + newdeplibs= tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + for i in $predeps $postdeps; do # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` + tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` done fi case $tmp_deplibs in *[!\ \ ]*) echo - if test "X$deplibs_check_method" = "Xnone"; then + if test none = "$deplibs_check_method"; then echo "*** Warning: inter-library dependencies are not supported in this platform." else echo "*** Warning: inter-library dependencies are not known to be supported." @@ -7947,8 +9439,8 @@ ;; esac - if test "$droppeddeps" = yes; then - if test "$module" = yes; then + if test yes = "$droppeddeps"; then + if test yes = "$module"; then echo echo "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" @@ -7957,12 +9449,12 @@ if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." + echo "*** 'nm' from GNU binutils and a full rebuild may help." fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext build_libtool_libs=module build_old_libs=yes else @@ -7973,14 +9465,14 @@ echo "*** automatically added whenever a program is linked with this library" echo "*** or is declared to -dlopen it." - if test "$allow_undefined" = no; then + if test no = "$allow_undefined"; then echo echo "*** Since this library must not contain undefined symbols," echo "*** because either the platform does not support them or" echo "*** it was explicitly requested with -no-undefined," echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext build_libtool_libs=module build_old_libs=yes else @@ -8026,7 +9518,7 @@ *) func_append new_libs " $deplib" ;; esac done - deplibs="$new_libs" + deplibs=$new_libs # All the library-specific variables (install_libdir is set above). library_names= @@ -8034,25 +9526,25 @@ dlname= # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - # Remove ${wl} instances when linking with ld. + if test yes = "$build_libtool_libs"; then + # Remove $wl instances when linking with ld. # FIXME: should test the right _cmds variable. case $archive_cmds in *\$LD\ *) wl= ;; esac - if test "$hardcode_into_libs" = yes; then + if test yes = "$hardcode_into_libs"; then # Hardcode the library paths hardcode_libdirs= dep_rpath= - rpath="$finalize_rpath" - test "$opt_mode" != relink && rpath="$compile_rpath$rpath" + rpath=$finalize_rpath + test relink = "$opt_mode" || rpath=$compile_rpath$rpath for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then func_replace_sysroot "$libdir" libdir=$func_replace_sysroot_result if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" + hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in @@ -8077,7 +9569,7 @@ # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" + libdir=$hardcode_libdirs eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" fi if test -n "$runpath_var" && test -n "$perm_rpath"; then @@ -8091,8 +9583,8 @@ test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi - shlibpath="$finalize_shlibpath" - test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + shlibpath=$finalize_shlibpath + test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi @@ -8102,19 +9594,19 @@ eval library_names=\"$library_names_spec\" set dummy $library_names shift - realname="$1" + realname=$1 shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else - soname="$realname" + soname=$realname fi if test -z "$dlname"; then dlname=$soname fi - lib="$output_objdir/$realname" + lib=$output_objdir/$realname linknames= for link do @@ -8128,7 +9620,7 @@ delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols="$output_objdir/$libname.uexp" + export_symbols=$output_objdir/$libname.uexp func_append delfiles " $export_symbols" fi @@ -8137,31 +9629,31 @@ cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile - if test "x`$SED 1q $export_symbols`" != xEXPORTS; then + func_dll_def_p "$export_symbols" || { # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. - orig_export_symbols="$export_symbols" + orig_export_symbols=$export_symbols export_symbols= always_export_symbols=yes - fi + } fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" + if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' + save_ifs=$IFS; IFS='~' for cmd1 in $cmds; do - IFS="$save_ifs" + IFS=$save_ifs # Take the normal branch if the nm_file_list_spec branch # doesn't work or if tool conversion is not needed. case $nm_file_list_spec~$to_tool_file_cmd in @@ -8175,7 +9667,7 @@ try_normal_branch=no ;; esac - if test "$try_normal_branch" = yes \ + if test yes = "$try_normal_branch" \ && { test "$len" -lt "$max_cmd_len" \ || test "$max_cmd_len" -le -1; } then @@ -8186,7 +9678,7 @@ output_la=$func_basename_result save_libobjs=$libobjs save_output=$output - output=${output_objdir}/${output_la}.nm + output=$output_objdir/$output_la.nm func_to_tool_file "$output" libobjs=$nm_file_list_spec$func_to_tool_file_result func_append delfiles " $output" @@ -8209,8 +9701,8 @@ break fi done - IFS="$save_ifs" - if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then + IFS=$save_ifs + if test -n "$export_symbols_regex" && test : != "$skipped_export"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi @@ -8218,16 +9710,16 @@ fi if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi - if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then + if test : != "$skipped_export" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine + # 's' commands, which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. @@ -8246,11 +9738,11 @@ ;; esac done - deplibs="$tmp_deplibs" + deplibs=$tmp_deplibs if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && - test "$compiler_needs_object" = yes && + test yes = "$compiler_needs_object" && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. @@ -8261,7 +9753,7 @@ eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else - gentop="$output_objdir/${outputname}x" + gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $convenience @@ -8270,18 +9762,18 @@ fi fi - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" func_append linker_flags " $flag" fi # Make a backup of the uninstalled library when relinking - if test "$opt_mode" = relink; then + if test relink = "$opt_mode"; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then + if test yes = "$module" && test -n "$module_cmds"; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds @@ -8299,7 +9791,7 @@ fi fi - if test "X$skipped_export" != "X:" && + if test : != "$skipped_export" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then @@ -8332,8 +9824,8 @@ last_robj= k=1 - if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then - output=${output_objdir}/${output_la}.lnkscript + if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then + output=$output_objdir/$output_la.lnkscript func_verbose "creating GNU ld script: $output" echo 'INPUT (' > $output for obj in $save_libobjs @@ -8345,14 +9837,14 @@ func_append delfiles " $output" func_to_tool_file "$output" output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then - output=${output_objdir}/${output_la}.lnk + elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then + output=$output_objdir/$output_la.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= - if test "$compiler_needs_object" = yes; then + if test yes = "$compiler_needs_object"; then firstobj="$1 " shift fi @@ -8367,7 +9859,7 @@ else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-${k}.$objext + output=$output_objdir/$output_la-$k.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result @@ -8379,13 +9871,13 @@ func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result - if test "X$objlist" = X || + if test -z "$objlist" || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. - if test "$k" -eq 1 ; then + if test 1 -eq "$k"; then # The first file doesn't have a previous command to add. reload_objs=$objlist eval concat_cmds=\"$reload_cmds\" @@ -8395,10 +9887,10 @@ reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" fi - last_robj=$output_objdir/$output_la-${k}.$objext + last_robj=$output_objdir/$output_la-$k.$objext func_arith $k + 1 k=$func_arith_result - output=$output_objdir/$output_la-${k}.$objext + output=$output_objdir/$output_la-$k.$objext objlist=" $obj" func_len " $last_robj" func_arith $len0 + $func_len_result @@ -8410,9 +9902,9 @@ # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ reload_objs="$objlist $last_robj" - eval concat_cmds=\"\${concat_cmds}$reload_cmds\" + eval concat_cmds=\"\$concat_cmds$reload_cmds\" if test -n "$last_robj"; then - eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi func_append delfiles " $output" @@ -8420,9 +9912,9 @@ output= fi - if ${skipped_export-false}; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" + ${skipped_export-false} && { + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. @@ -8431,16 +9923,16 @@ if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi - fi + } test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' + save_ifs=$IFS; IFS='~' for cmd in $concat_cmds; do - IFS="$save_ifs" - $opt_silent || { + IFS=$save_ifs + $opt_quiet || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } @@ -8448,7 +9940,7 @@ lt_exit=$? # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then + if test relink = "$opt_mode"; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) @@ -8457,7 +9949,7 @@ exit $lt_exit } done - IFS="$save_ifs" + IFS=$save_ifs if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' @@ -8465,18 +9957,18 @@ fi fi - if ${skipped_export-false}; then + ${skipped_export-false} && { if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine + # 's' commands, which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. @@ -8485,7 +9977,7 @@ export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi - fi + } libobjs=$output # Restore the value of output. @@ -8499,7 +9991,7 @@ # value of $libobjs for piecewise linking. # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then + if test yes = "$module" && test -n "$module_cmds"; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else @@ -8521,7 +10013,7 @@ # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" + gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $dlprefiles @@ -8529,11 +10021,12 @@ test "X$libobjs" = "X " && libobjs= fi - save_ifs="$IFS"; IFS='~' + save_ifs=$IFS; IFS='~' for cmd in $cmds; do - IFS="$save_ifs" + IFS=$sp$nl eval cmd=\"$cmd\" - $opt_silent || { + IFS=$save_ifs + $opt_quiet || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } @@ -8541,7 +10034,7 @@ lt_exit=$? # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then + if test relink = "$opt_mode"; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) @@ -8550,10 +10043,10 @@ exit $lt_exit } done - IFS="$save_ifs" + IFS=$save_ifs # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then + if test relink = "$opt_mode"; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then @@ -8573,39 +10066,39 @@ done # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then + if test yes = "$module" || test yes = "$export_dynamic"; then # On all known operating systems, these are identical. - dlname="$soname" + dlname=$soname fi fi ;; obj) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for objects" + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for objects" ;; + func_warning "'-l' and '-L' are ignored for objects" ;; esac test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for objects" + func_warning "'-rpath' is ignored for objects" test -n "$xrpath" && \ - func_warning "\`-R' is ignored for objects" + func_warning "'-R' is ignored for objects" test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for objects" + func_warning "'-version-info' is ignored for objects" test -n "$release" && \ - func_warning "\`-release' is ignored for objects" + func_warning "'-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object \`$output' from non-libtool objects" + func_fatal_error "cannot build library object '$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" @@ -8613,7 +10106,7 @@ ;; *) libobj= - obj="$output" + obj=$output ;; esac @@ -8626,17 +10119,19 @@ # the extraction. reload_conv_objs= gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - + # if reload_cmds runs $LD directly, get rid of -Wl from + # whole_archive_flag_spec and hope we can get by with turning comma + # into space. + case $reload_cmds in + *\$LD[\ \$]*) wl= ;; + esac if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` + test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` + reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags else - gentop="$output_objdir/${obj}x" + gentop=$output_objdir/${obj}x func_append generated " $gentop" func_extract_archives $gentop $convenience @@ -8645,12 +10140,12 @@ fi # If we're not building shared, we need to use non_pic_objs - test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" + test yes = "$build_libtool_libs" || libobjs=$non_pic_objects # Create the old-style object. - reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs - output="$obj" + output=$obj func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. @@ -8662,7 +10157,7 @@ exit $EXIT_SUCCESS fi - if test "$build_libtool_libs" != yes; then + test yes = "$build_libtool_libs" || { if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi @@ -8672,12 +10167,12 @@ # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS - fi + } - if test -n "$pic_flag" || test "$pic_mode" != default; then + if test -n "$pic_flag" || test default != "$pic_mode"; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" - output="$libobj" + output=$libobj func_execute_cmds "$reload_cmds" 'exit $?' fi @@ -8694,16 +10189,14 @@ output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for programs" + func_warning "'-version-info' is ignored for programs" test -n "$release" && \ - func_warning "\`-release' is ignored for programs" + func_warning "'-release' is ignored for programs" - test "$preload" = yes \ - && test "$dlopen_support" = unknown \ - && test "$dlopen_self" = unknown \ - && test "$dlopen_self_static" = unknown && \ - func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." + $preload \ + && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ + && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) @@ -8717,11 +10210,11 @@ *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). - if test "$tagname" = CXX ; then + if test CXX = "$tagname"; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) - func_append compile_command " ${wl}-bind_at_load" - func_append finalize_command " ${wl}-bind_at_load" + func_append compile_command " $wl-bind_at_load" + func_append finalize_command " $wl-bind_at_load" ;; esac fi @@ -8757,7 +10250,7 @@ *) func_append new_libs " $deplib" ;; esac done - compile_deplibs="$new_libs" + compile_deplibs=$new_libs func_append compile_command " $compile_deplibs" @@ -8781,7 +10274,7 @@ if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" + hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in @@ -8804,7 +10297,7 @@ fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` + testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; @@ -8821,10 +10314,10 @@ # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" + libdir=$hardcode_libdirs eval rpath=\" $hardcode_libdir_flag_spec\" fi - compile_rpath="$rpath" + compile_rpath=$rpath rpath= hardcode_libdirs= @@ -8832,7 +10325,7 @@ if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" + hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in @@ -8857,45 +10350,43 @@ # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" + libdir=$hardcode_libdirs eval rpath=\" $hardcode_libdir_flag_spec\" fi - finalize_rpath="$rpath" + finalize_rpath=$rpath - if test -n "$libobjs" && test "$build_old_libs" = yes; then + if test -n "$libobjs" && test yes = "$build_old_libs"; then # Transform all the library objects into standard objects. compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` fi - func_generate_dlsyms "$outputname" "@PROGRAM@" "no" + func_generate_dlsyms "$outputname" "@PROGRAM@" false # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi - wrappers_required=yes + wrappers_required=: case $host in *cegcc* | *mingw32ce*) # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=no + wrappers_required=false ;; *cygwin* | *mingw* ) - if test "$build_libtool_libs" != yes; then - wrappers_required=no - fi + test yes = "$build_libtool_libs" || wrappers_required=false ;; *) - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - wrappers_required=no + if test no = "$need_relink" || test yes != "$build_libtool_libs"; then + wrappers_required=false fi ;; esac - if test "$wrappers_required" = no; then + $wrappers_required || { # Replace the output file specification. compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" + link_command=$compile_command$compile_rpath # We have no uninstalled library dependencies, so finalize right now. exit_status=0 @@ -8908,12 +10399,12 @@ fi # Delete the generated files. - if test -f "$output_objdir/${outputname}S.${objext}"; then - func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' + if test -f "$output_objdir/${outputname}S.$objext"; then + func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' fi exit $exit_status - fi + } if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" @@ -8943,9 +10434,9 @@ fi fi - if test "$no_install" = yes; then + if test yes = "$no_install"; then # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" + link_command=$compile_var$compile_command$compile_rpath # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. @@ -8962,27 +10453,28 @@ exit $EXIT_SUCCESS fi - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "\`$output' will be relinked during installation" - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi + case $hardcode_action,$fast_install in + relink,*) + # Fast installation is not supported + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + + func_warning "this platform does not like uninstalled shared libraries" + func_warning "'$output' will be relinked during installation" + ;; + *,yes) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` + ;; + *,no) + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + ;; + *,needless) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command= + ;; + esac # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` @@ -9039,8 +10531,8 @@ func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" + cwrappersource=$output_path/$objdir/lt-$output_name.c + cwrapper=$output_path/$output_name.exe $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 @@ -9061,7 +10553,7 @@ trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host" ; then + if test "x$build" = "x$host"; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result @@ -9084,25 +10576,27 @@ # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save $symfileobj" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" + case $build_libtool_libs in + convenience) + oldobjs="$libobjs_save $symfileobj" + addlibs=$convenience build_libtool_libs=no - else + ;; + module) + oldobjs=$libobjs_save + addlibs=$old_convenience + build_libtool_libs=no + ;; + *) oldobjs="$old_deplibs $non_pic_objects" - if test "$preload" = yes && test -f "$symfileobj"; then - func_append oldobjs " $symfileobj" - fi - fi - addlibs="$old_convenience" - fi + $preload && test -f "$symfileobj" \ + && func_append oldobjs " $symfileobj" + addlibs=$old_convenience + ;; + esac if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" + gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $addlibs @@ -9110,13 +10604,13 @@ fi # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" + gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $dlprefiles @@ -9137,7 +10631,7 @@ : else echo "copying selected object files to avoid basename conflicts..." - gentop="$output_objdir/${outputname}x" + gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs @@ -9146,7 +10640,7 @@ for obj in $save_oldobjs do func_basename "$obj" - objbase="$func_basename_result" + objbase=$func_basename_result case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) @@ -9215,18 +10709,18 @@ else # the above command should be used before it gets too long oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then + if test "$obj" = "$last_oldobj"; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist - if test "X$oldobjs" = "X" ; then + if test -z "$oldobjs"; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" @@ -9243,7 +10737,7 @@ case $output in *.la) old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" + test yes = "$build_old_libs" && old_library=$libname.$libext func_verbose "creating $output" # Preserve any variables that may affect compiler behavior @@ -9258,31 +10752,31 @@ fi done # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then + if test yes = "$hardcode_automatic"; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do - if test "$installed" = yes; then + if test yes = "$installed"; then if test -z "$install_libdir"; then break fi - output="$output_objdir/$outputname"i + output=$output_objdir/${outputname}i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" - name="$func_basename_result" + name=$func_basename_result func_resolve_sysroot "$deplib" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" + func_fatal_error "'$deplib' is not a valid libtool archive" func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" ;; -L*) @@ -9298,23 +10792,23 @@ *) func_append newdependency_libs " $deplib" ;; esac done - dependency_libs="$newdependency_libs" + dependency_libs=$newdependency_libs newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" + func_fatal_error "'$lib' is not a valid libtool archive" func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" ;; *) func_append newdlfiles " $lib" ;; esac done - dlfiles="$newdlfiles" + dlfiles=$newdlfiles newdlprefiles= for lib in $dlprefiles; do case $lib in @@ -9324,34 +10818,34 @@ # didn't already link the preopened objects directly into # the library: func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" + func_fatal_error "'$lib' is not a valid libtool archive" func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" ;; esac done - dlprefiles="$newdlprefiles" + dlprefiles=$newdlprefiles else newdlfiles= for lib in $dlfiles; do case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlfiles " $abs" done - dlfiles="$newdlfiles" + dlfiles=$newdlfiles newdlprefiles= for lib in $dlprefiles; do case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlprefiles " $abs" done - dlprefiles="$newdlprefiles" + dlprefiles=$newdlprefiles fi $RM $output # place dlname in correct position for cygwin @@ -9367,10 +10861,9 @@ case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) # If a -bindir argument was supplied, place the dll there. - if test "x$bindir" != x ; - then + if test -n "$bindir"; then func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result$dlname + tdlname=$func_relative_path_result/$dlname else # Otherwise fall back on heuristic. tdlname=../bin/$dlname @@ -9379,7 +10872,7 @@ esac $ECHO > $output "\ # $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. @@ -9393,7 +10886,7 @@ # The name of the static archive. old_library='$old_library' -# Linker flags that can not go in dependency_libs. +# Linker flags that cannot go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. @@ -9419,7 +10912,7 @@ # Directory that this library needs to be installed in: libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then + if test no,yes = "$installed,$need_relink"; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi @@ -9434,27 +10927,29 @@ exit $EXIT_SUCCESS } -{ test "$opt_mode" = link || test "$opt_mode" = relink; } && - func_mode_link ${1+"$@"} +if test link = "$opt_mode" || test relink = "$opt_mode"; then + func_mode_link ${1+"$@"} +fi # func_mode_uninstall arg... func_mode_uninstall () { - $opt_debug - RM="$nonopt" + $debug_cmd + + RM=$nonopt files= - rmforce= + rmforce=false exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. - libtool_install_magic="$magic" + libtool_install_magic=$magic for arg do case $arg in - -f) func_append RM " $arg"; rmforce=yes ;; + -f) func_append RM " $arg"; rmforce=: ;; -*) func_append RM " $arg" ;; *) func_append files " $arg" ;; esac @@ -9467,18 +10962,18 @@ for file in $files; do func_dirname "$file" "" "." - dir="$func_dirname_result" - if test "X$dir" = X.; then - odir="$objdir" + dir=$func_dirname_result + if test . = "$dir"; then + odir=$objdir else - odir="$dir/$objdir" + odir=$dir/$objdir fi func_basename "$file" - name="$func_basename_result" - test "$opt_mode" = uninstall && odir="$dir" + name=$func_basename_result + test uninstall = "$opt_mode" && odir=$dir # Remember odir for removal later, being careful to avoid duplicates - if test "$opt_mode" = clean; then + if test clean = "$opt_mode"; then case " $rmdirs " in *" $odir "*) ;; *) func_append rmdirs " $odir" ;; @@ -9493,11 +10988,11 @@ elif test -d "$file"; then exit_status=1 continue - elif test "$rmforce" = yes; then + elif $rmforce; then continue fi - rmfiles="$file" + rmfiles=$file case $name in *.la) @@ -9511,7 +11006,7 @@ done test -n "$old_library" && func_append rmfiles " $odir/$old_library" - case "$opt_mode" in + case $opt_mode in clean) case " $library_names " in *" $dlname "*) ;; @@ -9522,12 +11017,12 @@ uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' + func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' + func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; @@ -9543,21 +11038,19 @@ func_source $dir/$name # Add PIC object to the list of files to remove. - if test -n "$pic_object" && - test "$pic_object" != none; then + if test -n "$pic_object" && test none != "$pic_object"; then func_append rmfiles " $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && - test "$non_pic_object" != none; then + if test -n "$non_pic_object" && test none != "$non_pic_object"; then func_append rmfiles " $dir/$non_pic_object" fi fi ;; *) - if test "$opt_mode" = clean ; then + if test clean = "$opt_mode"; then noexename=$name case $file in *.exe) @@ -9584,12 +11077,12 @@ # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles - func_append rmfiles " $odir/$name $odir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then + func_append rmfiles " $odir/$name $odir/${name}S.$objext" + if test yes = "$fast_install" && test -n "$relink_command"; then func_append rmfiles " $odir/lt-$name" fi - if test "X$noexename" != "X$name" ; then - func_append rmfiles " $odir/lt-${noexename}.c" + if test "X$noexename" != "X$name"; then + func_append rmfiles " $odir/lt-$noexename.c" fi fi fi @@ -9598,7 +11091,7 @@ func_show_eval "$RM $rmfiles" 'exit_status=1' done - # Try to remove the ${objdir}s in the directories where we deleted files + # Try to remove the $objdir's in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" @@ -9608,16 +11101,17 @@ exit $exit_status } -{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && - func_mode_uninstall ${1+"$@"} +if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then + func_mode_uninstall ${1+"$@"} +fi test -z "$opt_mode" && { - help="$generic_help" + help=$generic_help func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode \`$opt_mode'" + func_fatal_help "invalid operation mode '$opt_mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" @@ -9628,7 +11122,7 @@ # The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting +# where we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support @@ -9651,5 +11145,3 @@ # mode:shell-script # sh-indentation:2 # End: -# vi:sw=2 - diff -Nru dico-2.9/ChangeLog dico-2.10/ChangeLog --- dico-2.9/ChangeLog 2019-04-24 06:44:56.000000000 +0000 +++ dico-2.10/ChangeLog 2020-09-04 04:13:37.000000000 +0000 @@ -1,3 +1,38 @@ +2020-09-04 Sergey Poznyakoff + + Version 2.10 + +2020-09-03 Sergey Poznyakoff + + Create po/LINGUAS during bootstrap + + This fixes the bug introduced by 4da4ddea3a. + + * bootstrap (po_sync): Create the LINGUAS list. + New option --update-po. + +2020-06-14 Sergey Poznyakoff + + Use grecs with wordsplit v1.1 + +2020-05-19 Ahmed El-Mahmoudy + + Minor fix + + * dicod/dicod.h: Add missing extern qualifiers. + * include/dico/markup.h: Likewise. + +2019-08-25 Sergey Poznyakoff + + Bugfix + + * lib/utf8.c (utf8_iter0): Switch to error state if utf8_char_width + returned 0 + +2019-07-10 Sergey Poznyakoff + + Switch to grecs eb66a000 + 2019-04-24 Sergey Poznyakoff Version 2.9 diff -Nru dico-2.9/configure dico-2.10/configure --- dico-2.9/configure 2019-04-24 06:43:52.000000000 +0000 +++ dico-2.10/configure 2020-09-04 04:04:53.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for GNU dico 2.9. +# Generated by GNU Autoconf 2.69 for GNU dico 2.10. # # Report bugs to . # @@ -568,7 +568,7 @@ SHELL=${CONFIG_SHELL-/bin/sh} -lt_dlopen_dir="$lt_ltdl_dir"; lt_libobj_prefix="$lt_ltdl_dir/" +lt_dlopen_dir=$lt_ltdl_dir; lt_libobj_prefix=$lt_ltdl_dir/ test -n "$DJDIR" || exec 7<&0 >confdefs.h <<_ACEOF @@ -7646,8 +7655,8 @@ -macro_version='2.4.2' -macro_revision='1.3337' +macro_version='2.4.6' +macro_revision='2.4.6' @@ -7661,7 +7670,7 @@ -ltmain="$ac_aux_dir/ltmain.sh" +ltmain=$ac_aux_dir/ltmain.sh # Backslashify metacharacters that are still active within # double-quoted strings. @@ -7710,7 +7719,7 @@ $ECHO "" } -case "$ECHO" in +case $ECHO in printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 $as_echo "printf" >&6; } ;; print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 @@ -7903,19 +7912,19 @@ # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld -if test "$GCC" = yes; then +if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw + # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; @@ -7929,7 +7938,7 @@ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done - test -z "$LD" && LD="$ac_prog" + test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. @@ -7940,7 +7949,7 @@ with_gnu_ld=unknown ;; esac -elif test "$with_gnu_ld" = yes; then +elif test yes = "$with_gnu_ld"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else @@ -7951,32 +7960,32 @@ $as_echo_n "(cached) " >&6 else if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" + lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } @@ -8019,33 +8028,38 @@ else if test -n "$NM"; then # Let the user override the test. - lt_cv_path_NM="$NM" + lt_cv_path_NM=$NM else - lt_nm_to_check="${ac_tool_prefix}nm" + lt_nm_to_check=${ac_tool_prefix}nm if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" - break + break 2 ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" - break + break 2 ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but @@ -8056,15 +8070,15 @@ esac fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : @@ -8170,9 +8184,9 @@ fi fi - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in *COFF*) - DUMPBIN="$DUMPBIN -symbols" + DUMPBIN="$DUMPBIN -symbols -headers" ;; *) DUMPBIN=: @@ -8180,8 +8194,8 @@ esac fi - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" + if test : != "$DUMPBIN"; then + NM=$DUMPBIN fi fi test -z "$NM" && NM=nm @@ -8232,7 +8246,7 @@ $as_echo_n "(cached) " >&6 else i=0 - teststring="ABCD" + teststring=ABCD case $build_os in msdosdjgpp*) @@ -8272,7 +8286,7 @@ lt_cv_sys_max_cmd_len=8192; ;; - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` @@ -8322,22 +8336,23 @@ ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do + for i in 1 2 3 4 5 6 7 8; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough + test 17 != "$i" # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring @@ -8355,7 +8370,7 @@ fi -if test -n $lt_cv_sys_max_cmd_len ; then +if test -n "$lt_cv_sys_max_cmd_len"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else @@ -8373,30 +8388,6 @@ : ${MV="mv -f"} : ${RM="rm -f"} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 -$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 -$as_echo "$xsi_shell" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 -$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } -lt_shell_append=no -( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 -$as_echo "$lt_shell_append" >&6; } - - if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else @@ -8519,13 +8510,13 @@ reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in cygwin* | mingw* | pw32* | cegcc*) - if test "$GCC" != yes; then + if test yes != "$GCC"; then reload_cmds=false fi ;; darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + if test yes = "$GCC"; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi @@ -8653,13 +8644,13 @@ # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. +# 'unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) @@ -8686,8 +8677,7 @@ # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. - # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. - if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then + if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else @@ -8723,10 +8713,6 @@ fi ;; -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - haiku*) lt_cv_deplibs_check_method=pass_all ;; @@ -8765,7 +8751,7 @@ ;; # This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; @@ -8787,8 +8773,8 @@ lt_cv_deplibs_check_method=pass_all ;; -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' @@ -8841,6 +8827,9 @@ tpf*) lt_cv_deplibs_check_method=pass_all ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; esac fi @@ -8998,8 +8987,8 @@ case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib @@ -9011,7 +9000,7 @@ ;; *) # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" + lt_cv_sharedlib_from_linklib_cmd=$ECHO ;; esac @@ -9165,7 +9154,7 @@ ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - if test "$ac_status" -eq 0; then + if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 @@ -9173,7 +9162,7 @@ ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } - if test "$ac_status" -ne 0; then + if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ fi fi @@ -9186,7 +9175,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 $as_echo "$lt_cv_ar_at_file" >&6; } -if test "x$lt_cv_ar_at_file" = xno; then +if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file @@ -9403,7 +9392,7 @@ if test -n "$RANLIB"; then case $host_os in - openbsd*) + bitrig* | openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) @@ -9493,7 +9482,7 @@ symcode='[ABCDGISTW]' ;; hpux*) - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then symcode='[ABCDEGRST]' fi ;; @@ -9526,14 +9515,44 @@ symcode='[ABCDGIRSTW]' ;; esac +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" +lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" # Handle CRLF in mingw tool chain opt_cr= @@ -9551,21 +9570,24 @@ # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" @@ -9613,11 +9635,11 @@ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST -#elif defined(__osf__) +#elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else @@ -9643,7 +9665,7 @@ { { "@PROGRAM@", (void *) 0 }, _LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; @@ -9663,13 +9685,13 @@ mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" + LIBS=conftstm.$ac_objext CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then + test $ac_status = 0; } && test -s conftest$ac_exeext; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS @@ -9690,7 +9712,7 @@ rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then + if test yes = "$pipe_works"; then break else lt_cv_sys_global_symbol_pipe= @@ -9743,6 +9765,16 @@ + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 $as_echo_n "checking for sysroot... " >&6; } @@ -9755,9 +9787,9 @@ lt_sysroot= -case ${with_sysroot} in #( +case $with_sysroot in #( yes) - if test "$GCC" = yes; then + if test yes = "$GCC"; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( @@ -9767,8 +9799,8 @@ no|'') ;; #( *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 -$as_echo "${with_sysroot}" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +$as_echo "$with_sysroot" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac @@ -9780,18 +9812,99 @@ +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +$as_echo_n "checking for a working dd... " >&6; } +if ${ac_cv_path_lt_DD+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +if test -z "$lt_DD"; then + ac_path_lt_DD_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in dd; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue +if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi + $ac_path_lt_DD_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_lt_DD"; then + : + fi +else + ac_cv_path_lt_DD=$lt_DD +fi + +rm -f conftest.i conftest2.i conftest.out +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +$as_echo "$ac_cv_path_lt_DD" >&6; } + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +$as_echo_n "checking how to truncate binary pipes... " >&6; } +if ${lt_cv_truncate_bin+:} false; then : + $as_echo_n "(cached) " >&6 +else + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +$as_echo "$lt_cv_truncate_bin" >&6; } + + + + + + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes +test no = "$enable_libtool_lock" || enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) - # Find out which ABI we are using. + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 @@ -9800,24 +9913,25 @@ test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) - HPUX_IA64_MODE="32" + HPUX_IA64_MODE=32 ;; *ELF-64*) - HPUX_IA64_MODE="64" + HPUX_IA64_MODE=64 ;; esac fi rm -rf conftest* ;; *-*-irix6*) - # Find out which ABI we are using. + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - if test "$lt_cv_prog_gnu_ld" = yes; then + if test yes = "$lt_cv_prog_gnu_ld"; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" @@ -9846,9 +9960,50 @@ rm -rf conftest* ;; -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 @@ -9862,9 +10017,19 @@ LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) - LD="${LD-ld} -m elf_i386" + case `/usr/bin/file conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac ;; - ppc64-*linux*|powerpc64-*linux*) + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) @@ -9883,7 +10048,10 @@ x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; - ppc*-*linux*|powerpc*-*linux*) + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) @@ -9901,7 +10069,7 @@ *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" + SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } @@ -9941,13 +10109,14 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then + if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" + CFLAGS=$SAVE_CFLAGS fi ;; *-*solaris*) - # Find out which ABI we are using. + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 @@ -9959,7 +10128,7 @@ case $lt_cv_prog_gnu_ld in yes*) case $host in - i?86-*-solaris*) + i?86-*-solaris*|x86_64-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) @@ -9968,7 +10137,7 @@ esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" + LD=${LD-ld}_sol2 fi ;; *) @@ -9984,7 +10153,7 @@ ;; esac -need_locks="$enable_libtool_lock" +need_locks=$enable_libtool_lock if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. @@ -10095,7 +10264,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 $as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test "x$lt_cv_path_mainfest_tool" != xyes; then +if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi @@ -10598,7 +10767,7 @@ $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then + if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the @@ -10616,7 +10785,7 @@ cat conftest.err >&5 # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 @@ -10655,7 +10824,7 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" + LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 @@ -10684,7 +10853,7 @@ _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&5 - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then lt_cv_ld_force_load=yes else cat conftest.err >&5 @@ -10697,32 +10866,32 @@ $as_echo "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[012]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + 10.[012][,.]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then + if test yes = "$lt_cv_apple_cc_single_mod"; then _lt_dar_single_mod='$single_module' fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= @@ -10730,6 +10899,41 @@ ;; esac +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + for ac_header in dlfcn.h do : ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default @@ -10765,14 +10969,14 @@ *) enable_shared=no # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_shared=yes fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs ;; esac else @@ -10796,14 +11000,14 @@ *) enable_static=no # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_static=yes fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs ;; esac else @@ -10827,14 +11031,14 @@ *) pic_mode=default # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for lt_pkg in $withval; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs ;; esac else @@ -10842,8 +11046,6 @@ fi -test -z "$pic_mode" && pic_mode=default - @@ -10859,14 +11061,14 @@ *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs ;; esac else @@ -10880,11 +11082,63 @@ + shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[5-9]*,yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } + +# Check whether --with-aix-soname was given. +if test "${with_aix_soname+set}" = set; then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; + *) + as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +else + if ${lt_cv_with_aix_soname+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_with_aix_soname=aix +fi + + with_aix_soname=$lt_cv_with_aix_soname +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +$as_echo "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + + + + + + + # This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" +LIBTOOL_DEPS=$ltmain # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' @@ -10933,7 +11187,7 @@ -if test -n "${ZSH_VERSION+set}" ; then +if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi @@ -10972,7 +11226,7 @@ # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then + if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi @@ -10983,14 +11237,14 @@ ofile=libtool can_build_shared=yes -# All known linkers require a `.a' archive for static linking (except MSVC, +# All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a -with_gnu_ld="$lt_cv_prog_gnu_ld" +with_gnu_ld=$lt_cv_prog_gnu_ld -old_CC="$CC" -old_CFLAGS="$CFLAGS" +old_CC=$CC +old_CFLAGS=$CFLAGS # Set sane defaults for various variables test -z "$CC" && CC=cc @@ -10999,15 +11253,8 @@ test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +func_cc_basename $compiler +cc_basename=$func_cc_basename_result # Only perform the check for file, if the check method requires it @@ -11022,22 +11269,22 @@ else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -f "$ac_dir/${ac_tool_prefix}file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : @@ -11060,13 +11307,13 @@ break fi done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac fi -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } @@ -11088,22 +11335,22 @@ else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -f "$ac_dir/file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : @@ -11126,13 +11373,13 @@ break fi done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac fi -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } @@ -11153,7 +11400,7 @@ # Use C for the default configuration in the libtool script -lt_save_CC="$CC" +lt_save_CC=$CC ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -11215,7 +11462,7 @@ lt_prog_compiler_no_builtin_flag= -if test "$GCC" = yes; then +if test yes = "$GCC"; then case $cc_basename in nvcc*) lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; @@ -11231,7 +11478,7 @@ lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins @@ -11261,7 +11508,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : @@ -11279,17 +11526,18 @@ lt_prog_compiler_static= - if test "$GCC" = yes; then + if test yes = "$GCC"; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi + lt_prog_compiler_pic='-fPIC' ;; amigaos*) @@ -11300,8 +11548,8 @@ ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac @@ -11317,6 +11565,11 @@ # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac ;; darwin* | rhapsody*) @@ -11387,7 +11640,7 @@ case $host_os in aix*) lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else @@ -11395,10 +11648,29 @@ fi ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac ;; hpux9* | hpux10* | hpux11*) @@ -11414,7 +11686,7 @@ ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' + lt_prog_compiler_static='$wl-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) @@ -11423,9 +11695,9 @@ lt_prog_compiler_static='-non_shared' ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. + # old Intel for x86_64, which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' @@ -11450,6 +11722,12 @@ lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) @@ -11547,7 +11825,7 @@ ;; sysv4*MP*) - if test -d /usr/nec ;then + if test -d /usr/nec; then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi @@ -11576,7 +11854,7 @@ fi case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: + # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; @@ -11608,7 +11886,7 @@ lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins @@ -11638,7 +11916,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } -if test x"$lt_cv_prog_compiler_pic_works" = xyes; then +if test yes = "$lt_cv_prog_compiler_pic_works"; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; @@ -11670,7 +11948,7 @@ $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" + save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then @@ -11689,13 +11967,13 @@ fi fi $RM -r conftest* - LDFLAGS="$save_LDFLAGS" + LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } -if test x"$lt_cv_prog_compiler_static_works" = xyes; then +if test yes = "$lt_cv_prog_compiler_static_works"; then : else lt_prog_compiler_static= @@ -11815,8 +12093,8 @@ -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } @@ -11828,9 +12106,9 @@ ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else @@ -11873,9 +12151,9 @@ # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if @@ -11890,7 +12168,7 @@ # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. - if test "$GCC" != yes; then + if test yes != "$GCC"; then with_gnu_ld=no fi ;; @@ -11898,7 +12176,7 @@ # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; - openbsd*) + openbsd* | bitrig*) with_gnu_ld=no ;; esac @@ -11908,7 +12186,7 @@ # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then + if test yes = "$with_gnu_ld"; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility @@ -11930,24 +12208,24 @@ esac fi - if test "$lt_use_gnu_ld_interface" = yes; then + if test yes = "$lt_use_gnu_ld_interface"; then # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' + wlarc='$wl' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='$wl--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no - case `$LD -v 2>&1` in + case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... @@ -11960,7 +12238,7 @@ case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then + if test ia64 != "$host_cpu"; then ld_shlibs=no cat <<_LT_EOF 1>&2 @@ -11979,7 +12257,7 @@ case $host_cpu in powerpc) # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) @@ -11995,7 +12273,7 @@ allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else ld_shlibs=no fi @@ -12005,7 +12283,7 @@ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='${wl}--export-all-symbols' + export_dynamic_flag_spec='$wl--export-all-symbols' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes @@ -12013,61 +12291,89 @@ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' link_all_deplibs=yes ;; + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + ;; + interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no - if test "$host_os" = linux-dietlibc; then + if test linux-dietlibc = "$host_os"; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no + && test no = "$tmp_diet" then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; @@ -12078,42 +12384,47 @@ lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then + if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in + tcc*) + export_dynamic_flag_spec='-rdynamic' + ;; xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then + if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac @@ -12127,8 +12438,8 @@ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' fi ;; @@ -12146,8 +12457,8 @@ _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi @@ -12159,7 +12470,7 @@ ld_shlibs=no cat <<_LT_EOF 1>&2 -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify @@ -12174,9 +12485,9 @@ # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi @@ -12193,15 +12504,15 @@ *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac - if test "$ld_shlibs" = no; then + if test no = "$ld_shlibs"; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= @@ -12217,7 +12528,7 @@ # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported @@ -12225,34 +12536,57 @@ ;; aix[4-9]*) - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' - no_entry_flag="" + no_entry_flag= else # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then aix_use_runtimelinking=yes break fi done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi ;; esac @@ -12271,13 +12605,21 @@ hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes - file_list_spec='${wl}-f,' + file_list_spec='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct=no + hardcode_direct_absolute=no + ;; + esac - if test "$GCC" = yes; then + if test yes = "$GCC"; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` + collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then @@ -12296,35 +12638,42 @@ ;; esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' else # not using gcc - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' else - shared_flag='${wl}-bM:SRE' + shared_flag='$wl-bM:SRE' fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' fi fi - export_dynamic_flag_spec='${wl}-bexpall' + export_dynamic_flag_spec='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then + if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : @@ -12359,7 +12708,7 @@ rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" + lt_cv_aix_libpath_=/usr/lib:/lib fi fi @@ -12367,17 +12716,17 @@ aix_libpath=$lt_cv_aix_libpath_ fi - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then + if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : @@ -12412,7 +12761,7 @@ rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" + lt_cv_aix_libpath_=/usr/lib:/lib fi fi @@ -12420,21 +12769,33 @@ aix_libpath=$lt_cv_aix_libpath_ fi - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then + no_undefined_flag=' $wl-bernotok' + allow_undefined_flag=' $wl-berok' + if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' fi archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' fi fi ;; @@ -12443,7 +12804,7 @@ case $host_cpu in powerpc) # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) @@ -12473,16 +12834,17 @@ # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" + shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes @@ -12491,18 +12853,18 @@ # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' ;; *) # Assume MSVC wrapper @@ -12511,7 +12873,7 @@ # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" + shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. @@ -12530,24 +12892,24 @@ hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec='' fi link_all_deplibs=yes - allow_undefined_flag="$_lt_dar_allow_undefined" + allow_undefined_flag=$_lt_dar_allow_undefined case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; + ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac - if test "$_lt_dar_can_shared" = "yes"; then + if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" else ld_shlibs=no @@ -12589,33 +12951,33 @@ ;; hpux9*) - if test "$GCC" = yes; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + if test yes = "$GCC"; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' + export_dynamic_flag_spec='$wl-E' ;; hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' + export_dynamic_flag_spec='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes @@ -12623,25 +12985,25 @@ ;; hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then + if test yes,no = "$GCC,$with_gnu_ld"; then case $host_cpu in hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) @@ -12653,7 +13015,7 @@ $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler__b=no - save_LDFLAGS="$LDFLAGS" + save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then @@ -12672,14 +13034,14 @@ fi fi $RM -r conftest* - LDFLAGS="$save_LDFLAGS" + LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 $as_echo "$lt_cv_prog_compiler__b" >&6; } -if test x"$lt_cv_prog_compiler__b" = xyes; then - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi @@ -12687,8 +13049,8 @@ ;; esac fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: case $host_cpu in @@ -12699,7 +13061,7 @@ *) hardcode_direct=yes hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' + export_dynamic_flag_spec='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. @@ -12710,8 +13072,8 @@ ;; irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + if test yes = "$GCC"; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. @@ -12721,8 +13083,8 @@ if ${lt_cv_irix_exported_symbol+:} false; then : $as_echo_n "(cached) " >&6 else - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } @@ -12734,24 +13096,34 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" + LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 $as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test "$lt_cv_irix_exported_symbol" = yes; then - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs=yes + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out @@ -12766,7 +13138,7 @@ newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; @@ -12774,27 +13146,19 @@ *nto* | *qnx*) ;; - openbsd*) + openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' fi else ld_shlibs=no @@ -12805,33 +13169,53 @@ hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported - archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes ;; osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' fi archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' else allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' @@ -12842,24 +13226,24 @@ solaris*) no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) - wlarc='${wl}' - archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + wlarc='$wl' + archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi @@ -12869,11 +13253,11 @@ solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', + # but understands '-z linker_flag'. GCC discards it without '$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + if test yes = "$GCC"; then + whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi @@ -12883,10 +13267,10 @@ ;; sunos4*) - if test "x$host_vendor" = xsequent; then + if test sequent = "$host_vendor"; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi @@ -12935,43 +13319,43 @@ ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' + no_undefined_flag='$wl-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not + # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' + no_undefined_flag='$wl-z,text' + allow_undefined_flag='$wl-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-R,$libdir' + hardcode_libdir_flag_spec='$wl-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' + export_dynamic_flag_spec='$wl-Bexport' runpath_var='LD_RUN_PATH' - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; @@ -12986,10 +13370,10 @@ ;; esac - if test x$host_vendor = xsni; then + if test sni = "$host_vendor"; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='${wl}-Blargedynsym' + export_dynamic_flag_spec='$wl-Blargedynsym' ;; esac fi @@ -12997,7 +13381,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no +test no = "$ld_shlibs" && can_build_shared=no with_gnu_ld=$with_gnu_ld @@ -13023,7 +13407,7 @@ # Assume -lc should be added archive_cmds_need_lc=yes - if test "$enable_shared" = yes && test "$GCC" = yes; then + if test yes,yes = "$GCC,$enable_shared"; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. @@ -13238,14 +13622,14 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } -if test "$GCC" = yes; then +if test yes = "$GCC"; then case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; esac case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; + mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in @@ -13261,28 +13645,35 @@ ;; esac # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. + # and add multilib dir if necessary... lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; + lt_foo = "/" $lt_i lt_foo; } else { lt_count--; } @@ -13296,7 +13687,7 @@ # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([A-Za-z]:\),\1,g'` ;; + $SED 's|/\([A-Za-z]:\)|\1|g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else @@ -13305,7 +13696,7 @@ library_names_spec= libname_spec='lib$name' soname_spec= -shrext_cmds=".so" +shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= @@ -13322,14 +13713,16 @@ # flags to be left without arguments need_version=unknown + + case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' + soname_spec='$libname$release$shared_ext$major' ;; aix[4-9]*) @@ -13337,41 +13730,91 @@ need_lib_prefix=no need_version=no hardcode_into_libs=yes - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac shlibpath_var=LIBPATH fi ;; @@ -13381,18 +13824,18 @@ powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) - library_names_spec='${libname}${shared_ext}' + library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; @@ -13400,8 +13843,8 @@ bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" @@ -13413,7 +13856,7 @@ cygwin* | mingw* | pw32* | cegcc*) version_type=windows - shrext_cmds=".dll" + shrext_cmds=.dll need_version=no need_lib_prefix=no @@ -13422,8 +13865,8 @@ # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ @@ -13439,17 +13882,17 @@ case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' @@ -13458,8 +13901,8 @@ *,cl*) # Native MSVC libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' case $build_os in mingw*) @@ -13486,7 +13929,7 @@ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) - sys_lib_search_path_spec="$LIB" + sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` @@ -13499,8 +13942,8 @@ esac # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' @@ -13513,7 +13956,7 @@ *) # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac @@ -13526,8 +13969,8 @@ version_type=darwin need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' @@ -13540,8 +13983,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; @@ -13559,12 +14002,13 @@ version_type=freebsd-$objformat case $version_type in freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac @@ -13589,26 +14033,15 @@ esac ;; -gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes + shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; @@ -13626,14 +14059,15 @@ dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' @@ -13641,8 +14075,8 @@ dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; @@ -13651,8 +14085,8 @@ dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... @@ -13665,8 +14099,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no @@ -13677,7 +14111,7 @@ case $host_os in nonstopux*) version_type=nonstopux ;; *) - if test "$lt_cv_prog_gnu_ld" = yes; then + if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix @@ -13685,8 +14119,8 @@ esac need_lib_prefix=no need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= @@ -13705,8 +14139,8 @@ esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; @@ -13715,13 +14149,33 @@ dynamic_linker=no ;; +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec='-L$libdir' + ;; + # This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no @@ -13765,7 +14219,12 @@ # before this can be enabled. hardcode_into_libs=yes - # Append ld.so.conf contents to the search path + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" @@ -13785,12 +14244,12 @@ need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH @@ -13800,7 +14259,7 @@ newsos6) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; @@ -13809,58 +14268,68 @@ version_type=qnx need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; -openbsd*) +openbsd* | bitrig*) version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" + sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no else - shlibpath_overrides_runpath=yes + need_version=yes fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' - shrext_cmds=".dll" + version_type=windows + shrext_cmds=.dll + need_version=no need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) @@ -13871,8 +14340,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes @@ -13882,11 +14351,11 @@ sunos4*) version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then + if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes @@ -13894,8 +14363,8 @@ sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) @@ -13916,24 +14385,24 @@ ;; sysv4*MP*) - if test -d /usr/nec ;then + if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf + version_type=sco need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then + if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' @@ -13951,7 +14420,7 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes @@ -13959,8 +14428,8 @@ uts4*) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; @@ -13970,20 +14439,35 @@ esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no +test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then +if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + @@ -14080,15 +14564,15 @@ hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || - test "X$hardcode_automatic" = "Xyes" ; then + test yes = "$hardcode_automatic"; then # We can hardcode non-existent directories. - if test "$hardcode_direct" != no && + if test no != "$hardcode_direct" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && + test no != "$hardcode_minus_L"; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else @@ -14103,12 +14587,12 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } -if test "$hardcode_action" = relink || - test "$inherit_rpath" = yes; then +if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then # Fast installation is not supported enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi @@ -14118,7 +14602,7 @@ - if test "x$enable_dlopen" != xyes; then + if test yes != "$enable_dlopen"; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown @@ -14128,23 +14612,23 @@ case $host_os in beos*) - lt_cv_dlopen="load_add_on" + lt_cv_dlopen=load_add_on lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen=LoadLibrary lt_cv_dlopen_libs= ;; cygwin*) - lt_cv_dlopen="dlopen" + lt_cv_dlopen=dlopen lt_cv_dlopen_libs= ;; darwin*) - # if libdl is installed we need to link against it + # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : @@ -14182,10 +14666,10 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl else - lt_cv_dlopen="dyld" + lt_cv_dlopen=dyld lt_cv_dlopen_libs= lt_cv_dlopen_self=yes @@ -14193,10 +14677,18 @@ ;; + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" + lt_cv_dlopen=shl_load else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } @@ -14235,11 +14727,11 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" + lt_cv_dlopen=dlopen else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } @@ -14278,7 +14770,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } @@ -14317,7 +14809,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } @@ -14356,7 +14848,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld fi @@ -14377,21 +14869,21 @@ ;; esac - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else + if test no = "$lt_cv_dlopen"; then enable_dlopen=no + else + enable_dlopen=yes fi case $lt_cv_dlopen in dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - save_LDFLAGS="$LDFLAGS" + save_LDFLAGS=$LDFLAGS wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - save_LIBS="$LIBS" + save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 @@ -14399,7 +14891,7 @@ if ${lt_cv_dlopen_self+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : + if test yes = "$cross_compiling"; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 @@ -14446,9 +14938,9 @@ # endif #endif -/* When -fvisbility=hidden is used, assume the code has been annotated +/* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif @@ -14478,7 +14970,7 @@ (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in @@ -14498,14 +14990,14 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } - if test "x$lt_cv_dlopen_self" = xyes; then + if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self_static+:} false; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : + if test yes = "$cross_compiling"; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 @@ -14552,9 +15044,9 @@ # endif #endif -/* When -fvisbility=hidden is used, assume the code has been annotated +/* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif @@ -14584,7 +15076,7 @@ (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in @@ -14605,9 +15097,9 @@ $as_echo "$lt_cv_dlopen_self_static" >&6; } fi - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS ;; esac @@ -14651,7 +15143,7 @@ # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) - if test -n "$STRIP" ; then + if test -n "$STRIP"; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 @@ -14679,7 +15171,7 @@ - # Report which library types will actually be built + # Report what library types will actually be built { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 @@ -14687,13 +15179,13 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } - test "$can_build_shared" = "no" && enable_shared=no + test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) - test "$enable_shared" = yes && enable_static=no + test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' @@ -14701,8 +15193,12 @@ ;; aix[4-9]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac fi ;; esac @@ -14712,7 +15208,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes + test yes = "$enable_shared" || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } @@ -14726,7 +15222,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -CC="$lt_save_CC" +CC=$lt_save_CC @@ -14750,8 +15246,8 @@ # Only expand once: -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which extension is used for runtime loadable modules" >&5 -$as_echo_n "checking which extension is used for runtime loadable modules... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what extension is used for runtime loadable modules" >&5 +$as_echo_n "checking what extension is used for runtime loadable modules... " >&6; } if ${libltdl_cv_shlibext+:} false; then : $as_echo_n "(cached) " >&6 else @@ -14778,13 +15274,20 @@ _ACEOF fi +if test -n "$shared_archive_member_spec"; then + +cat >>confdefs.h <<_ACEOF +#define LT_SHARED_LIB_MEMBER "($shared_archive_member_spec.o)" +_ACEOF + +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which variable specifies run-time module search path" >&5 -$as_echo_n "checking which variable specifies run-time module search path... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what variable specifies run-time module search path" >&5 +$as_echo_n "checking what variable specifies run-time module search path... " >&6; } if ${lt_cv_module_path_var+:} false; then : $as_echo_n "(cached) " >&6 else - lt_cv_module_path_var="$shlibpath_var" + lt_cv_module_path_var=$shlibpath_var fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_module_path_var" >&5 $as_echo "$lt_cv_module_path_var" >&6; } @@ -14801,7 +15304,7 @@ if ${lt_cv_sys_dlsearch_path+:} false; then : $as_echo_n "(cached) " >&6 else - lt_cv_sys_dlsearch_path="$sys_lib_dlsearch_path_spec" + lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlsearch_path" >&5 $as_echo "$lt_cv_sys_dlsearch_path" >&6; } @@ -14809,9 +15312,9 @@ sys_dlsearch_path= for dir in $lt_cv_sys_dlsearch_path; do if test -z "$sys_dlsearch_path"; then - sys_dlsearch_path="$dir" + sys_dlsearch_path=$dir else - sys_dlsearch_path="$sys_dlsearch_path$PATH_SEPARATOR$dir" + sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir fi done @@ -14831,6 +15334,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu +lt_dlload_save_LIBS=$LIBS LIBADD_DLOPEN= { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 @@ -14889,10 +15393,10 @@ $as_echo "#define HAVE_LIBDL 1" >>confdefs.h - if test "$ac_cv_search_dlopen" != "none required" ; then - LIBADD_DLOPEN="-ldl" + if test "$ac_cv_search_dlopen" != "none required"; then + LIBADD_DLOPEN=-ldl fi - libltdl_cv_lib_dl_dlopen="yes" + libltdl_cv_lib_dl_dlopen=yes LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -14913,7 +15417,7 @@ $as_echo "#define HAVE_LIBDL 1" >>confdefs.h - libltdl_cv_func_dlopen="yes" + libltdl_cv_func_dlopen=yes LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 @@ -14956,7 +15460,7 @@ $as_echo "#define HAVE_LIBDL 1" >>confdefs.h - LIBADD_DLOPEN="-lsvld" libltdl_cv_func_dlopen="yes" + LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" fi @@ -14965,9 +15469,9 @@ conftest$ac_exeext conftest.$ac_ext fi -if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes +if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" then - lt_save_LIBS="$LIBS" + lt_save_LIBS=$LIBS LIBS="$LIBS $LIBADD_DLOPEN" for ac_func in dlerror do : @@ -14980,7 +15484,7 @@ fi done - LIBS="$lt_save_LIBS" + LIBS=$lt_save_LIBS fi @@ -15033,7 +15537,7 @@ $as_echo "#define HAVE_SHL_LOAD 1" >>confdefs.h LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" - LIBADD_SHL_LOAD="-ldld" + LIBADD_SHL_LOAD=-ldld fi fi @@ -15055,7 +15559,7 @@ beos*) LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" ;; -cygwin* | mingw* | os2* | pw32*) +cygwin* | mingw* | pw32*) ac_fn_c_check_decl "$LINENO" "cygwin_conv_path" "ac_cv_have_decl_cygwin_conv_path" "#include " if test "x$ac_cv_have_decl_cygwin_conv_path" = xyes; then : @@ -15133,6 +15637,7 @@ LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" +LIBS=$lt_dlload_save_LIBS ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -15187,112 +15692,105 @@ sys_symbol_underscore=$lt_cv_sys_symbol_underscore -if test x"$lt_cv_sys_symbol_underscore" = xyes; then - if test x"$libltdl_cv_func_dlopen" = xyes || - test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we have to add an underscore for dlsym" >&5 +if test yes = "$lt_cv_sys_symbol_underscore"; then + if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we have to add an underscore for dlsym" >&5 $as_echo_n "checking whether we have to add an underscore for dlsym... " >&6; } if ${libltdl_cv_need_uscore+:} false; then : $as_echo_n "(cached) " >&6 else libltdl_cv_need_uscore=unknown - save_LIBS="$LIBS" - LIBS="$LIBS $LIBADD_DLOPEN" - if test "$cross_compiling" = yes; then : - libltdl_cv_need_uscore=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF + dlsym_uscore_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + libname=conftmod # stay within 8.3 filename limits! + cat >$libname.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif +int fnord () { return 42; } +_LT_EOF + + # ltfn_module_cmds module_cmds + # Execute tilde-delimited MODULE_CMDS with environment primed for + # $module_cmds or $archive_cmds type content. + ltfn_module_cmds () + {( # subshell avoids polluting parent global environment + module_cmds_save_ifs=$IFS; IFS='~' + for cmd in $1; do + IFS=$module_cmds_save_ifs + libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext + rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. + major=; versuffix=; verstring=; deplibs= + ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= + eval $cmd + done + IFS=$module_cmds_save_ifs + )} + # Compile a loadable module using libtool macro expansion results. + $CC $pic_flag -c $libname.$ac_ext + ltfn_module_cmds "${module_cmds:-$archive_cmds}" + + # Try to fetch fnord with dlsym(). + libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 + cat >conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" #if HAVE_DLFCN_H #include #endif - #include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else +#ifndef RTLD_GLOBAL # ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL +# define RTLD_GLOBAL DL_GLOBAL # else -# define LT_DLGLOBAL 0 +# define RTLD_GLOBAL 0 # endif #endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY +#ifndef RTLD_NOW +# ifdef DL_NOW +# define RTLD_NOW DL_NOW # else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif +# define RTLD_NOW 0 # endif #endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; +int main () { + void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); + int status = $libltdl_dlunknown; + if (handle) { + if (dlsym (handle, "fnord")) + status = $libltdl_dlnouscore; + else { + if (dlsym (handle, "_fnord")) + status = $libltdl_dluscore; else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ + puts (dlerror ()); } - else + dlclose (handle); + } else puts (dlerror ()); - return status; } _LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) libltdl_cv_need_uscore=no ;; - x$lt_dlneed_uscore) libltdl_cv_need_uscore=yes ;; - x$lt_dlunknown|x*) ;; - esac - else : - # compilation failed - - fi -fi -rm -fr conftest* - - LIBS="$save_LIBS" + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + libltdl_status=$? + case x$libltdl_status in + x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; + x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; + x*) libltdl_cv_need_uscore=unknown ;; + esac + fi + rm -rf conftest* $libname* + LIBS=$dlsym_uscore_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_need_uscore" >&5 @@ -15300,7 +15798,7 @@ fi fi -if test x"$libltdl_cv_need_uscore" = xyes; then +if test yes = "$libltdl_cv_need_uscore"; then $as_echo "#define NEED_USCORE 1" >>confdefs.h @@ -15319,7 +15817,7 @@ case $host_os in aix3*|aix4.1.*|aix4.2.*) # Unknown whether this is true for these versions of AIX, but - # we want this `case' here to explicitly catch those versions. + # we want this 'case' here to explicitly catch those versions. lt_cv_sys_dlopen_deplibs=unknown ;; aix[4-9]*) @@ -15332,6 +15830,9 @@ ;; esac ;; + bitrig*) + lt_cv_sys_dlopen_deplibs=yes + ;; darwin*) # Assuming the user has installed a libdl from somewhere, this is true # If you are looking for one http://www.opendarwin.org/projects/dlcompat @@ -15369,7 +15870,7 @@ osf[1234]*) # dlopen did load deplibs (at least at 4.x), but until the 5.x series, # it did *not* use an RPATH in a shared library to find objects the - # library depends on, so we explicitly say `no'. + # library depends on, so we explicitly say 'no'. lt_cv_sys_dlopen_deplibs=no ;; osf5.0|osf5.0a|osf5.1) @@ -15378,14 +15879,14 @@ # that the library depends on, but there's no easy way to know if that # patch is installed. Since this is the case, all we can really # say is unknown -- it depends on the patch being installed. If - # it is, this changes to `yes'. Without it, it would be `no'. + # it is, this changes to 'yes'. Without it, it would be 'no'. lt_cv_sys_dlopen_deplibs=unknown ;; osf*) # the two cases above should catch all versions of osf <= 5.1. Read # the comments above for what we know about them. # At > 5.1, deplibs are loaded *and* any RPATH in a shared library - # is used to find them so we can finally say `yes'. + # is used to find them so we can finally say 'yes'. lt_cv_sys_dlopen_deplibs=yes ;; qnx*) @@ -15402,13 +15903,12 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_dlopen_deplibs" >&5 $as_echo "$lt_cv_sys_dlopen_deplibs" >&6; } -if test "$lt_cv_sys_dlopen_deplibs" != yes; then +if test yes != "$lt_cv_sys_dlopen_deplibs"; then $as_echo "#define LTDL_DLOPEN_DEPLIBS 1" >>confdefs.h fi -: for ac_header in argz.h do : @@ -15445,7 +15945,7 @@ fi -ARGZ_H= +LT_ARGZ_H= for ac_func in argz_add argz_append argz_count argz_create_sep argz_insert \ argz_next argz_stringify do : @@ -15457,15 +15957,15 @@ _ACEOF else - ARGZ_H=argz.h; + LT_ARGZ_H=lt__argz.h; - _LT_LIBOBJS="$_LT_LIBOBJS argz.$ac_objext" + _LT_LIBOBJS="$_LT_LIBOBJS lt__argz.$ac_objext" fi done -if test -z "$ARGZ_H"; then : +if test -z "$LT_ARGZ_H"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking if argz actually works" >&5 $as_echo_n "checking if argz actually works... " >&6; } if ${lt_cv_sys_argz_works+:} false; then : @@ -15474,7 +15974,7 @@ case $host_os in #( *cygwin*) lt_cv_sys_argz_works=no - if test "$cross_compiling" != no; then + if test no != "$cross_compiling"; then lt_cv_sys_argz_works="guessing no" else lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' @@ -15485,11 +15985,11 @@ lt_os_major=${2-0} lt_os_minor=${3-0} lt_os_micro=${4-0} - if test "$lt_os_major" -gt 1 \ - || { test "$lt_os_major" -eq 1 \ - && { test "$lt_os_minor" -gt 5 \ - || { test "$lt_os_minor" -eq 5 \ - && test "$lt_os_micro" -gt 24; }; }; }; then + if test 1 -lt "$lt_os_major" \ + || { test 1 -eq "$lt_os_major" \ + && { test 5 -lt "$lt_os_minor" \ + || { test 5 -eq "$lt_os_minor" \ + && test 24 -lt "$lt_os_micro"; }; }; }; then lt_cv_sys_argz_works=yes fi fi @@ -15499,15 +15999,15 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_argz_works" >&5 $as_echo "$lt_cv_sys_argz_works" >&6; } - if test "$lt_cv_sys_argz_works" = yes; then : + if test yes = "$lt_cv_sys_argz_works"; then : $as_echo "#define HAVE_WORKING_ARGZ 1" >>confdefs.h else - ARGZ_H=argz.h + LT_ARGZ_H=lt__argz.h - _LT_LIBOBJS="$_LT_LIBOBJS argz.$ac_objext" + _LT_LIBOBJS="$_LT_LIBOBJS lt__argz.$ac_objext" fi fi @@ -15528,7 +16028,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libltdl_cv_preloaded_symbols" >&5 $as_echo "$libltdl_cv_preloaded_symbols" >&6; } -if test x"$libltdl_cv_preloaded_symbols" = xyes; then +if test yes = "$libltdl_cv_preloaded_symbols"; then $as_echo "#define HAVE_PRELOADED_SYMBOLS 1" >>confdefs.h @@ -15552,7 +16052,7 @@ fi -if test "x$with_included_ltdl" != xyes; then +if test yes != "$with_included_ltdl"; then # We are not being forced to use the included libltdl sources, so # decide whether there is a useful installed version we can use. ac_fn_c_check_header_compile "$LINENO" "ltdl.h" "ac_cv_header_ltdl_h" "$ac_includes_default @@ -15628,7 +16128,7 @@ if test -n "$with_ltdl_include"; then if test -f "$with_ltdl_include/ltdl.h"; then : else - as_fn_error $? "invalid ltdl include directory: \`$with_ltdl_include'" "$LINENO" 5 + as_fn_error $? "invalid ltdl include directory: '$with_ltdl_include'" "$LINENO" 5 fi else with_ltdl_include=no @@ -15644,7 +16144,7 @@ if test -n "$with_ltdl_lib"; then if test -f "$with_ltdl_lib/libltdl.la"; then : else - as_fn_error $? "invalid ltdl library directory: \`$with_ltdl_lib'" "$LINENO" 5 + as_fn_error $? "invalid ltdl library directory: '$with_ltdl_lib'" "$LINENO" 5 fi else with_ltdl_lib=no @@ -15657,16 +16157,16 @@ "") enable_ltdl_convenience=yes ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; esac -LIBLTDL='${top_build_prefix}'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la" +LIBLTDL='$(top_build_prefix)'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la" LTDLDEPS=$LIBLTDL -LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}" +LTDLINCL='-I$(top_srcdir)'"${lt_ltdl_dir+/$lt_ltdl_dir}" # For backwards non-gettext consistent compatibility... -INCLTDL="$LTDLINCL" +INCLTDL=$LTDLINCL ;; @@ -15681,15 +16181,15 @@ LTDLINCL= ;; ,no*,no,*) - as_fn_error $? "\`--with-ltdl-include' and \`--with-ltdl-lib' options must be used together" "$LINENO" 5 + as_fn_error $? "'--with-ltdl-include' and '--with-ltdl-lib' options must be used together" "$LINENO" 5 ;; *) with_included_ltdl=no LIBLTDL="-L$with_ltdl_lib -lltdl" LTDLDEPS= - LTDLINCL="-I$with_ltdl_include" + LTDLINCL=-I$with_ltdl_include ;; esac -INCLTDL="$LTDLINCL" +INCLTDL=$LTDLINCL # Report our decision... { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find libltdl headers" >&5 @@ -15709,12 +16209,12 @@ fi -case ,${enable_ltdl_install},${enable_ltdl_convenience} in +case ,$enable_ltdl_install,$enable_ltdl_convenience in *yes*) ;; *) enable_ltdl_convenience=yes ;; esac - if test x"${enable_ltdl_install-no}" != xno; then + if test no != "${enable_ltdl_install-no}"; then INSTALL_LTDL_TRUE= INSTALL_LTDL_FALSE='#' else @@ -15722,7 +16222,7 @@ INSTALL_LTDL_FALSE= fi - if test x"${enable_ltdl_convenience-no}" != xno; then + if test no != "${enable_ltdl_convenience-no}"; then CONVENIENCE_LTDL_TRUE= CONVENIENCE_LTDL_FALSE='#' else @@ -38235,10 +38735,10 @@ fi save_PATH=$PATH - PREPROC_OPTIONS=`echo $DEFAULT_PREPROCESSOR | sed -n 's/[^ ][^ ]* //p'` + PREPROC_OPTIONS=`echo "$DEFAULT_PREPROCESSOR" | sed -n 's/[^ ][^ ]* //p'` case "$DEFAULT_PREPROCESSOR" in - /*) PATH=`expr $DEFAULT_PREPROCESSOR : '\(.*\)/.*'`:$PATH - DEFAULT_PREPROCESSOR=`expr $DEFAULT_PREPROCESSOR : '.*/\(.*\)'`;; + /*) PATH=`expr "$DEFAULT_PREPROCESSOR" : '\(.*\)/.*'`:$PATH + DEFAULT_PREPROCESSOR=`expr "$DEFAULT_PREPROCESSOR" : '.*/\(.*\)'`;; esac # Extract the first word of "$DEFAULT_PREPROCESSOR", so it can be a program name with args. set dummy $DEFAULT_PREPROCESSOR; ac_word=$2 @@ -38312,6 +38812,7 @@ AUTOM4TE=${AUTOM4TE-"${am_missing_run}autom4te"} GRECS_TESTDIR=tests + GRECS_EXTRA_DIST='$(WORDSPLIT_TEST)' for ac_header in getopt.h @@ -38415,7 +38916,8 @@ - GRECS_INCLUDES='-I$(top_srcdir)/grecs/include -I$(top_builddir)/grecs/include' + + GRECS_INCLUDES='-I$(top_srcdir)/grecs/include -I$(top_srcdir)/grecs/wordsplit -I$(top_builddir)/grecs/include' @@ -40768,7 +41270,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GNU dico $as_me 2.9, which was +This file was extended by GNU dico $as_me 2.10, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -40840,7 +41342,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -GNU dico config.status 2.9 +GNU dico config.status 2.10 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -40975,6 +41477,7 @@ enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' @@ -41024,10 +41527,13 @@ GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' @@ -41092,7 +41598,8 @@ finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' +configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' +configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' @@ -41143,9 +41650,12 @@ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_import \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +lt_cv_nm_interface \ nm_file_list_spec \ +lt_cv_truncate_bin \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_pic \ lt_prog_compiler_wl \ @@ -41180,7 +41690,7 @@ striplib; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" @@ -41207,10 +41717,11 @@ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ -sys_lib_dlsearch_path_spec; do +configure_time_dlsearch_path \ +configure_time_lt_sys_library_path; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" @@ -41219,19 +41730,16 @@ done ac_aux_dir='$ac_aux_dir' -xsi_shell='$xsi_shell' -lt_shell_append='$lt_shell_append' -# See if we are running on zsh, and set the options which allow our +# See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then +if test -n "\${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' @@ -42086,55 +42594,53 @@ ;; "libtool":C) - # See if we are running on zsh, and set the options which allow our + # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then + if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi - cfgfile="${ofile}T" + cfgfile=${ofile}T trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Generated automatically by $as_me ($PACKAGE) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. # -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. # -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of +# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# along with this program. If not, see . # The names of the tagged configurations supported by this script. -available_tags="" +available_tags='' + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} # ### BEGIN LIBTOOL CONFIG @@ -42154,6 +42660,9 @@ # Whether or not to optimize for fast installation. fast_install=$enable_fast_install +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec=$shared_archive_member_spec + # Shell to use when invoking shell scripts. SHELL=$lt_SHELL @@ -42271,18 +42780,27 @@ # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl +# Transform the output of nm into a list of symbols to manually relocate. +global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import + # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix +# The name lister interface. +nm_interface=$lt_lt_cv_nm_interface + # Specify filename containing input files for \$NM. nm_file_list_spec=$lt_nm_file_list_spec -# The root where to search for dependent libraries,and in which our libraries should be installed. +# The root where to search for dependent libraries,and where our libraries should be installed. lt_sysroot=$lt_sysroot +# Command to truncate a binary pipe. +lt_truncate_bin=$lt_lt_cv_truncate_bin + # The name of the directory that contains temporary libtool files. objdir=$objdir @@ -42373,8 +42891,11 @@ # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec -# Run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path # Whether dlopen is supported. dlopen_support=$enable_dlopen @@ -42467,13 +42988,13 @@ # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# "absolute",i.e impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute @@ -42525,13 +43046,72 @@ _LT_EOF + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then +if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi @@ -42540,7 +43120,7 @@ esac -ltmain="$ac_aux_dir/ltmain.sh" +ltmain=$ac_aux_dir/ltmain.sh # We use sed instead of cat because bash on DJGPP gets confused if @@ -42550,165 +43130,6 @@ sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) - if test x"$xsi_shell" = xyes; then - sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ -func_dirname ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_basename ()$/,/^} # func_basename /c\ -func_basename ()\ -{\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ -func_dirname_and_basename ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ -func_stripname ()\ -{\ -\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ -\ # positional parameters, so assign one to ordinary parameter first.\ -\ func_stripname_result=${3}\ -\ func_stripname_result=${func_stripname_result#"${1}"}\ -\ func_stripname_result=${func_stripname_result%"${2}"}\ -} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ -func_split_long_opt ()\ -{\ -\ func_split_long_opt_name=${1%%=*}\ -\ func_split_long_opt_arg=${1#*=}\ -} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ -func_split_short_opt ()\ -{\ -\ func_split_short_opt_arg=${1#??}\ -\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ -} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ -func_lo2o ()\ -{\ -\ case ${1} in\ -\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ -\ *) func_lo2o_result=${1} ;;\ -\ esac\ -} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_xform ()$/,/^} # func_xform /c\ -func_xform ()\ -{\ - func_xform_result=${1%.*}.lo\ -} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_arith ()$/,/^} # func_arith /c\ -func_arith ()\ -{\ - func_arith_result=$(( $* ))\ -} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_len ()$/,/^} # func_len /c\ -func_len ()\ -{\ - func_len_result=${#1}\ -} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - -fi - -if test x"$lt_shell_append" = xyes; then - sed -e '/^func_append ()$/,/^} # func_append /c\ -func_append ()\ -{\ - eval "${1}+=\\${2}"\ -} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ -func_append_quoted ()\ -{\ -\ func_quote_for_eval "${2}"\ -\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ -} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 -$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} -fi - - mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" diff -Nru dico-2.9/configure.ac dico-2.10/configure.ac --- dico-2.9/configure.ac 2019-04-24 06:42:41.000000000 +0000 +++ dico-2.10/configure.ac 2020-09-04 04:04:22.000000000 +0000 @@ -3,7 +3,7 @@ dnl To recreate, run bootstrap from the top of Dico source tree. dnl Process this file with -*- autoconf -*- to produce a configure script. # This file is part of GNU Dico -# Copyright (C) 1998-2000, 2008-2010, 2012-2019 Sergey Poznyakoff +# Copyright (C) 1998-2000, 2008-2010, 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ # along with GNU Dico. If not, see . AC_PREREQ(2.63) -AC_INIT([GNU dico], 2.9, [bug-dico@gnu.org]) +AC_INIT([GNU dico], 2.10, [bug-dico@gnu.org]) AC_CONFIG_SRCDIR([dicod/main.c]) AC_CONFIG_HEADERS(include/prog/config.h include/lib/config.h) AC_CONFIG_AUX_DIR([build-aux]) diff -Nru dico-2.9/configure.boot dico-2.10/configure.boot --- dico-2.9/configure.boot 2019-04-24 06:42:09.000000000 +0000 +++ dico-2.10/configure.boot 2020-09-04 04:00:32.000000000 +0000 @@ -12,7 +12,7 @@ dnl dnl Process this file with -*- autoconf -*- to produce a configure script. # This file is part of GNU Dico -# Copyright (C) 1998-2000, 2008-2010, 2012-2019 Sergey Poznyakoff +# Copyright (C) 1998-2000, 2008-2010, 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -28,7 +28,7 @@ # along with GNU Dico. If not, see . AC_PREREQ(2.63) -AC_INIT([GNU dico], 2.9, [bug-dico@gnu.org]) +AC_INIT([GNU dico], 2.10, [bug-dico@gnu.org]) AC_CONFIG_SRCDIR([dicod/main.c]) AC_CONFIG_HEADERS(include/prog/config.h include/lib/config.h) AC_CONFIG_AUX_DIR([build-aux]) diff -Nru dico-2.9/debian/changelog dico-2.10/debian/changelog --- dico-2.9/debian/changelog 2020-10-24 08:52:17.000000000 +0000 +++ dico-2.10/debian/changelog 2020-11-10 08:09:21.000000000 +0000 @@ -1,13 +1,16 @@ -dico (2.9-5build1) hirsute; urgency=medium +dico (2.10-1) unstable; urgency=medium - * No-change rebuild to build with python3.9 as supported. + * NUR: + + removed 'gcc10-extern' patch, included upstream + + update symbols file + * Installing dico translations since upstream provides them again. - -- Matthias Klose Sat, 24 Oct 2020 10:52:17 +0200 + -- Marc Dequènes (Duck) Tue, 10 Nov 2020 17:09:21 +0900 dico (2.9-5) unstable; urgency=medium * Update copyright years - * dicoweb: update dependency to libapache2-mod-wsgi-py3 to complete Python3 + * dicoweb: update dependency to libapache2-mod-wsgi-py3 to complete Python3 migration (Closes: #966320) -- أحمد المحمودي (Ahmed El-Mahmoudy) Mon, 10 Aug 2020 11:01:25 +0200 diff -Nru dico-2.9/debian/dico.install dico-2.10/debian/dico.install --- dico-2.9/debian/dico.install 2020-08-10 09:01:25.000000000 +0000 +++ dico-2.10/debian/dico.install 2020-11-10 08:09:21.000000000 +0000 @@ -1 +1,2 @@ usr/bin/dico +usr/share/locale/ diff -Nru dico-2.9/debian/libdico2.symbols dico-2.10/debian/libdico2.symbols --- dico-2.9/debian/libdico2.symbols 2020-08-10 09:01:25.000000000 +0000 +++ dico-2.10/debian/libdico2.symbols 2020-11-10 08:09:21.000000000 +0000 @@ -188,6 +188,9 @@ grecs_alloc_die_fun@Base 2.2 grecs_asprint_locus@Base 2.3 grecs_asprintf@Base 2.2 + grecs_assert_node_value_type@Base 2.10 + grecs_assert_scalar_stmt@Base 2.10 + grecs_assert_value_type@Base 2.10 grecs_calloc@Base 2.2 grecs_cidr_match@Base 2.3 grecs_current_locus_point@Base 2.2 @@ -391,6 +394,7 @@ grecs_value_list_create@Base 2.2 grecs_value_match@Base 2.2 grecs_value_ptr_from_static@Base 2.2 + grecs_value_type_string@Base 2.10 grecs_vasprintf@Base 2.2 grecs_vcs_id@Base 2.2 grecs_version@Base 2.2 @@ -455,6 +459,7 @@ wordsplit_clearerr@Base 2.3 wordsplit_free@Base 2.2 wordsplit_free_envbuf@Base 2.3 + wordsplit_free_parambuf@Base 2.10 wordsplit_free_words@Base 2.2 #MISSING: 2.3# wordsplit_general_unquote_copy@Base 2.2 wordsplit_get_words@Base 2.7 diff -Nru dico-2.9/debian/patches/gcc10-extern.patch dico-2.10/debian/patches/gcc10-extern.patch --- dico-2.9/debian/patches/gcc10-extern.patch 2020-08-10 09:01:25.000000000 +0000 +++ dico-2.10/debian/patches/gcc10-extern.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -Description: use extern for global vars. -Author: أحمد المحمودي (Ahmed El-Mahmoudy) -Bug-Debian: https://bugs.debian.org/957135 -Bug: https://puszcza.gnu.org.ua/bugs/?463 -Forwarded: https://puszcza.gnu.org.ua/bugs/download.php?file_id=341 - -Index: dico/include/dico/markup.h -=================================================================== ---- dico.orig/include/dico/markup.h 2020-05-10 05:36:36.710082679 +0200 -+++ dico/include/dico/markup.h 2020-05-10 05:39:41.494821258 +0200 -@@ -20,7 +20,7 @@ - #include - - extern const char *dico_markup_type; --dico_list_t dico_markup_list; -+extern dico_list_t dico_markup_list; - const char *dico_markup_lookup(const char *name); - int dico_markup_register(const char *name); - -Index: dico/dicod/dicod.h -=================================================================== ---- dico.orig/dicod/dicod.h 2020-05-10 05:36:36.690082598 +0200 -+++ dico/dicod/dicod.h 2020-05-10 05:58:22.419301561 +0200 -@@ -269,7 +269,7 @@ - void register_regex(void); - - /* dbtext.c */ --struct dico_udb_def text_udb_def; -+extern struct dico_udb_def text_udb_def; - extern dico_udb_t user_db; - - /* auth.c */ diff -Nru dico-2.9/debian/patches/series dico-2.10/debian/patches/series --- dico-2.9/debian/patches/series 2020-08-10 09:01:25.000000000 +0000 +++ dico-2.10/debian/patches/series 2020-11-10 08:09:21.000000000 +0000 @@ -1,3 +1,2 @@ dicoweb-debian.diff py3.diff -gcc10-extern.patch diff -Nru dico-2.9/dico/autologin.c dico-2.10/dico/autologin.c --- dico-2.9/dico/autologin.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dico/autologin.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dico/cmdline.c dico-2.10/dico/cmdline.c --- dico-2.9/dico/cmdline.c 2019-02-22 10:05:19.000000000 +0000 +++ dico-2.10/dico/cmdline.c 2020-09-04 04:12:51.000000000 +0000 @@ -1,10 +1,10 @@ -#line 539 "../grecs/build-aux/getopt.m4" +#line 559 "../grecs/build-aux/getopt.m4" /* -*- buffer-read-only: t -*- vi: set ro: THIS FILE IS GENERATED AUTOMATICALLY. PLEASE DO NOT EDIT. */ #line 1 "cmdline.opt" /* This file is part of GNU Dico. -*- c -*- - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -570,7 +570,7 @@ #line 21 NULL, /* license */ #line 21 - "2005-2017",/* copyright_year */ + "2005-2020",/* copyright_year */ #line 21 "Free Software Foundation, Inc.", /* copyright_holder */ #line 21 diff -Nru dico-2.9/dico/cmdline.opt dico-2.10/dico/cmdline.opt --- dico-2.9/dico/cmdline.opt 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dico/cmdline.opt 2020-09-04 04:12:48.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. -*- c -*- - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,7 +23,7 @@ [<[URL-or-WORD]>], [], [], - [], + [], []) GROUP([]) diff -Nru dico-2.9/dico/connect.c dico-2.10/dico/connect.c --- dico-2.9/dico/connect.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dico/connect.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dico/dico.c dico-2.10/dico/dico.c --- dico-2.9/dico/dico.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dico/dico.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dico/dico-priv.h dico-2.10/dico/dico-priv.h --- dico-2.9/dico/dico-priv.h 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dico/dico-priv.h 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dico/func.c dico-2.10/dico/func.c --- dico-2.9/dico/func.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dico/func.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dico/lookup.c dico-2.10/dico/lookup.c --- dico-2.9/dico/lookup.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dico/lookup.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dico/Makefile.am dico-2.10/dico/Makefile.am --- dico-2.9/dico/Makefile.am 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dico/Makefile.am 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dico/Makefile.in dico-2.10/dico/Makefile.in --- dico-2.9/dico/Makefile.in 2019-04-24 06:43:56.000000000 +0000 +++ dico-2.10/dico/Makefile.in 2020-09-04 04:04:54.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -113,8 +113,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -146,15 +146,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -283,7 +283,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -618,6 +617,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -931,9 +931,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/dico/pager.c dico-2.10/dico/pager.c --- dico-2.9/dico/pager.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dico/pager.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dico/saslauth.c dico-2.10/dico/saslauth.c --- dico-2.9/dico/saslauth.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dico/saslauth.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dico/shell.c dico-2.10/dico/shell.c --- dico-2.9/dico/shell.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dico/shell.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/accesslog.c dico-2.10/dicod/accesslog.c --- dico-2.9/dicod/accesslog.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dicod/accesslog.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/acl.c dico-2.10/dicod/acl.c --- dico-2.9/dicod/acl.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dicod/acl.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/alias.c dico-2.10/dicod/alias.c --- dico-2.9/dicod/alias.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dicod/alias.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/auth.c dico-2.10/dicod/auth.c --- dico-2.9/dicod/auth.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dicod/auth.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/capa.c dico-2.10/dicod/capa.c --- dico-2.9/dicod/capa.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dicod/capa.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/ckpass.c dico-2.10/dicod/ckpass.c --- dico-2.9/dicod/ckpass.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dicod/ckpass.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/cmdline.c dico-2.10/dicod/cmdline.c --- dico-2.9/dicod/cmdline.c 2019-02-22 10:04:44.000000000 +0000 +++ dico-2.10/dicod/cmdline.c 2020-09-04 04:12:50.000000000 +0000 @@ -1,10 +1,10 @@ -#line 539 "../grecs/build-aux/getopt.m4" +#line 559 "../grecs/build-aux/getopt.m4" /* -*- buffer-read-only: t -*- vi: set ro: THIS FILE IS GENERATED AUTOMATICALLY. PLEASE DO NOT EDIT. */ #line 1 "cmdline.opt" /* This file is part of GNU Dico. -*- c -*- - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -532,7 +532,7 @@ #line 27 NULL, /* license */ #line 27 - "2005-2017",/* copyright_year */ + "2005-2020",/* copyright_year */ #line 27 "Free Software Foundation, Inc.", /* copyright_holder */ #line 27 diff -Nru dico-2.9/dicod/cmdline.opt dico-2.10/dicod/cmdline.opt --- dico-2.9/dicod/cmdline.opt 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dicod/cmdline.opt 2020-09-04 04:12:33.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. -*- c -*- - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,7 +29,7 @@ [<>], [], [], - [], + [], [], []) diff -Nru dico-2.9/dicod/commands.c dico-2.10/dicod/commands.c --- dico-2.9/dicod/commands.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dicod/commands.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/database.c dico-2.10/dicod/database.c --- dico-2.9/dicod/database.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dicod/database.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/dbtext.c dico-2.10/dicod/dbtext.c --- dico-2.9/dicod/dbtext.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dicod/dbtext.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/dicod.c dico-2.10/dicod/dicod.c --- dico-2.9/dicod/dicod.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dicod/dicod.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/dicod.h dico-2.10/dicod/dicod.h --- dico-2.9/dicod/dicod.h 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dicod/dicod.h 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -269,7 +269,7 @@ void register_regex(void); /* dbtext.c */ -struct dico_udb_def text_udb_def; +extern struct dico_udb_def text_udb_def; extern dico_udb_t user_db; /* auth.c */ diff -Nru dico-2.9/dicod/gsasl.c dico-2.10/dicod/gsasl.c --- dico-2.9/dicod/gsasl.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dicod/gsasl.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/ident.c dico-2.10/dicod/ident.c --- dico-2.9/dicod/ident.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dicod/ident.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/lang.c dico-2.10/dicod/lang.c --- dico-2.9/dicod/lang.c 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/dicod/lang.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/lev.c dico-2.10/dicod/lev.c --- dico-2.9/dicod/lev.c 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/lev.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/lint.c dico-2.10/dicod/lint.c --- dico-2.9/dicod/lint.c 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/lint.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/loader.c dico-2.10/dicod/loader.c --- dico-2.9/dicod/loader.c 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/loader.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/main.c dico-2.10/dicod/main.c --- dico-2.9/dicod/main.c 2019-03-06 13:11:27.000000000 +0000 +++ dico-2.10/dicod/main.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/Makefile.am dico-2.10/dicod/Makefile.am --- dico-2.9/dicod/Makefile.am 2019-03-06 13:16:40.000000000 +0000 +++ dico-2.10/dicod/Makefile.am 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/Makefile.in dico-2.10/dicod/Makefile.in --- dico-2.9/dicod/Makefile.in 2019-04-24 06:43:56.000000000 +0000 +++ dico-2.10/dicod/Makefile.in 2020-09-04 04:04:55.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -115,8 +115,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -148,15 +148,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -361,7 +361,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -696,6 +695,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -1009,9 +1009,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/dicod/markup.c dico-2.10/dicod/markup.c --- dico-2.9/dicod/markup.c 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/markup.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/mime.c dico-2.10/dicod/mime.c --- dico-2.9/dicod/mime.c 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/mime.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/ostream.c dico-2.10/dicod/ostream.c --- dico-2.9/dicod/ostream.c 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/ostream.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/pp-setup dico-2.10/dicod/pp-setup --- dico-2.9/dicod/pp-setup 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/pp-setup 2020-09-04 03:59:17.000000000 +0000 @@ -1,6 +1,6 @@ divert(-1) dnl -*- m4 -*- # This file is part of GNU Dico -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/regex.c dico-2.10/dicod/regex.c --- dico-2.9/dicod/regex.c 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/regex.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/result.c dico-2.10/dicod/result.c --- dico-2.9/dicod/result.c 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/result.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/server.c dico-2.10/dicod/server.c --- dico-2.9/dicod/server.c 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/server.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/stat.c dico-2.10/dicod/stat.c --- dico-2.9/dicod/stat.c 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/stat.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/stratcl.c dico-2.10/dicod/stratcl.c --- dico-2.9/dicod/stratcl.c 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/stratcl.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/alias.at dico-2.10/dicod/tests/alias.at --- dico-2.9/dicod/tests/alias.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/alias.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/apop.at dico-2.10/dicod/tests/apop.at --- dico-2.9/dicod/tests/apop.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/apop.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/apopauth.c dico-2.10/dicod/tests/apopauth.c --- dico-2.9/dicod/tests/apopauth.c 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/apopauth.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/atlocal.in dico-2.10/dicod/tests/atlocal.in --- dico-2.9/dicod/tests/atlocal.in 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/atlocal.in 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # @configure_input@ -*- shell-script -*- # Configurable variable values for Dico test suite. -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff PATH=@abs_top_builddir@/dicod:@abs_builddir@:$PATH diff -Nru dico-2.9/dicod/tests/def.at dico-2.10/dicod/tests/def.at --- dico-2.9/dicod/tests/def.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/def.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/descr.at dico-2.10/dicod/tests/descr.at --- dico-2.9/dicod/tests/descr.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/descr.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/echo.c dico-2.10/dicod/tests/echo.c --- dico-2.9/dicod/tests/echo.c 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/echo.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* An "echo" database for GNU Dico test suite. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/help00.at dico-2.10/dicod/tests/help00.at --- dico-2.9/dicod/tests/help00.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/help00.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/help01.at dico-2.10/dicod/tests/help01.at --- dico-2.9/dicod/tests/help01.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/help01.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/help02.at dico-2.10/dicod/tests/help02.at --- dico-2.9/dicod/tests/help02.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/help02.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/help03.at dico-2.10/dicod/tests/help03.at --- dico-2.9/dicod/tests/help03.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/help03.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/info.at dico-2.10/dicod/tests/info.at --- dico-2.9/dicod/tests/info.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/info.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/Makefile.am dico-2.10/dicod/tests/Makefile.am --- dico-2.9/dicod/tests/Makefile.am 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/Makefile.am 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/Makefile.in dico-2.10/dicod/tests/Makefile.in --- dico-2.9/dicod/tests/Makefile.in 2019-04-24 06:43:56.000000000 +0000 +++ dico-2.10/dicod/tests/Makefile.in 2020-09-04 04:04:55.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -114,8 +114,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -147,15 +147,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -314,7 +314,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -649,6 +648,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -962,9 +962,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/dicod/tests/match.at dico-2.10/dicod/tests/match.at --- dico-2.9/dicod/tests/match.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/match.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/nodef.at dico-2.10/dicod/tests/nodef.at --- dico-2.9/dicod/tests/nodef.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/nodef.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/nomatch.at dico-2.10/dicod/tests/nomatch.at --- dico-2.9/dicod/tests/nomatch.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/nomatch.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/package.m4 dico-2.10/dicod/tests/package.m4 --- dico-2.9/dicod/tests/package.m4 2019-04-24 06:45:00.000000000 +0000 +++ dico-2.10/dicod/tests/package.m4 2020-09-04 04:06:36.000000000 +0000 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [GNU dico]) m4_define([AT_PACKAGE_TARNAME], [dico]) -m4_define([AT_PACKAGE_VERSION], [2.9]) -m4_define([AT_PACKAGE_STRING], [GNU dico 2.9]) +m4_define([AT_PACKAGE_VERSION], [2.10]) +m4_define([AT_PACKAGE_STRING], [GNU dico 2.10]) m4_define([AT_PACKAGE_BUGREPORT], [bug-dico@gnu.org]) diff -Nru dico-2.9/dicod/tests/showdb.at dico-2.10/dicod/tests/showdb.at --- dico-2.9/dicod/tests/showdb.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/showdb.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/showstrat.at dico-2.10/dicod/tests/showstrat.at --- dico-2.9/dicod/tests/showstrat.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/showstrat.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/startup.at dico-2.10/dicod/tests/startup.at --- dico-2.9/dicod/tests/startup.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/startup.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/testsuite dico-2.10/dicod/tests/testsuite --- dico-2.9/dicod/tests/testsuite 2019-04-24 06:45:00.000000000 +0000 +++ dico-2.10/dicod/tests/testsuite 2020-09-04 04:06:36.000000000 +0000 @@ -925,7 +925,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -GNU dico 2.9 test suite test groups: +GNU dico 2.10 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -966,7 +966,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (GNU dico 2.9)" && + $as_echo "$as_me (GNU dico 2.10)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1163,13 +1163,13 @@ exec 5>>"$at_suite_log" # Banners and logs. -$as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" +$as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" { - $as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" + $as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" echo $as_echo "$as_me: command line was:" @@ -2012,7 +2012,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [GNU dico 2.9] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [GNU dico 2.10] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may @@ -2043,7 +2043,7 @@ at_status=$? at_failed=false $at_check_filter at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "dicod (GNU dico) 2.9 +echo >>"$at_stdout"; $as_echo "dicod (GNU dico) 2.10 " | \ $at_diff - "$at_stdout" || at_failed=: at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:28" @@ -3308,7 +3308,7 @@ apopauth -script=input smith testtset dicod --config ./dicod.conf --stderr -i | sed 's/dicod server on .*/dicod server/' echo \"Authenticated admin\" -apopauth -script=input gray guessme dicod --config ./dicod.conf --stderr -i | sed 's/dicod (GNU dico 2.9).*/dicod version/' +apopauth -script=input gray guessme dicod --config ./dicod.conf --stderr -i | sed 's/dicod (GNU dico 2.10).*/dicod version/' " at_fn_check_prepare_notrace 'an embedded newline' "vis02.at:23" ( $at_check_trace; @@ -3341,7 +3341,7 @@ apopauth -script=input smith testtset dicod --config ./dicod.conf --stderr -i | sed 's/dicod server on .*/dicod server/' echo "Authenticated admin" -apopauth -script=input gray guessme dicod --config ./dicod.conf --stderr -i | sed 's/dicod (GNU dico 2.9).*/dicod version/' +apopauth -script=input gray guessme dicod --config ./dicod.conf --stderr -i | sed 's/dicod (GNU dico 2.10).*/dicod version/' ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false diff -Nru dico-2.9/dicod/tests/testsuite.at dico-2.10/dicod/tests/testsuite.at --- dico-2.9/dicod/tests/testsuite.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/testsuite.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/virt01.at dico-2.10/dicod/tests/virt01.at --- dico-2.9/dicod/tests/virt01.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/virt01.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/virt02.at dico-2.10/dicod/tests/virt02.at --- dico-2.9/dicod/tests/virt02.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/virt02.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/virt03.at dico-2.10/dicod/tests/virt03.at --- dico-2.9/dicod/tests/virt03.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/virt03.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/virt04.at dico-2.10/dicod/tests/virt04.at --- dico-2.9/dicod/tests/virt04.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/virt04.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/vis00.at dico-2.10/dicod/tests/vis00.at --- dico-2.9/dicod/tests/vis00.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/vis00.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/vis01.at dico-2.10/dicod/tests/vis01.at --- dico-2.9/dicod/tests/vis01.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/vis01.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/tests/vis02.at dico-2.10/dicod/tests/vis02.at --- dico-2.9/dicod/tests/vis02.at 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/tests/vis02.at 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/virtual.c dico-2.10/dicod/virtual.c --- dico-2.9/dicod/virtual.c 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/virtual.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2018-2019 Sergey Poznyakoff + Copyright (C) 2018-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/xidle.c dico-2.10/dicod/xidle.c --- dico-2.9/dicod/xidle.c 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/xidle.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/dicod/xversion.c dico-2.10/dicod/xversion.c --- dico-2.9/dicod/xversion.c 2019-02-22 10:00:06.000000000 +0000 +++ dico-2.10/dicod/xversion.c 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/doc/dico.1 dico-2.10/doc/dico.1 --- dico-2.9/doc/dico.1 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/doc/dico.1 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ .\" This file is part of GNU Dico -.\" Copyright (C) 2014-2019 Sergey Poznyakoff +.\" Copyright (C) 2014-2020 Sergey Poznyakoff .\" .\" GNU Dico is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/doc/dicod.8 dico-2.10/doc/dicod.8 --- dico-2.9/doc/dicod.8 2019-04-24 06:45:05.000000000 +0000 +++ dico-2.10/doc/dicod.8 2020-09-04 04:06:22.000000000 +0000 @@ -1,6 +1,6 @@ .lf 1 ./dicod.8in .\" This file is part of GNU Dico -*- nroff -*- -.\" Copyright (C) 2014-2019 Sergey Poznyakoff +.\" Copyright (C) 2014-2020 Sergey Poznyakoff .\" .\" GNU Dico is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by @@ -18,7 +18,7 @@ .ds ET /usr/local/etc .ds MD /usr/local/lib/dico .ds DI /usr/local/share/dico/include -.ds VI /usr/local/share/dico/2.9/include +.ds VI /usr/local/share/dico/2.10/include .ds LO /usr/local/var .lf 17 ./dicod.8in .TH DICOD 8 "September 25, 2018" "GNU DICO" "GNU Dico Reference" diff -Nru dico-2.9/doc/dicod.8in dico-2.10/doc/dicod.8in --- dico-2.9/doc/dicod.8in 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/doc/dicod.8in 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ .\" This file is part of GNU Dico -*- nroff -*- -.\" Copyright (C) 2014-2019 Sergey Poznyakoff +.\" Copyright (C) 2014-2020 Sergey Poznyakoff .\" .\" GNU Dico is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/doc/dicod.conf.5 dico-2.10/doc/dicod.conf.5 --- dico-2.9/doc/dicod.conf.5 2019-04-24 06:45:05.000000000 +0000 +++ dico-2.10/doc/dicod.conf.5 2020-09-04 04:06:22.000000000 +0000 @@ -1,6 +1,6 @@ .lf 1 ./dicod.conf.5in .\" This file is part of GNU Dico -.\" Copyright (C) 2014-2019 Sergey Poznyakoff +.\" Copyright (C) 2014-2020 Sergey Poznyakoff .\" .\" GNU Dico is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by @@ -18,7 +18,7 @@ .ds ET /usr/local/etc .ds MD /usr/local/lib/dico .ds DI /usr/local/share/dico/include -.ds VI /usr/local/share/dico/2.9/include +.ds VI /usr/local/share/dico/2.10/include .ds LO /usr/local/var .lf 17 ./dicod.conf.5in .TH DICOD.CONF 5 "August 20, 2018" "GNU DICO" "GNU Dico Reference" diff -Nru dico-2.9/doc/dicod.conf.5in dico-2.10/doc/dicod.conf.5in --- dico-2.9/doc/dicod.conf.5in 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/doc/dicod.conf.5in 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ .\" This file is part of GNU Dico -.\" Copyright (C) 2014-2019 Sergey Poznyakoff +.\" Copyright (C) 2014-2020 Sergey Poznyakoff .\" .\" GNU Dico is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/doc/dico.info dico-2.10/doc/dico.info --- dico-2.9/doc/dico.info 2019-04-24 06:45:09.000000000 +0000 +++ dico-2.10/doc/dico.info 2020-09-04 04:06:22.000000000 +0000 @@ -1,9 +1,9 @@ -This is dico.info, produced by makeinfo version 5.9.93 from dico.texi. +This is dico.info, produced by makeinfo version 6.7 from dico.texi. Published by the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -28,7 +28,7 @@ - De'die' a` la me'moire de Jacques Brel. + Dédié à la mémoire de Jacques Brel. @@ -38,8 +38,8 @@ Dico Manual *********** -This edition of the 'GNU Dico Manual', last updated 22 February 2019, -documents Dico Version 2.9. +This edition of the 'GNU Dico Manual', last updated 4 September 2020, +documents Dico Version 2.10. * Menu: @@ -342,7 +342,7 @@ 'prefix' matches word prefixes. These two strategies are always present. Depending on the configuration, the server may offer other strategies as well. *Note Available Strategies::, for a complete list -of strategies implemented in GNU Dico 2.9. +of strategies implemented in GNU Dico 2.10. One of the strategies is selected as a "default strategy". Usually such strategy tolerates possible typing errors and allows the user to @@ -724,7 +724,7 @@ Pragmatic comments are similar to usual comments, except that they cause some changes in the way the configuration is parsed. Pragmatic comments begin with a '#' sign and end with the next physical newline character. -As of GNU Dico version 2.9, the following pragmatic comments are +As of GNU Dico version 2.10, the following pragmatic comments are understood: '#include ' @@ -737,7 +737,7 @@ The default include search path is: - 1. 'PREFIX/share/dico/2.9/include' + 1. 'PREFIX/share/dico/2.10/include' 2. 'PREFIX/share/dico/include' where PREFIX is the installation prefix. @@ -1488,7 +1488,7 @@ -- Configuration: show-sys-info ACL-NAME This statement controls whether to show system information in reply - to 'SHOW SERVER' command (*note SHOW SERVER: SHOW.). The + to 'SHOW SERVER' command (*note SHOW SERVER: SHOW.). The information will be shown only if ACL ACL-NAME allows it. The system information shown includes the following data: name of @@ -1497,7 +1497,7 @@ of the daemon, number of subprocesses executed so far and average usage frequency. For example: - dicod (dico 2.9) on Linux 2.6.32, + dicod (dico 2.10) on Linux 2.6.32, dict.example.net up 99+04:42:58, 19647 forks (686.9/hour)  @@ -1529,7 +1529,7 @@ while those sent in reply are marked with 'S:'. Here is an excerpt from the transcript output: - S: 220 example.net dicod (dico 2.9) + S: 220 example.net dicod (dico 2.10) <1645.1212874507@example.net> C: client "Kdict" S: 250 ok @@ -1800,7 +1800,7 @@ xlev The 'XLEV' command is supported. This command allows the remote party to set and query maximal Levenshtein distance for 'lev' - matching strategy. *Note strategy: MATCH. *Note XLEV: Extended + matching strategy. *Note strategy: MATCH. *Note XLEV: Extended Commands. The capabilities set using this directive are displayed in the @@ -1828,7 +1828,7 @@ unique name which will be used by subsequent parts of the configuration to refer to this handler. The ellipsis in the description above represents sub-statements. As of Dico version - 2.9 only one sub-statement is defined: + 2.10 only one sub-statement is defined: -- load-module config: command STRING Sets the command line for this handler. It is similar to the @@ -2634,7 +2634,7 @@ (*note handler: Databases.) basis. In this chapter we will describe the modules included in the -distribution of GNU Dico version 2.9. +distribution of GNU Dico version 2.10. * Menu: @@ -3008,7 +3008,7 @@ you may configure one database to return word definitions and another one to act as a thesaurus. - Dico version 2.9 defines the following database parameters: + Dico version 2.10 defines the following database parameters: -- wordnet database parameter: pos value Select part of speech to be displayed by this database. By @@ -3890,7 +3890,7 @@ database. These lines are concatenated after removing the 'info:' prefix and white space immediately following it. E.g.: - info: A short English-Norwegian (Bokma*l) dictionary + info: A short English-Norwegian (Bokmål) dictionary info: of numerals. info: info: This dictionary is public domain. @@ -4325,7 +4325,7 @@ current interface. -- dico_database_module: unsigned dico_capabilities - Module capabilities. As of version 2.9, this member can be one of + Module capabilities. As of version 2.10, this member can be one of the following: 'DICO_CAPA_DEFAULT' @@ -5246,7 +5246,7 @@ beginning users: the program version and warranty conditions and a command to get help, e.g.: - dico 2.9 + dico 2.10 Copyright (C) 2005-2016 Sergey Poznyakoff License GPLv3+: GNU GPL version 3 or later @@ -5284,7 +5284,7 @@ standard error output, for example: dico> .open - dico: Debug: S:220 Pirx.gnu.org.ua dicod (dico 2.9) + dico: Debug: S:220 Pirx.gnu.org.ua dicod (dico 2.10) <32004.1216639476@gnu.org.ua> dico: Debug: C:CLIENT "dico 1.99.91" dico: Debug: S:250 ok @@ -5437,7 +5437,7 @@ 'verbose [NUMBER]' Set or display debugging verbosity level. Currently (as of version - 2.9) it is a no-op. + 2.10) it is a no-op. 'prompt STRING' Change command line prompt. @@ -5809,7 +5809,7 @@ '--client=STRING' '-c STRING' Additional text for client command, instead of the default 'GNU - dico 2.9'. + dico 2.10'. Debugging options ----------------- @@ -5947,7 +5947,7 @@ ******************************* This appendix summarizes search strategies available for use in Dico -2.9. +2.10. exact Match words exactly. This is a built-in strategy. @@ -6463,7 +6463,7 @@ the configuration file (*note xversion: Capabilities.). C: XVERSION - S: 110 dicod (dico 2.9) + S: 110 dicod (dico 2.10) -- Command: XLEV param If PARAM is the word 'tell', displays the current value of @@ -8027,8 +8027,8 @@ * --load-dir: Handlers. (line 64) * --load-dir <1>: Operation Mode. (line 34) * --load-dir <2>: Unit Testing. (line 26) -* --with-libWN, 'configure' option: wordnet. (line 33) -* --with-wordnet, 'configure' option.: wordnet. (line 44) +* --with-libWN, configure option: wordnet. (line 33) +* --with-wordnet, configure option.: wordnet. (line 44) * --without-guile, configuration option: Guile Support. (line 12) * --without-preprocessor, configuration option: Default Preprocessor. (line 25) @@ -8177,8 +8177,8 @@ (line 21) * dico-strat-selector?: Dico Scheme Primitives. (line 18) -* 'dicod', description: Dicod. (line 6) -* 'dicod', operation modes: Dicod. (line 10) +* dicod, description: Dicod. (line 6) +* dicod, operation modes: Dicod. (line 10) * dicod.conf: Configuration. (line 6) * dico_argcv_free: argcv. (line 27) * dico_argcv_get: argcv. (line 16) @@ -8554,11 +8554,11 @@ * open: Server Commands. (line 6) * open on DictionaryClass: Dictionary Class. (line 12) * open-db: Guile API. (line 16) -* operation modes of 'dicod': Daemon Mode. (line 6) +* operation modes of dicod: Daemon Mode. (line 6) * OPTION MIME: OPTION. (line 9) * option, authentication: Authentication. (line 67) * options: Authentication. (line 67) -* options, 'dicod'.: Dicod Invocation. (line 6) +* options, dicod.: Dicod Invocation. (line 6) * outline dictionary: outline. (line 18) * outline mode: outline. (line 11) * outline module: outline. (line 6) @@ -8612,7 +8612,7 @@ (line 6) * resource, authentication: Authentication. (line 76) * restart procedure: Daemon Mode. (line 20) -* restarting 'dicod': Daemon Mode. (line 20) +* restarting dicod: Daemon Mode. (line 20) * result-count: Guile API. (line 121) * result_count on DictionaryClass: Dictionary Class. (line 40) * result_headers on DictionaryClass: Dictionary Class. (line 47) @@ -8643,7 +8643,7 @@ * SIGHUP: Daemon Mode. (line 14) * SIGHUP handling: Daemon Mode. (line 20) * SIGINT: Daemon Mode. (line 14) -* signals handled by 'dicod': Daemon Mode. (line 14) +* signals handled by dicod: Daemon Mode. (line 14) * SIGQUIT: Daemon Mode. (line 14) * SIGTERM: Daemon Mode. (line 14) * simple statements: Statements. (line 6) @@ -8686,12 +8686,12 @@ * suppress-pr: gcide. (line 52) * syslog, --syslog option, summary: Modifier Options. (line 32) * system information: Security Settings. (line 28) -* terminating 'dicod': Daemon Mode. (line 27) +* terminating dicod: Daemon Mode. (line 27) * termination procedure: Daemon Mode. (line 27) * testing, modules: Unit Testing. (line 6) * text authentication database: text userdb. (line 6) * tilde expansion: Program Settings. (line 9) -* time formats, for '--time-format' option: Time and Date Formats. +* time formats, for --time-format option: Time and Date Formats. (line 6) * timing: Tuning. (line 10) * trace-grammar, --trace-grammar option, summary: Debugging Options. @@ -8799,192 +8799,197 @@  Tag Table: -Node: Top904 -Node: Preface4352 -Node: Overview5012 -Ref: default strategy8541 -Node: Intro9535 -Node: Building12020 -Node: Default Preprocessor12758 -Ref: Default Preprocessor-Footnote-114061 -Node: Default Server14102 -Node: Guile Support14825 -Ref: Guile Support-Footnote-115393 -Node: Python Support15438 -Node: Other Settings15816 -Node: Dicod16332 -Node: Daemon Mode16762 -Node: Inetd Mode18888 -Node: Configuration19462 -Node: Syntax21191 -Node: Comments21745 -Node: Pragmatic Comments22348 -Node: Statements24224 -Ref: backslash-interpretation25493 -Ref: here-document26874 -Node: Server Settings29314 -Ref: user statement29532 -Ref: group statement29883 -Ref: mode statement30572 -Ref: inactivity-timeout34257 -Ref: shutdown-timeout34643 -Ref: identity-check34820 -Node: Authentication35327 -Node: text userdb39122 -Node: ldap userdb40860 -Node: SASL43404 -Node: ACL45429 -Node: Security Settings49496 -Node: Logging and Debugging50928 -Node: Access Log52677 -Node: General Settings56110 -Ref: initial reply56469 -Ref: hostname directive57283 -Node: Capabilities59387 -Node: Handlers60771 -Ref: load path63150 -Node: Databases64712 -Node: Database Visibility68993 -Node: Virtual Databases70744 -Node: Strategies and Default Searches74473 -Node: Tuning76889 -Node: Command Aliases78328 -Node: Preprocessor79416 -Node: Exit Codes82112 -Node: Dicod Invocation83486 -Node: Operation Mode83817 -Ref: --inetd84136 -Ref: --runtest84197 -Ref: --lint85077 -Node: Help Options85228 -Ref: --config-help85546 -Ref: --help85669 -Ref: --usage85743 -Ref: --version85809 -Node: Modifier Options85859 -Ref: --config86067 -Ref: --foreground86196 -Ref: --load-dir86267 -Ref: --single-process86396 -Ref: --stderr86760 -Ref: --syslog86840 -Node: Preprocessor Control86943 -Ref: --define87226 -Ref: --include-dir87427 -Ref: --no-preprocessor87586 -Ref: --preprocessor87669 -Node: Debugging Options87889 -Ref: --debug88035 -Ref: --no-transcript88207 -Ref: --transcript88435 -Ref: --source-info88868 -Ref: --trace-grammar88947 -Ref: --trace-lex89005 -Node: Modules89061 -Node: outline89735 -Node: dictorg91728 -Node: gcide94611 -Node: idxgcide97428 -Node: wordnet99039 -Ref: wordnet-Footnote-1104591 -Node: guile104701 -Ref: guile-cmdline106526 -Node: Virtual Functions107385 -Node: Guile Initialization108933 -Node: Guile API110858 -Ref: open-db111410 -Ref: match-word114955 -Node: Dico Scheme Primitives116550 -Ref: dico-key->word116923 -Node: Example Module118124 -Node: python126240 -Node: Dictionary Class127591 -Node: Dico Python Primitives129465 -Ref: Python Selector129968 -Node: DicoSelectionKey131235 -Node: DicoStrategy131717 -Node: Python Example132422 -Node: stratall138786 -Node: substr139489 -Node: word139996 -Node: nprefix140910 -Node: metaphone2141556 -Node: pcre142160 -Node: ldap143547 -Node: pam143901 -Node: Interface144744 -Node: dico_database_module145013 -Ref: dico_init146346 -Ref: dico_db_info149219 -Ref: dico_result_count151603 -Node: Strategies152877 -Ref: selector153990 -Node: Key155028 -Ref: dico_key155148 -Node: Selector157307 -Node: Output160906 -Node: Unit Testing162916 -Node: dico client164313 -Node: Single Query Mode165029 -Node: dico options166165 -Node: urls167759 -Node: Interactive Mode170530 -Node: Server Commands172762 -Node: Database and Strategy174006 -Node: Informational Commands175790 -Node: History Commands177460 -Node: Pager178539 -Node: Program Settings179314 -Node: Session Transcript180811 -Node: Other Commands182433 -Node: Command Summary183751 -Node: Initialization File186544 -Ref: Initialization File-Footnote-1187932 -Node: Autologin188039 -Node: Dico invocation192935 -Ref: dico-opmode195361 -Node: gcider196957 -Node: Reporting Bugs201236 -Node: Available Strategies202044 -Ref: Available Strategies-Footnote-1206222 -Node: Dictionary Server Protocol206273 -Node: Initial Reply206788 -Node: Standard Commands208054 -Node: DEFINE208383 -Node: MATCH210620 -Node: SHOW212861 -Node: OPTION215231 -Node: AUTH216099 -Node: CLIENT217153 -Node: STATUS217538 -Node: HELP217951 -Node: QUIT219396 -Node: Extended Commands219671 -Node: Time and Date Formats221056 -Ref: %c time format222038 -Ref: %s time format225026 -Ref: conversion specs227166 -Node: Libdico227832 -Node: strat228127 -Node: argcv229323 -Node: lists230954 -Node: assoc233291 -Node: diag234847 -Node: filter236073 -Node: parseopt237609 -Node: stream238841 -Node: url242701 -Node: utf8244003 -Node: Character sizes244930 -Node: Iterating over UTF-8 strings245462 -Node: Conversions246839 -Node: Comparing UTF-8 strings249818 -Node: Character lookups251327 -Node: Functions for converting UTF-8 characters252261 -Node: Additional functions253393 -Node: util255715 -Node: xlat256307 -Node: Copying This Manual257067 -Node: Concept Index282204 +Node: Top901 +Node: Preface4350 +Node: Overview5010 +Ref: default strategy8540 +Node: Intro9534 +Node: Building12019 +Node: Default Preprocessor12757 +Ref: Default Preprocessor-Footnote-114060 +Node: Default Server14101 +Node: Guile Support14824 +Ref: Guile Support-Footnote-115392 +Node: Python Support15437 +Node: Other Settings15815 +Node: Dicod16331 +Node: Daemon Mode16761 +Node: Inetd Mode18887 +Node: Configuration19461 +Node: Syntax21190 +Node: Comments21744 +Node: Pragmatic Comments22347 +Node: Statements24225 +Ref: backslash-interpretation25494 +Ref: here-document26875 +Node: Server Settings29315 +Ref: user statement29533 +Ref: group statement29884 +Ref: mode statement30573 +Ref: inactivity-timeout34258 +Ref: shutdown-timeout34644 +Ref: identity-check34821 +Node: Authentication35328 +Node: text userdb39123 +Node: ldap userdb40861 +Node: SASL43405 +Node: ACL45430 +Node: Security Settings49497 +Node: Logging and Debugging50929 +Node: Access Log52679 +Node: General Settings56112 +Ref: initial reply56471 +Ref: hostname directive57285 +Node: Capabilities59389 +Node: Handlers60772 +Ref: load path63152 +Node: Databases64714 +Node: Database Visibility68995 +Node: Virtual Databases70746 +Node: Strategies and Default Searches74475 +Node: Tuning76891 +Node: Command Aliases78330 +Node: Preprocessor79418 +Node: Exit Codes82114 +Node: Dicod Invocation83488 +Node: Operation Mode83819 +Ref: --inetd84138 +Ref: --runtest84199 +Ref: --lint85079 +Node: Help Options85230 +Ref: --config-help85548 +Ref: --help85671 +Ref: --usage85745 +Ref: --version85811 +Node: Modifier Options85861 +Ref: --config86069 +Ref: --foreground86198 +Ref: --load-dir86269 +Ref: --single-process86398 +Ref: --stderr86762 +Ref: --syslog86842 +Node: Preprocessor Control86945 +Ref: --define87228 +Ref: --include-dir87429 +Ref: --no-preprocessor87588 +Ref: --preprocessor87671 +Node: Debugging Options87891 +Ref: --debug88037 +Ref: --no-transcript88209 +Ref: --transcript88437 +Ref: --source-info88870 +Ref: --trace-grammar88949 +Ref: --trace-lex89007 +Node: Modules89063 +Node: outline89738 +Node: dictorg91731 +Node: gcide94614 +Node: idxgcide97431 +Node: wordnet99042 +Ref: wordnet-Footnote-1104595 +Node: guile104705 +Ref: guile-cmdline106530 +Node: Virtual Functions107389 +Node: Guile Initialization108937 +Node: Guile API110862 +Ref: open-db111414 +Ref: match-word114959 +Node: Dico Scheme Primitives116554 +Ref: dico-key->word116927 +Node: Example Module118128 +Node: python126244 +Node: Dictionary Class127595 +Node: Dico Python Primitives129469 +Ref: Python Selector129972 +Node: DicoSelectionKey131239 +Node: DicoStrategy131721 +Node: Python Example132426 +Node: stratall138790 +Node: substr139493 +Node: word140000 +Node: nprefix140914 +Node: metaphone2141560 +Node: pcre142164 +Node: ldap143551 +Node: pam143905 +Node: Interface144748 +Node: dico_database_module145017 +Ref: dico_init146351 +Ref: dico_db_info149224 +Ref: dico_result_count151608 +Node: Strategies152882 +Ref: selector153995 +Node: Key155033 +Ref: dico_key155153 +Node: Selector157312 +Node: Output160911 +Node: Unit Testing162921 +Node: dico client164318 +Node: Single Query Mode165034 +Node: dico options166170 +Node: urls167764 +Node: Interactive Mode170535 +Node: Server Commands172767 +Node: Database and Strategy174011 +Node: Informational Commands175795 +Node: History Commands177465 +Node: Pager178544 +Node: Program Settings179319 +Node: Session Transcript180817 +Node: Other Commands182440 +Node: Command Summary183758 +Node: Initialization File186552 +Ref: Initialization File-Footnote-1187940 +Node: Autologin188047 +Node: Dico invocation192943 +Ref: dico-opmode195369 +Node: gcider196966 +Node: Reporting Bugs201245 +Node: Available Strategies202053 +Ref: Available Strategies-Footnote-1206232 +Node: Dictionary Server Protocol206283 +Node: Initial Reply206798 +Node: Standard Commands208064 +Node: DEFINE208393 +Node: MATCH210630 +Node: SHOW212871 +Node: OPTION215241 +Node: AUTH216109 +Node: CLIENT217163 +Node: STATUS217548 +Node: HELP217961 +Node: QUIT219406 +Node: Extended Commands219681 +Node: Time and Date Formats221067 +Ref: %c time format222049 +Ref: %s time format225037 +Ref: conversion specs227177 +Node: Libdico227843 +Node: strat228138 +Node: argcv229334 +Node: lists230965 +Node: assoc233302 +Node: diag234858 +Node: filter236084 +Node: parseopt237620 +Node: stream238852 +Node: url242712 +Node: utf8244014 +Node: Character sizes244941 +Node: Iterating over UTF-8 strings245473 +Node: Conversions246850 +Node: Comparing UTF-8 strings249829 +Node: Character lookups251338 +Node: Functions for converting UTF-8 characters252272 +Node: Additional functions253404 +Node: util255726 +Node: xlat256318 +Node: Copying This Manual257078 +Node: Concept Index282215  End Tag Table + + +Local Variables: +coding: utf-8 +End: diff -Nru dico-2.9/doc/dico.texi dico-2.10/doc/dico.texi --- dico-2.9/doc/dico.texi 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/doc/dico.texi 2020-09-04 03:59:17.000000000 +0000 @@ -39,7 +39,7 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -Copyright @copyright{} 2008-2019 Sergey Poznyakoff +Copyright @copyright{} 2008--2020 Sergey Poznyakoff Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or diff -Nru dico-2.9/doc/Makefile.am dico-2.10/doc/Makefile.am --- dico-2.9/doc/Makefile.am 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/doc/Makefile.am 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 2008-2019 Sergey Poznyakoff +# Copyright (C) 2008-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/doc/Makefile.in dico-2.10/doc/Makefile.in --- dico-2.9/doc/Makefile.in 2019-04-24 06:43:56.000000000 +0000 +++ dico-2.10/doc/Makefile.in 2020-09-04 04:04:55.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 2008-2019 Sergey Poznyakoff +# Copyright (C) 2008-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -127,8 +127,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -160,15 +160,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -319,7 +319,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -654,6 +653,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -967,9 +967,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/doc/proto.texi dico-2.10/doc/proto.texi --- dico-2.9/doc/proto.texi 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/doc/proto.texi 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ @c This file is part of the GNU Dico manual. -@c Copyright (C) 2008-2019 Sergey Poznyakoff +@c Copyright (C) 2008--2020 Sergey Poznyakoff @c This file is distributed under GFDL 1.1 or any later version @c published by the Free Software Foundation. This appendix describes commands understood by Dico dictionary diff -Nru dico-2.9/doc/stamp-vti dico-2.10/doc/stamp-vti --- dico-2.9/doc/stamp-vti 2019-04-24 06:45:05.000000000 +0000 +++ dico-2.10/doc/stamp-vti 2020-09-04 04:06:20.000000000 +0000 @@ -1,4 +1,4 @@ -@set UPDATED 22 February 2019 -@set UPDATED-MONTH February 2019 -@set EDITION 2.9 -@set VERSION 2.9 +@set UPDATED 4 September 2020 +@set UPDATED-MONTH September 2020 +@set EDITION 2.10 +@set VERSION 2.10 diff -Nru dico-2.9/doc/strat.texi dico-2.10/doc/strat.texi --- dico-2.9/doc/strat.texi 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/doc/strat.texi 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ @c This file is part of the GNU Dico manual. -@c Copyright (C) 2012-2019 Sergey Poznyakoff +@c Copyright (C) 2012--2020 Sergey Poznyakoff @c This file is distributed under GFDL 1.1 or any later version @c published by the Free Software Foundation. This appendix summarizes search strategies available for use in Dico diff -Nru dico-2.9/doc/version.texi dico-2.10/doc/version.texi --- dico-2.9/doc/version.texi 2019-04-24 06:45:05.000000000 +0000 +++ dico-2.10/doc/version.texi 2020-09-04 04:06:20.000000000 +0000 @@ -1,4 +1,4 @@ -@set UPDATED 22 February 2019 -@set UPDATED-MONTH February 2019 -@set EDITION 2.9 -@set VERSION 2.9 +@set UPDATED 4 September 2020 +@set UPDATED-MONTH September 2020 +@set EDITION 2.10 +@set VERSION 2.10 diff -Nru dico-2.9/examples/glossary.scm dico-2.10/examples/glossary.scm --- dico-2.9/examples/glossary.scm 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/examples/glossary.scm 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ ;;;; This file is part of GNU Dico -;;;; Copyright (C) 2008-2019 Sergey Poznyakoff +;;;; Copyright (C) 2008-2020 Sergey Poznyakoff ;;;; ;;;; GNU Dico is free software; you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/examples/listdict.scm dico-2.10/examples/listdict.scm --- dico-2.9/examples/listdict.scm 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/examples/listdict.scm 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ ;;;; This file is part of GNU Dico. -;;;; Copyright (C) 2008-2019 Sergey Poznyakoff +;;;; Copyright (C) 2008-2020 Sergey Poznyakoff ;;;; ;;;; GNU Dico is free software; you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/examples/Makefile.am dico-2.10/examples/Makefile.am --- dico-2.9/examples/Makefile.am 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/examples/Makefile.am 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 2008-2019 Sergey Poznyakoff +# Copyright (C) 2008-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/examples/Makefile.in dico-2.10/examples/Makefile.in --- dico-2.9/examples/Makefile.in 2019-04-24 06:43:56.000000000 +0000 +++ dico-2.10/examples/Makefile.in 2020-09-04 04:04:55.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 2008-2019 Sergey Poznyakoff +# Copyright (C) 2008-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -111,8 +111,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -144,15 +144,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -225,7 +225,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -560,6 +559,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -873,9 +873,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/examples/textdict.py dico-2.10/examples/textdict.py --- dico-2.9/examples/textdict.py 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/examples/textdict.py 2020-09-04 03:59:18.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/bin/python # -*- coding: utf-8 -*- -# Copyright (C) 2008-2019 Sergey Poznyakoff +# Copyright (C) 2008-2020 Sergey Poznyakoff # Copyright (C) 2008, 2012 Wojciech Polak # # GNU Dico is free software; you can redistribute it and/or modify diff -Nru dico-2.9/gint/clexer.c dico-2.10/gint/clexer.c --- dico-2.9/gint/clexer.c 2018-07-25 13:34:33.000000000 +0000 +++ dico-2.10/gint/clexer.c 2020-09-03 04:37:36.000000000 +0000 @@ -13,8 +13,8 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 37 +#define YY_FLEX_MINOR_VERSION 6 +#define YY_FLEX_SUBMINOR_VERSION 0 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -147,7 +147,15 @@ /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -173,6 +181,7 @@ #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) + #define YY_LINENO_REWIND_TO(ptr) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ @@ -338,7 +347,7 @@ /* Begin user sect3 */ -#define yywrap() 1 +#define yywrap() (/*CONSTCOND*/1) #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; @@ -352,11 +361,17 @@ int yylineno = 1; extern char *yytext; +#ifdef yytext_ptr +#undef yytext_ptr +#endif #define yytext_ptr yytext static yy_state_type yy_get_previous_state (void ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); static int yy_get_next_buffer (void ); +#if defined(__GNUC__) && __GNUC__ >= 3 +__attribute__((__noreturn__)) +#endif static void yy_fatal_error (yyconst char msg[] ); /* Done after the current pattern has been matched and before the @@ -396,7 +411,7 @@ 15, 0 } ; -static yyconst flex_int32_t yy_ec[256] = +static yyconst YY_CHAR yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, @@ -428,7 +443,7 @@ 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[45] = +static yyconst YY_CHAR yy_meta[45] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, @@ -437,7 +452,7 @@ 1, 1, 1, 1 } ; -static yyconst flex_int16_t yy_base[132] = +static yyconst flex_uint16_t yy_base[132] = { 0, 0, 0, 200, 260, 191, 260, 162, 40, 182, 159, 38, 146, 260, 260, 156, 34, 260, 35, 33, 42, @@ -475,7 +490,7 @@ 122 } ; -static yyconst flex_int16_t yy_nxt[305] = +static yyconst flex_uint16_t yy_nxt[305] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 22, @@ -636,7 +651,7 @@ #define RETTOK(t) { outstr (#t); return t_token; } #define RETTXT(t,s) { outtok (#t, s); return t_token; } -#line 640 "clexer.c" +#line 655 "clexer.c" #define INITIAL 0 @@ -669,11 +684,11 @@ FILE *yyget_in (void ); -void yyset_in (FILE * in_str ); +void yyset_in (FILE * _in_str ); FILE *yyget_out (void ); -void yyset_out (FILE * out_str ); +void yyset_out (FILE * _out_str ); yy_size_t yyget_leng (void ); @@ -681,7 +696,7 @@ int yyget_lineno (void ); -void yyset_lineno (int line_number ); +void yyset_lineno (int _line_number ); /* Macros after this point can all be overridden by user definitions in * section 1. @@ -695,8 +710,12 @@ #endif #endif +#ifndef YY_NO_UNPUT + static void yyunput (int c,char *buf_ptr ); +#endif + #ifndef yytext_ptr static void yy_flex_strncpy (char *,yyconst char *,int ); #endif @@ -717,7 +736,12 @@ /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -804,7 +828,7 @@ /* Code executed at the end of each rule. */ #ifndef YY_BREAK -#define YY_BREAK break; +#define YY_BREAK /*LINTED*/break; #endif #define YY_RULE_SETUP \ @@ -814,14 +838,10 @@ */ YY_DECL { - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; + yy_state_type yy_current_state; + char *yy_cp, *yy_bp; + int yy_act; -#line 90 "clexer.l" - -#line 824 "clexer.c" - if ( !(yy_init) ) { (yy_init) = 1; @@ -848,7 +868,12 @@ yy_load_buffer_state( ); } - while ( 1 ) /* loops until end-of-file is reached */ + { +#line 90 "clexer.l" + +#line 875 "clexer.c" + + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { yy_cp = (yy_c_buf_p); @@ -864,7 +889,7 @@ yy_match: do { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; + YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -1235,7 +1260,7 @@ #line 167 "clexer.l" ECHO; YY_BREAK -#line 1239 "clexer.c" +#line 1264 "clexer.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1366,6 +1391,7 @@ "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ + } /* end of user's declarations */ } /* end of yylex */ /* yy_get_next_buffer - try to read in a new buffer @@ -1377,9 +1403,9 @@ */ static int yy_get_next_buffer (void) { - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - register char *source = (yytext_ptr); - register int number_to_move, i; + char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + char *source = (yytext_ptr); + yy_size_t number_to_move, i; int ret_val; if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) @@ -1408,7 +1434,7 @@ /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; + number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -1511,14 +1537,14 @@ static yy_state_type yy_get_previous_state (void) { - register yy_state_type yy_current_state; - register char *yy_cp; + yy_state_type yy_current_state; + char *yy_cp; yy_current_state = (yy_start); for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) { - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -1543,10 +1569,10 @@ */ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) { - register int yy_is_jam; - register char *yy_cp = (yy_c_buf_p); + int yy_is_jam; + char *yy_cp = (yy_c_buf_p); - register YY_CHAR yy_c = 1; + YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -1564,9 +1590,11 @@ return yy_is_jam ? 0 : yy_current_state; } - static void yyunput (int c, register char * yy_bp ) +#ifndef YY_NO_UNPUT + + static void yyunput (int c, char * yy_bp ) { - register char *yy_cp; + char *yy_cp; yy_cp = (yy_c_buf_p); @@ -1576,10 +1604,10 @@ if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ - register yy_size_t number_to_move = (yy_n_chars) + 2; - register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ + yy_size_t number_to_move = (yy_n_chars) + 2; + char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; - register char *source = + char *source = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) @@ -1601,6 +1629,8 @@ (yy_c_buf_p) = yy_cp; } +#endif + #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput (void) @@ -1750,7 +1780,7 @@ if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - b->yy_buf_size = size; + b->yy_buf_size = (yy_size_t)size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. @@ -1905,7 +1935,7 @@ * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; + num_to_alloc = 1; // After all that talk, this was set to 1 anyways... (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); @@ -1922,7 +1952,7 @@ if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; + yy_size_t grow_size = 8 /* arbitrary grow size */; num_to_alloc = (yy_buffer_stack_max) + grow_size; (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc @@ -1999,7 +2029,7 @@ YY_BUFFER_STATE b; char *buf; yy_size_t n; - int i; + yy_size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; @@ -2030,7 +2060,7 @@ static void yy_fatal_error (yyconst char* msg ) { - (void) fprintf( stderr, "%s\n", msg ); + (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } @@ -2096,29 +2126,29 @@ } /** Set the current line number. - * @param line_number + * @param _line_number line number * */ -void yyset_lineno (int line_number ) +void yyset_lineno (int _line_number ) { - yylineno = line_number; + yylineno = _line_number; } /** Set the input stream. This does not discard the current * input buffer. - * @param in_str A readable stream. + * @param _in_str A readable stream. * * @see yy_switch_to_buffer */ -void yyset_in (FILE * in_str ) +void yyset_in (FILE * _in_str ) { - yyin = in_str ; + yyin = _in_str ; } -void yyset_out (FILE * out_str ) +void yyset_out (FILE * _out_str ) { - yyout = out_str ; + yyout = _out_str ; } int yyget_debug (void) @@ -2126,9 +2156,9 @@ return yy_flex_debug; } -void yyset_debug (int bdebug ) +void yyset_debug (int _bdebug ) { - yy_flex_debug = bdebug ; + yy_flex_debug = _bdebug ; } static int yy_init_globals (void) @@ -2188,7 +2218,8 @@ #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) { - register int i; + + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } @@ -2197,7 +2228,7 @@ #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * s ) { - register int n; + int n; for ( n = 0; s[n]; ++n ) ; @@ -2207,11 +2238,12 @@ void *yyalloc (yy_size_t size ) { - return (void *) malloc( size ); + return (void *) malloc( size ); } void *yyrealloc (void * ptr, yy_size_t size ) { + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -2224,7 +2256,7 @@ void yyfree (void * ptr ) { - free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ + free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ } #define YYTABLES_NAME "yytables" diff -Nru dico-2.9/gint/Makefile.in dico-2.10/gint/Makefile.in --- dico-2.9/gint/Makefile.in 2019-04-24 06:43:56.000000000 +0000 +++ dico-2.10/gint/Makefile.in 2020-09-04 04:04:55.000000000 +0000 @@ -114,8 +114,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -147,15 +147,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -289,7 +289,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -624,6 +623,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -937,9 +937,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/grecs/am/grecs.m4 dico-2.10/grecs/am/grecs.m4 --- dico-2.9/grecs/am/grecs.m4 2019-02-18 19:01:25.000000000 +0000 +++ dico-2.10/grecs/am/grecs.m4 2020-06-14 10:25:39.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of grecs - Gray's Extensible Configuration System -*- autoconf -*- -# Copyright (C) 2007-2016 Sergey Poznyakoff +# Copyright (C) 2007-2019 Sergey Poznyakoff # # Grex is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -111,10 +111,10 @@ fi save_PATH=$PATH - PREPROC_OPTIONS=`echo $DEFAULT_PREPROCESSOR | sed -n 's/[[^ ]][[^ ]]* //p'` + PREPROC_OPTIONS=`echo "$DEFAULT_PREPROCESSOR" | sed -n 's/[[^ ]][[^ ]]* //p'` case "$DEFAULT_PREPROCESSOR" in - /*) PATH=`expr $DEFAULT_PREPROCESSOR : '\(.*\)/.*'`:$PATH - DEFAULT_PREPROCESSOR=`expr $DEFAULT_PREPROCESSOR : '.*/\(.*\)'`;; + /*) PATH=`expr "$DEFAULT_PREPROCESSOR" : '\(.*\)/.*'`:$PATH + DEFAULT_PREPROCESSOR=`expr "$DEFAULT_PREPROCESSOR" : '.*/\(.*\)'`;; esac AC_PATH_PROG(PPBIN, $DEFAULT_PREPROCESSOR) if test -n "$PPBIN"; then @@ -155,6 +155,7 @@ m4_popdef([TESTDIR]) AM_MISSING_PROG([AUTOM4TE], [autom4te]) GRECS_TESTDIR=tests + GRECS_EXTRA_DIST='$(WORDSPLIT_TEST)' ]) _GRECS_IF_OPTION_SET([getopt],[ AC_CHECK_HEADERS([getopt.h]) @@ -197,12 +198,13 @@ AC_SUBST([GRECS_BUILD_AUX]) AC_SUBST([GRECS_INCLUDES]) AC_SUBST([GRECS_TESTDIR]) + AC_SUBST([GRECS_EXTRA_DIST]) AC_SUBST([GRECS_LDADD]) AC_SUBST([GRECS_DOCDIR]) AC_SUBST([GRECS_CHANGELOG]) AC_SUBST([GRECS_DISTCK_AT]) AC_SUBST([GRECS_README]) - AC_SUBST([GRECS_INCLUDES],['-I$(top_srcdir)/]grecsdir[include] [-I$(top_builddir)/]grecsdir[include]') + AC_SUBST([GRECS_INCLUDES],['-I$(top_srcdir)/]grecsdir[include] [-I$(top_srcdir)/]grecsdir[wordsplit] [-I$(top_builddir)/]grecsdir[include]') AC_SUBST([GRECS_HOST_PROJECT_INCLUDES]) AC_SUBST([GRECS_HOST_PROJECT_LDADD]) AC_SUBST([GRECS_DISTDOC]) @@ -213,6 +215,7 @@ GRECS_BUILD_TYPE=install GRECS_LDADD=['$(top_builddir)/]grecsdir[src/libgrecs.la'] GRECS_DOCDIR='doc' + GRECS_EXTRA_DIST="${GRECS_EXTRA_DIST}${GRECS_EXTRA_DIST:+ }\$(WORDSPLIT_DOC)" GRECS_CHANGELOG= GRECS_DISTCK_AT=distck.at GRECS_README=README.standalone diff -Nru dico-2.9/grecs/build-aux/getopt.m4 dico-2.10/grecs/build-aux/getopt.m4 --- dico-2.9/grecs/build-aux/getopt.m4 2019-02-18 19:01:25.000000000 +0000 +++ dico-2.10/grecs/build-aux/getopt.m4 2019-07-23 05:47:38.000000000 +0000 @@ -208,6 +208,26 @@ popdef([<__GETOPT_KEY>]) >]) +dnl CPP(statement) +dnl -------------- +dnl Inserts a CPP statement to all diversions +dnl +define([],[]) +WITH_DIVERSION(__DIV_OPTDECL__,[]) +WITH_DIVERSION(__DIV_HELPDECL__,[]) +WITH_DIVERSION(__DIV_SWITCH__,[]) +WITH_DIVERSION(__DIV_STATIC__,[])>]) + dnl OPTION(long-opt, short-opt, [arg], [descr]) dnl ------------------------------------------- dnl Introduce a command line option. Arguments: diff -Nru dico-2.9/grecs/gitid.h dico-2.10/grecs/gitid.h --- dico-2.9/grecs/gitid.h 2019-02-19 14:43:17.000000000 +0000 +++ dico-2.10/grecs/gitid.h 2020-06-14 10:27:13.000000000 +0000 @@ -1 +1 @@ -#define GRECS_GIT_ID "1498bd570eb001a6b2bc3f1a5074e8b384d6db30-1550515932-gray@gnu.org" +#define GRECS_GIT_ID "893d875a4065acb757fef55876c391b1dd070041-1592129554-gray@gnu.org" diff -Nru dico-2.9/grecs/include/grecs/Makefile.in dico-2.10/grecs/include/grecs/Makefile.in --- dico-2.9/grecs/include/grecs/Makefile.in 2019-04-24 06:43:57.000000000 +0000 +++ dico-2.10/grecs/include/grecs/Makefile.in 2020-09-04 04:04:55.000000000 +0000 @@ -97,8 +97,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -130,15 +130,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -267,7 +267,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -602,6 +601,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -915,9 +915,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/grecs/include/grecs/node.h dico-2.10/grecs/include/grecs/node.h --- dico-2.9/grecs/include/grecs/node.h 2018-06-03 08:11:12.000000000 +0000 +++ dico-2.10/grecs/include/grecs/node.h 2019-07-23 05:47:38.000000000 +0000 @@ -35,7 +35,7 @@ struct grecs_node *next; struct grecs_node *prev; char *ident; - grecs_locus_t idloc; + grecs_locus_t idloc; /* Location of the identifier */ union { grecs_value_t *value; grecs_symtab_ptr_t texttab; diff -Nru dico-2.9/grecs/include/grecs/tree.h dico-2.10/grecs/include/grecs/tree.h --- dico-2.9/grecs/include/grecs/tree.h 2018-06-03 08:11:12.000000000 +0000 +++ dico-2.10/grecs/include/grecs/tree.h 2019-07-23 05:47:38.000000000 +0000 @@ -67,5 +67,13 @@ size_t grecs_match_buf_get_args(grecs_match_buf_t buf, char ***argv); struct grecs_node *grecs_match_buf_get_root(grecs_match_buf_t buf); void grecs_match_buf_set_root(grecs_match_buf_t buf, struct grecs_node *root); + +/* Assertions */ +int grecs_assert_value_type(const grecs_value_t *value, int type, + grecs_locus_t *refloc); +int grecs_assert_scalar_stmt(grecs_locus_t *locus, + enum grecs_callback_command cmd); +int grecs_assert_node_value_type(enum grecs_callback_command cmd, + grecs_node_t *node, int type); #endif diff -Nru dico-2.9/grecs/include/grecs/txtacc.h dico-2.10/grecs/include/grecs/txtacc.h --- dico-2.9/grecs/include/grecs/txtacc.h 2018-06-03 08:11:12.000000000 +0000 +++ dico-2.10/grecs/include/grecs/txtacc.h 2020-06-14 10:25:41.000000000 +0000 @@ -32,5 +32,6 @@ } while (0) char *grecs_txtacc_finish(grecs_txtacc_t, int); void grecs_txtacc_free_string(grecs_txtacc_t, char *); +void grecs_txtacc_clear(struct grecs_txtacc *acc); #endif diff -Nru dico-2.9/grecs/include/grecs/value.h dico-2.10/grecs/include/grecs/value.h --- dico-2.9/grecs/include/grecs/value.h 2018-06-03 08:11:12.000000000 +0000 +++ dico-2.10/grecs/include/grecs/value.h 2019-07-23 05:47:38.000000000 +0000 @@ -44,6 +44,7 @@ void grecs_value_free(struct grecs_value *val); void grecs_value_free_content(struct grecs_value *val); grecs_value_t *grecs_value_ptr_from_static(grecs_value_t *input); +const char *grecs_value_type_string(int t); int grecs_value_eq(struct grecs_value *a, struct grecs_value *b); int grecs_value_match(struct grecs_value *pat, struct grecs_value *b, diff -Nru dico-2.9/grecs/include/Makefile.am dico-2.10/grecs/include/Makefile.am --- dico-2.9/grecs/include/Makefile.am 2018-06-03 08:11:12.000000000 +0000 +++ dico-2.10/grecs/include/Makefile.am 2019-07-23 05:47:38.000000000 +0000 @@ -1,5 +1,5 @@ SUBDIRS = grecs -GRECS_HDR = grecs.h wordsplit.h +GRECS_HDR = grecs.h $(top_srcdir)/@GRECS_SUBDIR@/wordsplit/wordsplit.h if GRECS_COND_BUILD_INSTALL include_HEADERS = $(GRECS_HDR) diff -Nru dico-2.9/grecs/include/Makefile.in dico-2.10/grecs/include/Makefile.in --- dico-2.9/grecs/include/Makefile.in 2019-04-24 06:43:57.000000000 +0000 +++ dico-2.10/grecs/include/Makefile.in 2020-09-04 04:04:55.000000000 +0000 @@ -96,8 +96,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -129,15 +129,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -209,7 +209,8 @@ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac -am__grecsinclude_HEADERS_DIST = grecs.h wordsplit.h +am__grecsinclude_HEADERS_DIST = grecs.h \ + $(top_srcdir)/@GRECS_SUBDIR@/wordsplit/wordsplit.h am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -239,8 +240,10 @@ } am__installdirs = "$(DESTDIR)$(grecsincludedir)" \ "$(DESTDIR)$(includedir)" -am__include_HEADERS_DIST = grecs.h wordsplit.h -am__noinst_HEADERS_DIST = grecs.h wordsplit.h +am__include_HEADERS_DIST = grecs.h \ + $(top_srcdir)/@GRECS_SUBDIR@/wordsplit/wordsplit.h +am__noinst_HEADERS_DIST = grecs.h \ + $(top_srcdir)/@GRECS_SUBDIR@/wordsplit/wordsplit.h HEADERS = $(grecsinclude_HEADERS) $(include_HEADERS) $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive @@ -305,7 +308,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -640,6 +642,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -953,9 +956,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -1285,7 +1290,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = grecs -GRECS_HDR = grecs.h wordsplit.h +GRECS_HDR = grecs.h $(top_srcdir)/@GRECS_SUBDIR@/wordsplit/wordsplit.h @GRECS_COND_BUILD_INSTALL_TRUE@include_HEADERS = $(GRECS_HDR) @GRECS_COND_BUILD_SHARED_TRUE@@GRECS_COND_INSTALLHEADERS_TRUE@grecsincludedir = @GRECS_INCLUDE_DIR@ @GRECS_COND_BUILD_SHARED_TRUE@@GRECS_COND_INSTALLHEADERS_TRUE@grecsinclude_HEADERS = $(GRECS_HDR) diff -Nru dico-2.9/grecs/include/wordsplit.h dico-2.10/grecs/include/wordsplit.h --- dico-2.9/grecs/include/wordsplit.h 2019-02-18 19:01:25.000000000 +0000 +++ dico-2.10/grecs/include/wordsplit.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,271 +0,0 @@ -/* wordsplit - a word splitter - Copyright (C) 2009-2018 Sergey Poznyakoff - - 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. - - You should have received a copy of the GNU General Public License along - with this program. If not, see . */ - -#ifndef __WORDSPLIT_H -#define __WORDSPLIT_H - -#include - -typedef struct wordsplit wordsplit_t; - -/* Structure used to direct the splitting. Members marked with [Input] - can be defined before calling wordsplit(), those marked with [Output] - provide return values when the function returns. If neither mark is - used, the member is internal and must not be used by the caller. - - In the comments below, the identifiers in parentheses indicate bits that - must be set (or unset, if starting with !) in ws_flags (if starting with - WRDSF_) or ws_options (if starting with WRDSO_) to initialize or use the - given member. - - If not redefined explicitly, most of them are set to some reasonable - default value upon entry to wordsplit(). */ -struct wordsplit -{ - size_t ws_wordc; /* [Output] Number of words in ws_wordv. */ - char **ws_wordv; /* [Output] Array of parsed out words. */ - size_t ws_offs; /* [Input] (WRDSF_DOOFFS) Number of initial - elements in ws_wordv to fill with NULLs. */ - size_t ws_wordn; /* Number of elements ws_wordv can accomodate. */ - int ws_flags; /* [Input] Flags passed to wordsplit. */ - int ws_options; /* [Input] (WRDSF_OPTIONS) - Additional options. */ - size_t ws_maxwords; /* [Input] (WRDSO_MAXWORDS) Return at most that - many words */ - size_t ws_wordi; /* [Output] (WRDSF_INCREMENTAL) Total number of - words returned so far */ - - const char *ws_delim; /* [Input] (WRDSF_DELIM) Word delimiters. */ - const char *ws_comment; /* [Input] (WRDSF_COMMENT) Comment characters. */ - const char *ws_escape[2]; /* [Input] (WRDSF_ESCAPE) Characters to be escaped - with backslash. */ - void (*ws_alloc_die) (wordsplit_t *wsp); - /* [Input] (WRDSF_ALLOC_DIE) Function called when - out of memory. Must not return. */ - void (*ws_error) (const char *, ...) - __attribute__ ((__format__ (__printf__, 1, 2))); - /* [Input] (WRDSF_ERROR) Function used for error - reporting */ - void (*ws_debug) (const char *, ...) - __attribute__ ((__format__ (__printf__, 1, 2))); - /* [Input] (WRDSF_DEBUG) Function used for debug - output. */ - const char **ws_env; /* [Input] (WRDSF_ENV, !WRDSF_NOVAR) Array of - environment variables. */ - - char **ws_envbuf; - size_t ws_envidx; - size_t ws_envsiz; - - int (*ws_getvar) (char **ret, const char *var, size_t len, void *clos); - /* [Input] (WRDSF_GETVAR, !WRDSF_NOVAR) Looks up - the name VAR (LEN bytes long) in the table of - variables and if found returns in memory - location pointed to by RET the value of that - variable. Returns WRDSE_OK (0) on success, - and an error code (see WRDSE_* defines below) - on error. User-specific errors can be returned - by storing the error diagnostic string in RET - and returning WRDSE_USERERR. - Whatever is stored in RET, it must be allocated - using malloc(3). */ - void *ws_closure; /* [Input] (WRDSF_CLOSURE) Passed as the CLOS - argument to ws_getvar and ws_command. */ - int (*ws_command) (char **ret, const char *cmd, size_t len, char **argv, - void *clos); - /* [Input] (!WRDSF_NOCMD) Returns in the memory - location pointed to by RET the expansion of - the command CMD (LEN bytes long). On input, - ARGV contains CMD split out to words. - - See ws_getvar for a discussion of possible - return values. */ - - const char *ws_input; /* Input string (the S argument to wordsplit. */ - size_t ws_len; /* Length of ws_input. */ - size_t ws_endp; /* Points past the last processed byte in - ws_input. */ - int ws_errno; /* [Output] Error code, if an error occurred. */ - char *ws_usererr; /* Points to textual description of - the error, if ws_errno is WRDSE_USERERR. Must - be allocated with malloc(3). */ - struct wordsplit_node *ws_head, *ws_tail; - /* Doubly-linked list of parsed out nodes. */ - int ws_lvl; /* Invocation nesting level. */ -}; - -/* Initial size for ws_env, if allocated automatically */ -#define WORDSPLIT_ENV_INIT 16 - -/* Wordsplit flags. */ -/* Append the words found to the array resulting from a previous - call. */ -#define WRDSF_APPEND 0x00000001 -/* Insert ws_offs initial NULLs in the array ws_wordv. - (These are not counted in the returned ws_wordc.) */ -#define WRDSF_DOOFFS 0x00000002 -/* Don't do command substitution. */ -#define WRDSF_NOCMD 0x00000004 -/* The parameter p resulted from a previous call to - wordsplit(), and wordsplit_free() was not called. Reuse the - allocated storage. */ -#define WRDSF_REUSE 0x00000008 -/* Print errors */ -#define WRDSF_SHOWERR 0x00000010 -/* Consider it an error if an undefined variable is expanded. */ -#define WRDSF_UNDEF 0x00000020 -/* Don't do variable expansion. */ -#define WRDSF_NOVAR 0x00000040 -/* Abort on ENOMEM error */ -#define WRDSF_ENOMEMABRT 0x00000080 -/* Trim off any leading and trailind whitespace */ -#define WRDSF_WS 0x00000100 -/* Handle single quotes */ -#define WRDSF_SQUOTE 0x00000200 -/* Handle double quotes */ -#define WRDSF_DQUOTE 0x00000400 -/* Handle single and double quotes */ -#define WRDSF_QUOTE (WRDSF_SQUOTE|WRDSF_DQUOTE) -/* Replace each input sequence of repeated delimiters with a single - delimiter */ -#define WRDSF_SQUEEZE_DELIMS 0x00000800 -/* Return delimiters */ -#define WRDSF_RETURN_DELIMS 0x00001000 -/* Treat sed expressions as words */ -#define WRDSF_SED_EXPR 0x00002000 -/* ws_delim field is initialized */ -#define WRDSF_DELIM 0x00004000 -/* ws_comment field is initialized */ -#define WRDSF_COMMENT 0x00008000 -/* ws_alloc_die field is initialized */ -#define WRDSF_ALLOC_DIE 0x00010000 -/* ws_error field is initialized */ -#define WRDSF_ERROR 0x00020000 -/* ws_debug field is initialized */ -#define WRDSF_DEBUG 0x00040000 -/* ws_env field is initialized */ -#define WRDSF_ENV 0x00080000 -/* ws_getvar field is initialized */ -#define WRDSF_GETVAR 0x00100000 -/* enable debugging */ -#define WRDSF_SHOWDBG 0x00200000 -/* Don't split input into words. Useful for side effects. */ -#define WRDSF_NOSPLIT 0x00400000 -/* Keep undefined variables in place, instead of expanding them to - empty strings. */ -#define WRDSF_KEEPUNDEF 0x00800000 -/* Warn about undefined variables */ -#define WRDSF_WARNUNDEF 0x01000000 -/* Handle C escapes */ -#define WRDSF_CESCAPES 0x02000000 -/* ws_closure is set */ -#define WRDSF_CLOSURE 0x04000000 -/* ws_env is a Key/Value environment, i.e. the value of a variable is - stored in the element that follows its name. */ -#define WRDSF_ENV_KV 0x08000000 -/* ws_escape is set */ -#define WRDSF_ESCAPE 0x10000000 -/* Incremental mode */ -#define WRDSF_INCREMENTAL 0x20000000 -/* Perform pathname and tilde expansion */ -#define WRDSF_PATHEXPAND 0x40000000 -/* ws_options is initialized */ -#define WRDSF_OPTIONS 0x80000000 - -#define WRDSF_DEFFLAGS \ - (WRDSF_NOVAR | WRDSF_NOCMD | \ - WRDSF_QUOTE | WRDSF_SQUEEZE_DELIMS | WRDSF_CESCAPES) - -/* Remove the word that produces empty string after path expansion */ -#define WRDSO_NULLGLOB 0x00000001 -/* Print error message if path expansion produces empty string */ -#define WRDSO_FAILGLOB 0x00000002 -/* Allow a leading period to be matched by metacharacters. */ -#define WRDSO_DOTGLOB 0x00000004 -#if 0 /* Unused value */ -#define WRDSO_ARGV 0x00000008 -/* Keep backslash in unrecognized escape sequences in words */ -#endif -#define WRDSO_BSKEEP_WORD 0x00000010 -/* Handle octal escapes in words */ -#define WRDSO_OESC_WORD 0x00000020 -/* Handle hex escapes in words */ -#define WRDSO_XESC_WORD 0x00000040 - -/* ws_maxwords field is initialized */ -#define WRDSO_MAXWORDS 0x00000080 - -/* Keep backslash in unrecognized escape sequences in quoted strings */ -#define WRDSO_BSKEEP_QUOTE 0x00000100 -/* Handle octal escapes in quoted strings */ -#define WRDSO_OESC_QUOTE 0x00000200 -/* Handle hex escapes in quoted strings */ -#define WRDSO_XESC_QUOTE 0x00000400 - -#define WRDSO_BSKEEP WRDSO_BSKEEP_WORD -#define WRDSO_OESC WRDSO_OESC_WORD -#define WRDSO_XESC WRDSO_XESC_WORD - -/* Indices into ws_escape */ -#define WRDSX_WORD 0 -#define WRDSX_QUOTE 1 - -/* Set escape option F in WS for words (Q==0) or quoted strings (Q==1) */ -#define WRDSO_ESC_SET(ws,q,f) ((ws)->ws_options |= ((f) << 4*(q))) -/* Test WS for escape option F for words (Q==0) or quoted strings (Q==1) */ -#define WRDSO_ESC_TEST(ws,q,f) ((ws)->ws_options & ((f) << 4*(q))) - -#define WRDSE_OK 0 -#define WRDSE_EOF WRDSE_OK -#define WRDSE_QUOTE 1 -#define WRDSE_NOSPACE 2 -#define WRDSE_USAGE 3 -#define WRDSE_CBRACE 4 -#define WRDSE_UNDEF 5 -#define WRDSE_NOINPUT 6 -#define WRDSE_PAREN 7 -#define WRDSE_GLOBERR 8 -#define WRDSE_USERERR 9 - -int wordsplit (const char *s, wordsplit_t *ws, int flags); -int wordsplit_len (const char *s, size_t len, wordsplit_t *ws, int flags); -void wordsplit_free (wordsplit_t *ws); -void wordsplit_free_words (wordsplit_t *ws); -void wordsplit_free_envbuf (wordsplit_t *ws); -int wordsplit_get_words (wordsplit_t *ws, size_t *wordc, char ***wordv); - -static inline void wordsplit_getwords (wordsplit_t *ws, size_t *wordc, char ***wordv) - __attribute__ ((deprecated)); - -static inline void -wordsplit_getwords (wordsplit_t *ws, size_t *wordc, char ***wordv) -{ - wordsplit_get_words (ws, wordc, wordv); -} - -int wordsplit_append (wordsplit_t *wsp, int argc, char **argv); - -int wordsplit_c_unquote_char (int c); -int wordsplit_c_quote_char (int c); -size_t wordsplit_c_quoted_length (const char *str, int quote_hex, int *quote); -void wordsplit_c_quote_copy (char *dst, const char *src, int quote_hex); - -void wordsplit_perror (wordsplit_t *ws); -const char *wordsplit_strerror (wordsplit_t *ws); - -void wordsplit_clearerr (wordsplit_t *ws); - -#endif diff -Nru dico-2.9/grecs/Makefile.am dico-2.10/grecs/Makefile.am --- dico-2.9/grecs/Makefile.am 2018-06-03 08:11:12.000000000 +0000 +++ dico-2.10/grecs/Makefile.am 2019-07-23 05:47:38.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of Grecs -# Copyright (C) 2007-2016 Sergey Poznyakoff +# Copyright (C) 2007-2019 Sergey Poznyakoff # # Grecs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,7 +16,14 @@ ACLOCAL_AMFLAGS = -I am SUBDIRS=. include src @GRECS_TESTDIR@ @GRECS_DOCDIR@ -EXTRA_DIST=build-aux/yyrename @GRECS_BUILD_AUX@ @GRECS_DISTDOC@ gitid.h + +# Wordsplit components. +WORDSPLIT_SRC = wordsplit/wordsplit.c wordsplit/wordsplit.h +WORDSPLIT_TEST = wordsplit/wordsplit.at wordsplit/wsp.c +WORDSPLIT_DOC = wordsplit/wordsplit.3 + +EXTRA_DIST=build-aux/yyrename @GRECS_BUILD_AUX@ @GRECS_DISTDOC@ gitid.h\ + $(WORDSPLIT_SRC) @GRECS_EXTRA_DIST@ noinst_HEADERS = gitid.h BUILT_SOURCES = gitid.h README diff -Nru dico-2.9/grecs/Makefile.in dico-2.10/grecs/Makefile.in --- dico-2.9/grecs/Makefile.in 2019-04-24 06:43:57.000000000 +0000 +++ dico-2.10/grecs/Makefile.in 2020-09-04 04:04:55.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of Grecs -# Copyright (C) 2007-2016 Sergey Poznyakoff +# Copyright (C) 2007-2019 Sergey Poznyakoff # # Grecs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -288,7 +288,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -623,6 +622,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -936,9 +936,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -1269,7 +1271,14 @@ top_srcdir = @top_srcdir@ ACLOCAL_AMFLAGS = -I am SUBDIRS = . include src @GRECS_TESTDIR@ @GRECS_DOCDIR@ -EXTRA_DIST = build-aux/yyrename @GRECS_BUILD_AUX@ @GRECS_DISTDOC@ gitid.h + +# Wordsplit components. +WORDSPLIT_SRC = wordsplit/wordsplit.c wordsplit/wordsplit.h +WORDSPLIT_TEST = wordsplit/wordsplit.at wordsplit/wsp.c +WORDSPLIT_DOC = wordsplit/wordsplit.3 +EXTRA_DIST = build-aux/yyrename @GRECS_BUILD_AUX@ @GRECS_DISTDOC@ gitid.h\ + $(WORDSPLIT_SRC) @GRECS_EXTRA_DIST@ + noinst_HEADERS = gitid.h BUILT_SOURCES = gitid.h README all: $(BUILT_SOURCES) diff -Nru dico-2.9/grecs/README dico-2.10/grecs/README --- dico-2.9/grecs/README 2018-06-03 08:18:58.000000000 +0000 +++ dico-2.10/grecs/README 2019-07-23 05:49:27.000000000 +0000 @@ -34,23 +34,32 @@ git submodule add git://git.gnu.org.ua/grecs.git grecs -2. Add a call to GRECS_SETUP to your configure.ac. It can be as +2. Modify your configure.ac + +First, indicate that grecs/am is the location of additional Autoconf +macros. To do so, add the following statement + + AC_CONFIG_MACRO_DIR([grecs/am]) + +Somewhere below this statement, add a call to GRECS_SETUP. It can be as simple as: GRECS_SETUP If the subproject directory is not 'grecs', supply the actual -directory name as the first argument to this macro, e.g.: +directory name as the first argument to both this macro, and +AC_CONFIG_MACRO_DIR, e.g.: - GRECS_SETUP(lib/grecs) + AC_CONFIG_MACRO_DIR([lib/grecs/am]) + GRECS_SETUP([lib/grecs]) For a detailed description of the GRECS_SETUP macro, run `man doc/GRECS_SETUP.3'. -3. In your Makefile.am, add @GRECS_INCLUDES@ to the INCLUDES value, +3. In your Makefile.am, add @GRECS_INCLUDES@ to the AM_CPPFLAGS value, and @GRECS_LDADD@ to LDADD, e.g.: - INCLUDES = @GRECS_INCLUDES@ + AM_CPPFLAGS = @GRECS_INCLUDES@ LDADD = @GRECS_LDADD@ 4. Include "grecs.h" diff -Nru dico-2.9/grecs/src/assert.c dico-2.10/grecs/src/assert.c --- dico-2.9/grecs/src/assert.c 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/grecs/src/assert.c 2019-07-23 05:47:38.000000000 +0000 @@ -0,0 +1,58 @@ +/* grecs - Gray's Extensible Configuration System + Copyright (C) 2007-2019 Sergey Poznyakoff + + Grecs 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. + + Grecs 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 Grecs. If not, see . */ + +#ifdef HAVE_CONFIG_H +# include +#endif +#include +#include + +int +grecs_assert_value_type(const grecs_value_t *value, int type, + grecs_locus_t *refloc) +{ + if (GRECS_VALUE_EMPTY_P(value)) { + grecs_error(refloc, 0, _("expected %s"), + gettext(grecs_value_type_string(type))); + return 1; + } + if (value->type != type) { + grecs_error(&value->locus, 0, _("expected %s, but found %s"), + gettext(grecs_value_type_string(type)), + gettext(grecs_value_type_string(value->type))); + return 1; + } + return 0; +} + +int +grecs_assert_scalar_stmt(grecs_locus_t *locus, enum grecs_callback_command cmd) +{ + if (cmd != grecs_callback_set_value) { + grecs_error(locus, 0, _("unexpected block statement")); + return 1; + } + return 0; +} + +int +grecs_assert_node_value_type(enum grecs_callback_command cmd, + grecs_node_t *node, int type) +{ + return grecs_assert_scalar_stmt(&node->locus, cmd) + || grecs_assert_value_type(node->v.value, type, + &node->locus); +} diff -Nru dico-2.9/grecs/src/bind-gram.c dico-2.10/grecs/src/bind-gram.c --- dico-2.9/grecs/src/bind-gram.c 2018-07-25 13:34:34.000000000 +0000 +++ dico-2.10/grecs/src/bind-gram.c 2020-09-03 04:37:36.000000000 +0000 @@ -1,19 +1,19 @@ -/* A Bison parser, made by GNU Bison 2.7. */ +/* A Bison parser, made by GNU Bison 3.0.4. */ /* Bison implementation for Yacc-like parsers in C - - Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. - + + Copyright (C) 1984, 1989-1990, 2000-2015 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 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 . */ @@ -26,7 +26,7 @@ special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. - + This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ @@ -44,7 +44,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.7" +#define YYBISON_VERSION "3.0.4" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -62,8 +62,7 @@ /* Copy the first part of user declarations. */ -/* Line 371 of yacc.c */ -#line 1 "bind-gram.y" +#line 1 "bind-gram.y" /* yacc.c:339 */ /* grecs - Gray's Extensible Configuration System Copyright (C) 2007-2016 Sergey Poznyakoff @@ -101,14 +100,13 @@ static struct grecs_value *stmtlist_to_value(struct grecs_node *node); -/* Line 371 of yacc.c */ -#line 106 "bind-gram.c" +#line 104 "bind-gram.c" /* yacc.c:339 */ -# ifndef YY_NULL +# ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULL nullptr +# define YY_NULLPTR nullptr # else -# define YY_NULL 0 +# define YY_NULLPTR 0 # endif # endif @@ -124,7 +122,7 @@ by #include "y.tab.h". */ #ifndef YY_YY_BIND_GRAM_H_INCLUDED # define YY_YY_BIND_GRAM_H_INCLUDED -/* Enabling traces. */ +/* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 1 #endif @@ -132,29 +130,27 @@ extern int grecs_bind_debug; #endif -/* Tokens. */ +/* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum grecs_bind_tokentype { - BIND_STRING = 258, - BIND_IDENT = 259, - BIND_CONTROLS = 260 - }; + enum grecs_bind_tokentype + { + BIND_STRING = 258, + BIND_IDENT = 259, + BIND_CONTROLS = 260 + }; #endif /* Tokens. */ #define BIND_STRING 258 #define BIND_IDENT 259 #define BIND_CONTROLS 260 - - +/* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE + +union YYSTYPE { -/* Line 387 of yacc.c */ -#line 42 "bind-gram.y" +#line 42 "bind-gram.y" /* yacc.c:355 */ char *string; grecs_value_t svalue, *pvalue; @@ -163,50 +159,38 @@ grecs_locus_t locus; struct { struct grecs_node *head, *tail; } node_list; +#line 163 "bind-gram.c" /* yacc.c:355 */ +}; -/* Line 387 of yacc.c */ -#line 169 "bind-gram.c" -} YYSTYPE; +typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 -# define grecs_bind_stype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif +/* Location type. */ #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED -typedef struct YYLTYPE +typedef struct YYLTYPE YYLTYPE; +struct YYLTYPE { int first_line; int first_column; int last_line; int last_column; -} YYLTYPE; -# define grecs_bind_ltype YYLTYPE /* obsolescent; will be withdrawn */ +}; # define YYLTYPE_IS_DECLARED 1 # define YYLTYPE_IS_TRIVIAL 1 #endif + extern YYSTYPE grecs_bind_lval; extern YYLTYPE grecs_bind_lloc; -#ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int grecs_bind_parse (void *YYPARSE_PARAM); -#else -int grecs_bind_parse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus int grecs_bind_parse (void); -#else -int grecs_bind_parse (); -#endif -#endif /* ! YYPARSE_PARAM */ #endif /* !YY_YY_BIND_GRAM_H_INCLUDED */ /* Copy the second part of user declarations. */ -/* Line 390 of yacc.c */ -#line 210 "bind-gram.c" +#line 194 "bind-gram.c" /* yacc.c:358 */ #ifdef short # undef short @@ -220,11 +204,8 @@ #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 grecs_bind_type_int8; -#elif (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -typedef signed char grecs_bind_type_int8; #else -typedef short int grecs_bind_type_int8; +typedef signed char grecs_bind_type_int8; #endif #ifdef YYTYPE_UINT16 @@ -244,8 +225,7 @@ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t -# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# elif ! defined YYSIZE_T # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else @@ -267,6 +247,33 @@ # endif #endif +#ifndef YY_ATTRIBUTE +# if (defined __GNUC__ \ + && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ + || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C +# define YY_ATTRIBUTE(Spec) __attribute__(Spec) +# else +# define YY_ATTRIBUTE(Spec) /* empty */ +# endif +#endif + +#ifndef YY_ATTRIBUTE_PURE +# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) +#endif + +#ifndef YY_ATTRIBUTE_UNUSED +# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) +#endif + +#if !defined _Noreturn \ + && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) +# if defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) +# endif +#endif + /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) @@ -274,23 +281,25 @@ # define YYUSE(E) /* empty */ #endif -/* Identity function, used to suppress warnings about constant conditions. */ -#ifndef lint -# define YYID(N) (N) +#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +/* Suppress an incorrect diagnostic about grecs_bind_lval being uninitialized. */ +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ + _Pragma ("GCC diagnostic pop") #else -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static int -YYID (int grecs_bind_i) -#else -static int -YYID (grecs_bind_i) - int grecs_bind_i; +# define YY_INITIAL_VALUE(Value) Value #endif -{ - return grecs_bind_i; -} +#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_END #endif +#ifndef YY_INITIAL_VALUE +# define YY_INITIAL_VALUE(Value) /* Nothing. */ +#endif + #if ! defined grecs_bind_overflow || YYERROR_VERBOSE @@ -309,8 +318,7 @@ # define alloca _alloca # else # define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ # ifndef EXIT_SUCCESS @@ -322,8 +330,8 @@ # endif # ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) + /* Pacify GCC's 'empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely @@ -339,7 +347,7 @@ # endif # if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) + && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 @@ -347,15 +355,13 @@ # endif # ifndef YYMALLOC # define YYMALLOC malloc -# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free -# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif @@ -365,8 +371,8 @@ #if (! defined grecs_bind_overflow \ && (! defined __cplusplus \ - || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \ - && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \ + && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union grecs_bind_alloc @@ -392,16 +398,16 @@ elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ -# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ - do \ - { \ - YYSIZE_T grecs_bind_newbytes; \ - YYCOPY (&grecs_bind_ptr->Stack_alloc, Stack, grecs_bind_size); \ - Stack = &grecs_bind_ptr->Stack_alloc; \ - grecs_bind_newbytes = grecs_bind_stacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - grecs_bind_ptr += grecs_bind_newbytes / sizeof (*grecs_bind_ptr); \ - } \ - while (YYID (0)) +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ + do \ + { \ + YYSIZE_T grecs_bind_newbytes; \ + YYCOPY (&grecs_bind_ptr->Stack_alloc, Stack, grecs_bind_size); \ + Stack = &grecs_bind_ptr->Stack_alloc; \ + grecs_bind_newbytes = grecs_bind_stacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + grecs_bind_ptr += grecs_bind_newbytes / sizeof (*grecs_bind_ptr); \ + } \ + while (0) #endif @@ -420,7 +426,7 @@ for (grecs_bind_i = 0; grecs_bind_i < (Count); grecs_bind_i++) \ (Dst)[grecs_bind_i] = (Src)[grecs_bind_i]; \ } \ - while (YYID (0)) + while (0) # endif # endif #endif /* !YYCOPY_NEEDED */ @@ -436,17 +442,19 @@ #define YYNNTS 14 /* YYNRULES -- Number of rules. */ #define YYNRULES 25 -/* YYNRULES -- Number of states. */ +/* YYNSTATES -- Number of states. */ #define YYNSTATES 40 -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned + by grecs_bind_lex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 260 -#define YYTRANSLATE(YYX) \ +#define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? grecs_bind_translate[YYX] : YYUNDEFTOK) -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ +/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM + as returned by grecs_bind_lex, without out-of-bounds checking. */ static const grecs_bind_type_uint8 grecs_bind_translate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -479,28 +487,7 @@ }; #if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const grecs_bind_type_uint8 grecs_bind_prhs[] = -{ - 0, 0, 3, 5, 6, 8, 10, 13, 15, 17, - 21, 24, 28, 35, 41, 42, 44, 46, 48, 51, - 53, 55, 57, 60, 62, 65 -}; - -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const grecs_bind_type_int8 grecs_bind_rhs[] = -{ - 11, 0, -1, 12, -1, -1, 13, -1, 14, -1, - 13, 14, -1, 15, -1, 16, -1, 4, 18, 6, - -1, 21, 6, -1, 7, 21, 6, -1, 4, 17, - 8, 12, 9, 6, -1, 5, 8, 22, 9, 6, - -1, -1, 18, -1, 19, -1, 20, -1, 19, 20, - -1, 21, -1, 3, -1, 4, -1, 23, 6, -1, - 20, -1, 23, 20, -1, 23, 8, 13, 9, -1 -}; - -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ + /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const grecs_bind_type_uint8 grecs_bind_rline[] = { 0, 61, 61, 71, 74, 80, 84, 96, 97, 100, @@ -517,56 +504,31 @@ "$end", "error", "$undefined", "BIND_STRING", "BIND_IDENT", "BIND_CONTROLS", "';'", "'!'", "'{'", "'}'", "$accept", "input", "maybe_stmtlist", "stmtlist", "stmt", "simple", "block", "tag", - "vallist", "vlist", "value", "string", "ctlsub", "ctllist", YY_NULL + "vallist", "vlist", "value", "string", "ctlsub", "ctllist", YY_NULLPTR }; #endif # ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to - token YYLEX-NUM. */ +/* YYTOKNUM[NUM] -- (External) token number corresponding to the + (internal) symbol number NUM (which must be that of a token). */ static const grecs_bind_type_uint16 grecs_bind_toknum[] = { 0, 256, 257, 258, 259, 260, 59, 33, 123, 125 }; # endif -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const grecs_bind_type_uint8 grecs_bind_r1[] = -{ - 0, 10, 11, 12, 12, 13, 13, 14, 14, 15, - 15, 15, 16, 16, 17, 17, 18, 19, 19, 20, - 21, 21, 22, 23, 23, 23 -}; +#define YYPACT_NINF -14 -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const grecs_bind_type_uint8 grecs_bind_r2[] = -{ - 0, 2, 1, 0, 1, 1, 2, 1, 1, 3, - 2, 3, 6, 5, 0, 1, 1, 1, 2, 1, - 1, 1, 2, 1, 2, 4 -}; +#define grecs_bind_pact_value_is_default(Yystate) \ + (!!((Yystate) == (-14))) -/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. - Performed when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ -static const grecs_bind_type_uint8 grecs_bind_defact[] = -{ - 3, 20, 14, 0, 0, 0, 2, 4, 5, 7, - 8, 0, 21, 0, 15, 16, 17, 19, 0, 0, - 1, 6, 10, 3, 9, 18, 23, 0, 0, 11, - 0, 0, 22, 0, 24, 0, 13, 0, 12, 25 -}; +#define YYTABLE_NINF -22 -/* YYDEFGOTO[NTERM-NUM]. */ -static const grecs_bind_type_int8 grecs_bind_defgoto[] = -{ - -1, 5, 6, 7, 8, 9, 10, 13, 14, 15, - 16, 11, 27, 28 -}; +#define grecs_bind_table_value_is_error(Yytable_value) \ + 0 -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -#define YYPACT_NINF -14 + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ static const grecs_bind_type_int8 grecs_bind_pact[] = { 21, -14, 28, -4, 32, 9, -14, 21, -14, -14, @@ -575,17 +537,34 @@ 20, 27, -14, 21, -14, 31, -14, 3, -14, -14 }; -/* YYPGOTO[NTERM-NUM]. */ + /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ +static const grecs_bind_type_uint8 grecs_bind_defact[] = +{ + 3, 20, 14, 0, 0, 0, 2, 4, 5, 7, + 8, 0, 21, 0, 15, 16, 17, 19, 0, 0, + 1, 6, 10, 3, 9, 18, 23, 0, 0, 11, + 0, 0, 22, 0, 24, 0, 13, 0, 12, 25 +}; + + /* YYPGOTO[NTERM-NUM]. */ static const grecs_bind_type_int8 grecs_bind_pgoto[] = { -14, -14, 16, 10, -7, -14, -14, -14, -14, -14, -13, -1, -14, -14 }; -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -22 + /* YYDEFGOTO[NTERM-NUM]. */ +static const grecs_bind_type_int8 grecs_bind_defgoto[] = +{ + -1, 5, 6, 7, 8, 9, 10, 13, 14, 15, + 16, 11, 27, 28 +}; + + /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ static const grecs_bind_type_int8 grecs_bind_table[] = { 21, 17, 25, 19, 18, 26, 1, 2, 3, 20, @@ -595,12 +574,6 @@ 0, 0, 0, 37 }; -#define grecs_bind_pact_value_is_default(Yystate) \ - (!!((Yystate) == (-14))) - -#define grecs_bind_table_value_is_error(Yytable_value) \ - YYID (0) - static const grecs_bind_type_int8 grecs_bind_check[] = { 7, 2, 15, 4, 8, 18, 3, 4, 5, 0, @@ -610,8 +583,8 @@ -1, -1, -1, 33 }; -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ static const grecs_bind_type_uint8 grecs_bind_stos[] = { 0, 3, 4, 5, 7, 11, 12, 13, 14, 15, @@ -620,30 +593,32 @@ 12, 9, 6, 8, 20, 9, 6, 13, 6, 9 }; -#define grecs_bind_errok (grecs_bind_errstatus = 0) -#define grecs_bind_clearin (grecs_bind_char = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 - -#define YYACCEPT goto grecs_bind_acceptlab -#define YYABORT goto grecs_bind_abortlab -#define YYERROR goto grecs_bind_errorlab - - -/* Like YYERROR except do call grecs_bind_error. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. However, - YYFAIL appears to be in use. Nevertheless, it is formally deprecated - in Bison 2.4.2's NEWS entry, where a plan to phase it out is - discussed. */ - -#define YYFAIL goto grecs_bind_errlab -#if defined YYFAIL - /* This is here to suppress warnings from the GCC cpp's - -Wunused-macros. Normally we don't worry about that warning, but - some users do, and we want to make it easy for users to remove - YYFAIL uses, which will produce warnings from Bison 2.5. */ -#endif + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const grecs_bind_type_uint8 grecs_bind_r1[] = +{ + 0, 10, 11, 12, 12, 13, 13, 14, 14, 15, + 15, 15, 16, 16, 17, 17, 18, 19, 19, 20, + 21, 21, 22, 23, 23, 23 +}; + + /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +static const grecs_bind_type_uint8 grecs_bind_r2[] = +{ + 0, 2, 1, 0, 1, 1, 2, 1, 1, 3, + 2, 3, 6, 5, 0, 1, 1, 1, 2, 1, + 1, 1, 2, 1, 2, 4 +}; + + +#define grecs_bind_errok (grecs_bind_errstatus = 0) +#define grecs_bind_clearin (grecs_bind_char = YYEMPTY) +#define YYEMPTY (-2) +#define YYEOF 0 + +#define YYACCEPT goto grecs_bind_acceptlab +#define YYABORT goto grecs_bind_abortlab +#define YYERROR goto grecs_bind_errorlab + #define YYRECOVERING() (!!grecs_bind_errstatus) @@ -660,13 +635,13 @@ else \ { \ grecs_bind_error (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (YYID (0)) + YYERROR; \ + } \ +while (0) /* Error token number */ -#define YYTERROR 1 -#define YYERRCODE 256 +#define YYTERROR 1 +#define YYERRCODE 256 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. @@ -676,7 +651,7 @@ #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ - if (YYID (N)) \ + if (N) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ @@ -690,12 +665,27 @@ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ - while (YYID (0)) + while (0) #endif #define YYRHSLOC(Rhs, K) ((Rhs)[K]) +/* Enable debugging if requested. */ +#if YYDEBUG + +# ifndef YYFPRINTF +# include /* INFRINGES ON USER NAME SPACE */ +# define YYFPRINTF fprintf +# endif + +# define YYDPRINTF(Args) \ +do { \ + if (grecs_bind_debug) \ + YYFPRINTF Args; \ +} while (0) + + /* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */ @@ -705,36 +695,28 @@ /* Print *YYLOCP on YYO. Private, do not rely on its existence. */ -__attribute__((__unused__)) -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +YY_ATTRIBUTE_UNUSED static unsigned grecs_bind__location_print_ (FILE *grecs_bind_o, YYLTYPE const * const grecs_bind_locp) -#else -static unsigned -grecs_bind__location_print_ (grecs_bind_o, grecs_bind_locp) - FILE *grecs_bind_o; - YYLTYPE const * const grecs_bind_locp; -#endif { unsigned res = 0; int end_col = 0 != grecs_bind_locp->last_column ? grecs_bind_locp->last_column - 1 : 0; if (0 <= grecs_bind_locp->first_line) { - res += fprintf (grecs_bind_o, "%d", grecs_bind_locp->first_line); + res += YYFPRINTF (grecs_bind_o, "%d", grecs_bind_locp->first_line); if (0 <= grecs_bind_locp->first_column) - res += fprintf (grecs_bind_o, ".%d", grecs_bind_locp->first_column); + res += YYFPRINTF (grecs_bind_o, ".%d", grecs_bind_locp->first_column); } if (0 <= grecs_bind_locp->last_line) { if (grecs_bind_locp->first_line < grecs_bind_locp->last_line) { - res += fprintf (grecs_bind_o, "-%d", grecs_bind_locp->last_line); + res += YYFPRINTF (grecs_bind_o, "-%d", grecs_bind_locp->last_line); if (0 <= end_col) - res += fprintf (grecs_bind_o, ".%d", end_col); + res += YYFPRINTF (grecs_bind_o, ".%d", end_col); } else if (0 <= end_col && grecs_bind_locp->first_column < end_col) - res += fprintf (grecs_bind_o, "-%d", end_col); + res += YYFPRINTF (grecs_bind_o, "-%d", end_col); } return res; } @@ -748,73 +730,35 @@ #endif -/* YYLEX -- calling `grecs_bind_lex' with the right arguments. */ -#ifdef YYLEX_PARAM -# define YYLEX grecs_bind_lex (YYLEX_PARAM) -#else -# define YYLEX grecs_bind_lex () -#endif - -/* Enable debugging if requested. */ -#if YYDEBUG - -# ifndef YYFPRINTF -# include /* INFRINGES ON USER NAME SPACE */ -# define YYFPRINTF fprintf -# endif - -# define YYDPRINTF(Args) \ -do { \ - if (grecs_bind_debug) \ - YYFPRINTF Args; \ -} while (YYID (0)) - -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (grecs_bind_debug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - grecs_bind__symbol_print (stderr, \ - Type, Value, Location); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (YYID (0)) +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +do { \ + if (grecs_bind_debug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + grecs_bind__symbol_print (stderr, \ + Type, Value, Location); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +/*----------------------------------------. +| Print this symbol's value on YYOUTPUT. | +`----------------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void grecs_bind__symbol_value_print (FILE *grecs_bind_output, int grecs_bind_type, YYSTYPE const * const grecs_bind_valuep, YYLTYPE const * const grecs_bind_locationp) -#else -static void -grecs_bind__symbol_value_print (grecs_bind_output, grecs_bind_type, grecs_bind_valuep, grecs_bind_locationp) - FILE *grecs_bind_output; - int grecs_bind_type; - YYSTYPE const * const grecs_bind_valuep; - YYLTYPE const * const grecs_bind_locationp; -#endif { FILE *grecs_bind_o = grecs_bind_output; YYUSE (grecs_bind_o); + YYUSE (grecs_bind_locationp); if (!grecs_bind_valuep) return; - YYUSE (grecs_bind_locationp); # ifdef YYPRINT if (grecs_bind_type < YYNTOKENS) YYPRINT (grecs_bind_output, grecs_bind_toknum[grecs_bind_type], *grecs_bind_valuep); -# else - YYUSE (grecs_bind_output); # endif - switch (grecs_bind_type) - { - default: - break; - } + YYUSE (grecs_bind_type); } @@ -822,23 +766,11 @@ | Print this symbol on YYOUTPUT. | `--------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void grecs_bind__symbol_print (FILE *grecs_bind_output, int grecs_bind_type, YYSTYPE const * const grecs_bind_valuep, YYLTYPE const * const grecs_bind_locationp) -#else -static void -grecs_bind__symbol_print (grecs_bind_output, grecs_bind_type, grecs_bind_valuep, grecs_bind_locationp) - FILE *grecs_bind_output; - int grecs_bind_type; - YYSTYPE const * const grecs_bind_valuep; - YYLTYPE const * const grecs_bind_locationp; -#endif { - if (grecs_bind_type < YYNTOKENS) - YYFPRINTF (grecs_bind_output, "token %s (", grecs_bind_tname[grecs_bind_type]); - else - YYFPRINTF (grecs_bind_output, "nterm %s (", grecs_bind_tname[grecs_bind_type]); + YYFPRINTF (grecs_bind_output, "%s %s (", + grecs_bind_type < YYNTOKENS ? "token" : "nterm", grecs_bind_tname[grecs_bind_type]); YY_LOCATION_PRINT (grecs_bind_output, *grecs_bind_locationp); YYFPRINTF (grecs_bind_output, ": "); @@ -851,16 +783,8 @@ | TOP (included). | `------------------------------------------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void grecs_bind__stack_print (grecs_bind_type_int16 *grecs_bind_bottom, grecs_bind_type_int16 *grecs_bind_top) -#else -static void -grecs_bind__stack_print (grecs_bind_bottom, grecs_bind_top) - grecs_bind_type_int16 *grecs_bind_bottom; - grecs_bind_type_int16 *grecs_bind_top; -#endif { YYFPRINTF (stderr, "Stack now"); for (; grecs_bind_bottom <= grecs_bind_top; grecs_bind_bottom++) @@ -871,50 +795,42 @@ YYFPRINTF (stderr, "\n"); } -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (grecs_bind_debug) \ - grecs_bind__stack_print ((Bottom), (Top)); \ -} while (YYID (0)) +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (grecs_bind_debug) \ + grecs_bind__stack_print ((Bottom), (Top)); \ +} while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -grecs_bind__reduce_print (YYSTYPE *grecs_bind_vsp, YYLTYPE *grecs_bind_lsp, int grecs_bind_rule) -#else static void -grecs_bind__reduce_print (grecs_bind_vsp, grecs_bind_lsp, grecs_bind_rule) - YYSTYPE *grecs_bind_vsp; - YYLTYPE *grecs_bind_lsp; - int grecs_bind_rule; -#endif +grecs_bind__reduce_print (grecs_bind_type_int16 *grecs_bind_ssp, YYSTYPE *grecs_bind_vsp, YYLTYPE *grecs_bind_lsp, int grecs_bind_rule) { + unsigned long int grecs_bind_lno = grecs_bind_rline[grecs_bind_rule]; int grecs_bind_nrhs = grecs_bind_r2[grecs_bind_rule]; int grecs_bind_i; - unsigned long int grecs_bind_lno = grecs_bind_rline[grecs_bind_rule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", - grecs_bind_rule - 1, grecs_bind_lno); + grecs_bind_rule - 1, grecs_bind_lno); /* The symbols being reduced. */ for (grecs_bind_i = 0; grecs_bind_i < grecs_bind_nrhs; grecs_bind_i++) { YYFPRINTF (stderr, " $%d = ", grecs_bind_i + 1); - grecs_bind__symbol_print (stderr, grecs_bind_rhs[grecs_bind_prhs[grecs_bind_rule] + grecs_bind_i], - &(grecs_bind_vsp[(grecs_bind_i + 1) - (grecs_bind_nrhs)]) - , &(grecs_bind_lsp[(grecs_bind_i + 1) - (grecs_bind_nrhs)]) ); + grecs_bind__symbol_print (stderr, + grecs_bind_stos[grecs_bind_ssp[grecs_bind_i + 1 - grecs_bind_nrhs]], + &(grecs_bind_vsp[(grecs_bind_i + 1) - (grecs_bind_nrhs)]) + , &(grecs_bind_lsp[(grecs_bind_i + 1) - (grecs_bind_nrhs)]) ); YYFPRINTF (stderr, "\n"); } } -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (grecs_bind_debug) \ - grecs_bind__reduce_print (grecs_bind_vsp, grecs_bind_lsp, Rule); \ -} while (YYID (0)) +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (grecs_bind_debug) \ + grecs_bind__reduce_print (grecs_bind_ssp, grecs_bind_vsp, grecs_bind_lsp, Rule); \ +} while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ @@ -928,7 +844,7 @@ /* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH +#ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif @@ -951,15 +867,8 @@ # define grecs_bind_strlen strlen # else /* Return the length of YYSTR. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static YYSIZE_T grecs_bind_strlen (const char *grecs_bind_str) -#else -static YYSIZE_T -grecs_bind_strlen (grecs_bind_str) - const char *grecs_bind_str; -#endif { YYSIZE_T grecs_bind_len; for (grecs_bind_len = 0; grecs_bind_str[grecs_bind_len]; grecs_bind_len++) @@ -975,16 +884,8 @@ # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static char * grecs_bind_stpcpy (char *grecs_bind_dest, const char *grecs_bind_src) -#else -static char * -grecs_bind_stpcpy (grecs_bind_dest, grecs_bind_src) - char *grecs_bind_dest; - const char *grecs_bind_src; -#endif { char *grecs_bind_d = grecs_bind_dest; const char *grecs_bind_s = grecs_bind_src; @@ -1014,27 +915,27 @@ char const *grecs_bind_p = grecs_bind_str; for (;;) - switch (*++grecs_bind_p) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++grecs_bind_p != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (grecs_bind_res) - grecs_bind_res[grecs_bind_n] = *grecs_bind_p; - grecs_bind_n++; - break; - - case '"': - if (grecs_bind_res) - grecs_bind_res[grecs_bind_n] = '\0'; - return grecs_bind_n; - } + switch (*++grecs_bind_p) + { + case '\'': + case ',': + goto do_not_strip_quotes; + + case '\\': + if (*++grecs_bind_p != '\\') + goto do_not_strip_quotes; + /* Fall through. */ + default: + if (grecs_bind_res) + grecs_bind_res[grecs_bind_n] = *grecs_bind_p; + grecs_bind_n++; + break; + + case '"': + if (grecs_bind_res) + grecs_bind_res[grecs_bind_n] = '\0'; + return grecs_bind_n; + } do_not_strip_quotes: ; } @@ -1057,11 +958,11 @@ grecs_bind_syntax_error (YYSIZE_T *grecs_bind_msg_alloc, char **grecs_bind_msg, grecs_bind_type_int16 *grecs_bind_ssp, int grecs_bind_token) { - YYSIZE_T grecs_bind_size0 = grecs_bind_tnamerr (YY_NULL, grecs_bind_tname[grecs_bind_token]); + YYSIZE_T grecs_bind_size0 = grecs_bind_tnamerr (YY_NULLPTR, grecs_bind_tname[grecs_bind_token]); YYSIZE_T grecs_bind_size = grecs_bind_size0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ - const char *grecs_bind_format = YY_NULL; + const char *grecs_bind_format = YY_NULLPTR; /* Arguments of grecs_bind_format. */ char const *grecs_bind_arg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per @@ -1069,10 +970,6 @@ int grecs_bind_count = 0; /* There are many possibilities here to consider: - - Assume YYFAIL is not used. It's too flawed to consider. See - - for details. YYERROR is fine as it does not invoke this - function. - If this state is a consistent state with a default action, then the only way this function was invoked is if the default action is an error action. In that case, don't check for expected @@ -1122,7 +1019,7 @@ } grecs_bind_arg[grecs_bind_count++] = grecs_bind_tname[grecs_bind_x]; { - YYSIZE_T grecs_bind_size1 = grecs_bind_size + grecs_bind_tnamerr (YY_NULL, grecs_bind_tname[grecs_bind_x]); + YYSIZE_T grecs_bind_size1 = grecs_bind_size + grecs_bind_tnamerr (YY_NULLPTR, grecs_bind_tname[grecs_bind_x]); if (! (grecs_bind_size <= grecs_bind_size1 && grecs_bind_size1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; @@ -1189,33 +1086,18 @@ | Release the memory associated to this symbol. | `-----------------------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void grecs_bind_destruct (const char *grecs_bind_msg, int grecs_bind_type, YYSTYPE *grecs_bind_valuep, YYLTYPE *grecs_bind_locationp) -#else -static void -grecs_bind_destruct (grecs_bind_msg, grecs_bind_type, grecs_bind_valuep, grecs_bind_locationp) - const char *grecs_bind_msg; - int grecs_bind_type; - YYSTYPE *grecs_bind_valuep; - YYLTYPE *grecs_bind_locationp; -#endif { YYUSE (grecs_bind_valuep); YYUSE (grecs_bind_locationp); - if (!grecs_bind_msg) grecs_bind_msg = "Deleting"; YY_SYMBOL_PRINT (grecs_bind_msg, grecs_bind_type, grecs_bind_valuep, grecs_bind_locationp); - switch (grecs_bind_type) - { - - default: - break; - } + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + YYUSE (grecs_bind_type); + YY_IGNORE_MAYBE_UNINITIALIZED_END } @@ -1224,26 +1106,14 @@ /* The lookahead symbol. */ int grecs_bind_char; - -#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -# define YY_IGNORE_MAYBE_UNINITIALIZED_END -#endif -#ifndef YY_INITIAL_VALUE -# define YY_INITIAL_VALUE(Value) /* Nothing. */ -#endif - /* The semantic value of the lookahead symbol. */ -YYSTYPE grecs_bind_lval YY_INITIAL_VALUE(grecs_bind_val_default); - +YYSTYPE grecs_bind_lval; /* Location data for the lookahead symbol. */ YYLTYPE grecs_bind_lloc # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL = { 1, 1, 1, 1 } # endif ; - - /* Number of syntax errors so far. */ int grecs_bind_nerrs; @@ -1252,36 +1122,17 @@ | grecs_bind_parse. | `----------*/ -#ifdef YYPARSE_PARAM -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -grecs_bind_parse (void *YYPARSE_PARAM) -#else -int -grecs_bind_parse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -#endif -#else /* ! YYPARSE_PARAM */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) int grecs_bind_parse (void) -#else -int -grecs_bind_parse () - -#endif -#endif { int grecs_bind_state; /* Number of tokens to shift before error messages enabled. */ int grecs_bind_errstatus; /* The stacks and their tools: - `grecs_bind_ss': related to states. - `grecs_bind_vs': related to semantic values. - `grecs_bind_ls': related to locations. + 'grecs_bind_ss': related to states. + 'grecs_bind_vs': related to semantic values. + 'grecs_bind_ls': related to locations. Refer to the stacks through separate pointers, to allow grecs_bind_overflow to reallocate them elsewhere. */ @@ -1360,26 +1211,26 @@ #ifdef grecs_bind_overflow { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *grecs_bind_vs1 = grecs_bind_vs; - grecs_bind_type_int16 *grecs_bind_ss1 = grecs_bind_ss; - YYLTYPE *grecs_bind_ls1 = grecs_bind_ls; - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if grecs_bind_overflow is a macro. */ - grecs_bind_overflow (YY_("memory exhausted"), - &grecs_bind_ss1, grecs_bind_size * sizeof (*grecs_bind_ssp), - &grecs_bind_vs1, grecs_bind_size * sizeof (*grecs_bind_vsp), - &grecs_bind_ls1, grecs_bind_size * sizeof (*grecs_bind_lsp), - &grecs_bind_stacksize); - - grecs_bind_ls = grecs_bind_ls1; - grecs_bind_ss = grecs_bind_ss1; - grecs_bind_vs = grecs_bind_vs1; + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *grecs_bind_vs1 = grecs_bind_vs; + grecs_bind_type_int16 *grecs_bind_ss1 = grecs_bind_ss; + YYLTYPE *grecs_bind_ls1 = grecs_bind_ls; + + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if grecs_bind_overflow is a macro. */ + grecs_bind_overflow (YY_("memory exhausted"), + &grecs_bind_ss1, grecs_bind_size * sizeof (*grecs_bind_ssp), + &grecs_bind_vs1, grecs_bind_size * sizeof (*grecs_bind_vsp), + &grecs_bind_ls1, grecs_bind_size * sizeof (*grecs_bind_lsp), + &grecs_bind_stacksize); + + grecs_bind_ls = grecs_bind_ls1; + grecs_bind_ss = grecs_bind_ss1; + grecs_bind_vs = grecs_bind_vs1; } #else /* no grecs_bind_overflow */ # ifndef YYSTACK_RELOCATE @@ -1387,23 +1238,23 @@ # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= grecs_bind_stacksize) - goto grecs_bind_exhaustedlab; + goto grecs_bind_exhaustedlab; grecs_bind_stacksize *= 2; if (YYMAXDEPTH < grecs_bind_stacksize) - grecs_bind_stacksize = YYMAXDEPTH; + grecs_bind_stacksize = YYMAXDEPTH; { - grecs_bind_type_int16 *grecs_bind_ss1 = grecs_bind_ss; - union grecs_bind_alloc *grecs_bind_ptr = - (union grecs_bind_alloc *) YYSTACK_ALLOC (YYSTACK_BYTES (grecs_bind_stacksize)); - if (! grecs_bind_ptr) - goto grecs_bind_exhaustedlab; - YYSTACK_RELOCATE (grecs_bind_ss_alloc, grecs_bind_ss); - YYSTACK_RELOCATE (grecs_bind_vs_alloc, grecs_bind_vs); - YYSTACK_RELOCATE (grecs_bind_ls_alloc, grecs_bind_ls); + grecs_bind_type_int16 *grecs_bind_ss1 = grecs_bind_ss; + union grecs_bind_alloc *grecs_bind_ptr = + (union grecs_bind_alloc *) YYSTACK_ALLOC (YYSTACK_BYTES (grecs_bind_stacksize)); + if (! grecs_bind_ptr) + goto grecs_bind_exhaustedlab; + YYSTACK_RELOCATE (grecs_bind_ss_alloc, grecs_bind_ss); + YYSTACK_RELOCATE (grecs_bind_vs_alloc, grecs_bind_vs); + YYSTACK_RELOCATE (grecs_bind_ls_alloc, grecs_bind_ls); # undef YYSTACK_RELOCATE - if (grecs_bind_ss1 != grecs_bind_ssa) - YYSTACK_FREE (grecs_bind_ss1); + if (grecs_bind_ss1 != grecs_bind_ssa) + YYSTACK_FREE (grecs_bind_ss1); } # endif #endif /* no grecs_bind_overflow */ @@ -1413,10 +1264,10 @@ grecs_bind_lsp = grecs_bind_ls + grecs_bind_size - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) grecs_bind_stacksize)); + (unsigned long int) grecs_bind_stacksize)); if (grecs_bind_ss + grecs_bind_stacksize - 1 <= grecs_bind_ssp) - YYABORT; + YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", grecs_bind_state)); @@ -1445,7 +1296,7 @@ if (grecs_bind_char == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); - grecs_bind_char = YYLEX; + grecs_bind_char = grecs_bind_lex (); } if (grecs_bind_char <= YYEOF) @@ -1510,7 +1361,7 @@ grecs_bind_len = grecs_bind_r2[grecs_bind_n]; /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. + '$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison @@ -1525,222 +1376,221 @@ switch (grecs_bind_n) { case 2: -/* Line 1792 of yacc.c */ -#line 62 "bind-gram.y" +#line 62 "bind-gram.y" /* yacc.c:1646 */ { - parse_tree = grecs_node_create(grecs_node_root, &(grecs_bind_lsp[(1) - (1)])); + parse_tree = grecs_node_create(grecs_node_root, &(grecs_bind_lsp[0])); parse_tree->v.texttab = grecs_text_table(); - grecs_node_bind(parse_tree, (grecs_bind_vsp[(1) - (1)].node), 1); + grecs_node_bind(parse_tree, (grecs_bind_vsp[0].node), 1); } +#line 1386 "bind-gram.c" /* yacc.c:1646 */ break; case 3: -/* Line 1792 of yacc.c */ -#line 71 "bind-gram.y" +#line 71 "bind-gram.y" /* yacc.c:1646 */ { (grecs_bind_val.node) = NULL; } +#line 1394 "bind-gram.c" /* yacc.c:1646 */ break; case 4: -/* Line 1792 of yacc.c */ -#line 75 "bind-gram.y" +#line 75 "bind-gram.y" /* yacc.c:1646 */ { - (grecs_bind_val.node) = (grecs_bind_vsp[(1) - (1)].node_list).head; + (grecs_bind_val.node) = (grecs_bind_vsp[0].node_list).head; } +#line 1402 "bind-gram.c" /* yacc.c:1646 */ break; case 5: -/* Line 1792 of yacc.c */ -#line 81 "bind-gram.y" +#line 81 "bind-gram.y" /* yacc.c:1646 */ { - (grecs_bind_val.node_list).head = (grecs_bind_val.node_list).tail = (grecs_bind_vsp[(1) - (1)].node); + (grecs_bind_val.node_list).head = (grecs_bind_val.node_list).tail = (grecs_bind_vsp[0].node); } +#line 1410 "bind-gram.c" /* yacc.c:1646 */ break; case 6: -/* Line 1792 of yacc.c */ -#line 85 "bind-gram.y" +#line 85 "bind-gram.y" /* yacc.c:1646 */ { - if ((grecs_bind_vsp[(2) - (2)].node)) { - if (!(grecs_bind_vsp[(1) - (2)].node_list).head) - (grecs_bind_vsp[(1) - (2)].node_list).head = (grecs_bind_vsp[(1) - (2)].node_list).tail = (grecs_bind_vsp[(2) - (2)].node); + if ((grecs_bind_vsp[0].node)) { + if (!(grecs_bind_vsp[-1].node_list).head) + (grecs_bind_vsp[-1].node_list).head = (grecs_bind_vsp[-1].node_list).tail = (grecs_bind_vsp[0].node); else - grecs_node_bind((grecs_bind_vsp[(1) - (2)].node_list).tail, (grecs_bind_vsp[(2) - (2)].node), 0); + grecs_node_bind((grecs_bind_vsp[-1].node_list).tail, (grecs_bind_vsp[0].node), 0); } - (grecs_bind_val.node_list) = (grecs_bind_vsp[(1) - (2)].node_list); + (grecs_bind_val.node_list) = (grecs_bind_vsp[-1].node_list); } +#line 1424 "bind-gram.c" /* yacc.c:1646 */ break; case 9: -/* Line 1792 of yacc.c */ -#line 101 "bind-gram.y" +#line 101 "bind-gram.y" /* yacc.c:1646 */ { - if (strcmp((grecs_bind_vsp[(1) - (3)].string), "include") == 0 && - (grecs_bind_vsp[(2) - (3)].pvalue)->type == GRECS_TYPE_STRING) { - grecs_bind_new_source((grecs_bind_vsp[(2) - (3)].pvalue)->v.string, &(grecs_bind_lsp[(1) - (3)])); + if (strcmp((grecs_bind_vsp[-2].string), "include") == 0 && + (grecs_bind_vsp[-1].pvalue)->type == GRECS_TYPE_STRING) { + grecs_bind_new_source((grecs_bind_vsp[-1].pvalue)->v.string, &(grecs_bind_lsp[-2])); (grecs_bind_val.node) = NULL; } else { (grecs_bind_val.node) = grecs_node_create_points(grecs_node_stmt, - (grecs_bind_lsp[(1) - (3)]).beg, (grecs_bind_lsp[(2) - (3)]).end); - (grecs_bind_val.node)->ident = (grecs_bind_vsp[(1) - (3)].string); - (grecs_bind_val.node)->idloc = (grecs_bind_lsp[(1) - (3)]); - (grecs_bind_val.node)->v.value = (grecs_bind_vsp[(2) - (3)].pvalue); + (grecs_bind_lsp[-2]).beg, (grecs_bind_lsp[-1]).end); + (grecs_bind_val.node)->ident = (grecs_bind_vsp[-2].string); + (grecs_bind_val.node)->idloc = (grecs_bind_lsp[-2]); + (grecs_bind_val.node)->v.value = (grecs_bind_vsp[-1].pvalue); } } +#line 1442 "bind-gram.c" /* yacc.c:1646 */ break; case 10: -/* Line 1792 of yacc.c */ -#line 115 "bind-gram.y" +#line 115 "bind-gram.y" /* yacc.c:1646 */ { - (grecs_bind_val.node) = grecs_node_create(grecs_node_stmt, &(grecs_bind_lsp[(1) - (2)])); - (grecs_bind_val.node)->ident = (grecs_bind_vsp[(1) - (2)].string); - (grecs_bind_val.node)->idloc = (grecs_bind_lsp[(1) - (2)]); + (grecs_bind_val.node) = grecs_node_create(grecs_node_stmt, &(grecs_bind_lsp[-1])); + (grecs_bind_val.node)->ident = (grecs_bind_vsp[-1].string); + (grecs_bind_val.node)->idloc = (grecs_bind_lsp[-1]); (grecs_bind_val.node)->v.value = NULL; } +#line 1453 "bind-gram.c" /* yacc.c:1646 */ break; case 11: -/* Line 1792 of yacc.c */ -#line 122 "bind-gram.y" +#line 122 "bind-gram.y" /* yacc.c:1646 */ { (grecs_bind_val.node) = grecs_node_create_points(grecs_node_stmt, - (grecs_bind_lsp[(1) - (3)]).beg, (grecs_bind_lsp[(2) - (3)]).end); + (grecs_bind_lsp[-2]).beg, (grecs_bind_lsp[-1]).end); (grecs_bind_val.node)->ident = grecs_strdup("!"); - (grecs_bind_val.node)->idloc = (grecs_bind_lsp[(1) - (3)]); + (grecs_bind_val.node)->idloc = (grecs_bind_lsp[-2]); (grecs_bind_val.node)->v.value = grecs_malloc(sizeof((grecs_bind_val.node)->v.value[0])); (grecs_bind_val.node)->v.value->type = GRECS_TYPE_STRING; - (grecs_bind_val.node)->v.value->locus = (grecs_bind_lsp[(2) - (3)]); - (grecs_bind_val.node)->v.value->v.string = (grecs_bind_vsp[(2) - (3)].string); + (grecs_bind_val.node)->v.value->locus = (grecs_bind_lsp[-1]); + (grecs_bind_val.node)->v.value->v.string = (grecs_bind_vsp[-1].string); } +#line 1468 "bind-gram.c" /* yacc.c:1646 */ break; case 12: -/* Line 1792 of yacc.c */ -#line 135 "bind-gram.y" +#line 135 "bind-gram.y" /* yacc.c:1646 */ { (grecs_bind_val.node) = grecs_node_create_points(grecs_node_block, - (grecs_bind_lsp[(1) - (6)]).beg, (grecs_bind_lsp[(5) - (6)]).end); - (grecs_bind_val.node)->ident = (grecs_bind_vsp[(1) - (6)].string); - (grecs_bind_val.node)->idloc = (grecs_bind_lsp[(1) - (6)]); - (grecs_bind_val.node)->v.value = (grecs_bind_vsp[(2) - (6)].pvalue); - grecs_node_bind((grecs_bind_val.node), (grecs_bind_vsp[(4) - (6)].node), 1); + (grecs_bind_lsp[-5]).beg, (grecs_bind_lsp[-1]).end); + (grecs_bind_val.node)->ident = (grecs_bind_vsp[-5].string); + (grecs_bind_val.node)->idloc = (grecs_bind_lsp[-5]); + (grecs_bind_val.node)->v.value = (grecs_bind_vsp[-4].pvalue); + grecs_node_bind((grecs_bind_val.node), (grecs_bind_vsp[-2].node), 1); } +#line 1481 "bind-gram.c" /* yacc.c:1646 */ break; case 13: -/* Line 1792 of yacc.c */ -#line 156 "bind-gram.y" +#line 156 "bind-gram.y" /* yacc.c:1646 */ { (grecs_bind_val.node) = grecs_node_create_points(grecs_node_stmt, - (grecs_bind_lsp[(1) - (5)]).beg, (grecs_bind_lsp[(4) - (5)]).end); - (grecs_bind_val.node)->ident = (grecs_bind_vsp[(1) - (5)].string); - (grecs_bind_val.node)->idloc = (grecs_bind_lsp[(1) - (5)]); - (grecs_bind_val.node)->v.value = grecs_value_ptr_from_static(&(grecs_bind_vsp[(3) - (5)].svalue)); + (grecs_bind_lsp[-4]).beg, (grecs_bind_lsp[-1]).end); + (grecs_bind_val.node)->ident = (grecs_bind_vsp[-4].string); + (grecs_bind_val.node)->idloc = (grecs_bind_lsp[-4]); + (grecs_bind_val.node)->v.value = grecs_value_ptr_from_static(&(grecs_bind_vsp[-2].svalue)); } +#line 1493 "bind-gram.c" /* yacc.c:1646 */ break; case 14: -/* Line 1792 of yacc.c */ -#line 166 "bind-gram.y" +#line 166 "bind-gram.y" /* yacc.c:1646 */ { (grecs_bind_val.pvalue) = NULL; } +#line 1501 "bind-gram.c" /* yacc.c:1646 */ break; case 16: -/* Line 1792 of yacc.c */ -#line 173 "bind-gram.y" +#line 173 "bind-gram.y" /* yacc.c:1646 */ { size_t n; - if ((n = grecs_list_size((grecs_bind_vsp[(1) - (1)].list))) == 1) { - (grecs_bind_val.pvalue) = grecs_list_index((grecs_bind_vsp[(1) - (1)].list), 0); + if ((n = grecs_list_size((grecs_bind_vsp[0].list))) == 1) { + (grecs_bind_val.pvalue) = grecs_list_index((grecs_bind_vsp[0].list), 0); } else { size_t i; struct grecs_list_entry *ep; (grecs_bind_val.pvalue) = grecs_malloc(sizeof((grecs_bind_val.pvalue)[0])); (grecs_bind_val.pvalue)->type = GRECS_TYPE_ARRAY; - (grecs_bind_val.pvalue)->locus = (grecs_bind_lsp[(1) - (1)]); + (grecs_bind_val.pvalue)->locus = (grecs_bind_lsp[0]); (grecs_bind_val.pvalue)->v.arg.c = n; (grecs_bind_val.pvalue)->v.arg.v = grecs_calloc(n, sizeof((grecs_bind_val.pvalue)->v.arg.v[0])); - for (i = 0, ep = (grecs_bind_vsp[(1) - (1)].list)->head; ep; i++, ep = ep->next) + for (i = 0, ep = (grecs_bind_vsp[0].list)->head; ep; i++, ep = ep->next) (grecs_bind_val.pvalue)->v.arg.v[i] = ep->data; } - (grecs_bind_vsp[(1) - (1)].list)->free_entry = NULL; - grecs_list_free((grecs_bind_vsp[(1) - (1)].list)); + (grecs_bind_vsp[0].list)->free_entry = NULL; + grecs_list_free((grecs_bind_vsp[0].list)); } +#line 1527 "bind-gram.c" /* yacc.c:1646 */ break; case 17: -/* Line 1792 of yacc.c */ -#line 197 "bind-gram.y" +#line 197 "bind-gram.y" /* yacc.c:1646 */ { (grecs_bind_val.list) = grecs_value_list_create(); - grecs_list_append((grecs_bind_val.list), grecs_value_ptr_from_static(&(grecs_bind_vsp[(1) - (1)].svalue))); + grecs_list_append((grecs_bind_val.list), grecs_value_ptr_from_static(&(grecs_bind_vsp[0].svalue))); } +#line 1536 "bind-gram.c" /* yacc.c:1646 */ break; case 18: -/* Line 1792 of yacc.c */ -#line 202 "bind-gram.y" +#line 202 "bind-gram.y" /* yacc.c:1646 */ { - grecs_list_append((grecs_bind_vsp[(1) - (2)].list), grecs_value_ptr_from_static(&(grecs_bind_vsp[(2) - (2)].svalue))); + grecs_list_append((grecs_bind_vsp[-1].list), grecs_value_ptr_from_static(&(grecs_bind_vsp[0].svalue))); } +#line 1544 "bind-gram.c" /* yacc.c:1646 */ break; case 19: -/* Line 1792 of yacc.c */ -#line 208 "bind-gram.y" +#line 208 "bind-gram.y" /* yacc.c:1646 */ { (grecs_bind_val.svalue).type = GRECS_TYPE_STRING; - (grecs_bind_val.svalue).locus = (grecs_bind_lsp[(1) - (1)]); - (grecs_bind_val.svalue).v.string = (grecs_bind_vsp[(1) - (1)].string); + (grecs_bind_val.svalue).locus = (grecs_bind_lsp[0]); + (grecs_bind_val.svalue).v.string = (grecs_bind_vsp[0].string); } +#line 1554 "bind-gram.c" /* yacc.c:1646 */ break; case 22: -/* Line 1792 of yacc.c */ -#line 220 "bind-gram.y" +#line 220 "bind-gram.y" /* yacc.c:1646 */ { (grecs_bind_val.svalue).type = GRECS_TYPE_LIST; - (grecs_bind_val.svalue).locus = (grecs_bind_lsp[(1) - (2)]); - (grecs_bind_val.svalue).v.list = (grecs_bind_vsp[(1) - (2)].list); + (grecs_bind_val.svalue).locus = (grecs_bind_lsp[-1]); + (grecs_bind_val.svalue).v.list = (grecs_bind_vsp[-1].list); } +#line 1564 "bind-gram.c" /* yacc.c:1646 */ break; case 23: -/* Line 1792 of yacc.c */ -#line 228 "bind-gram.y" +#line 228 "bind-gram.y" /* yacc.c:1646 */ { (grecs_bind_val.list) = grecs_value_list_create(); - grecs_list_append((grecs_bind_val.list), grecs_value_ptr_from_static(&(grecs_bind_vsp[(1) - (1)].svalue))); + grecs_list_append((grecs_bind_val.list), grecs_value_ptr_from_static(&(grecs_bind_vsp[0].svalue))); } +#line 1573 "bind-gram.c" /* yacc.c:1646 */ break; case 24: -/* Line 1792 of yacc.c */ -#line 233 "bind-gram.y" +#line 233 "bind-gram.y" /* yacc.c:1646 */ { - grecs_list_append((grecs_bind_vsp[(1) - (2)].list), grecs_value_ptr_from_static(&(grecs_bind_vsp[(2) - (2)].svalue))); + grecs_list_append((grecs_bind_vsp[-1].list), grecs_value_ptr_from_static(&(grecs_bind_vsp[0].svalue))); } +#line 1581 "bind-gram.c" /* yacc.c:1646 */ break; case 25: -/* Line 1792 of yacc.c */ -#line 237 "bind-gram.y" +#line 237 "bind-gram.y" /* yacc.c:1646 */ { - grecs_list_append((grecs_bind_vsp[(1) - (4)].list), stmtlist_to_value((grecs_bind_vsp[(3) - (4)].node_list).head)); + grecs_list_append((grecs_bind_vsp[-3].list), stmtlist_to_value((grecs_bind_vsp[-1].node_list).head)); /* FIXME: Free $3 */ } +#line 1590 "bind-gram.c" /* yacc.c:1646 */ break; -/* Line 1792 of yacc.c */ -#line 1744 "bind-gram.c" +#line 1594 "bind-gram.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter grecs_bind_char, and that requires @@ -1763,7 +1613,7 @@ *++grecs_bind_vsp = grecs_bind_val; *++grecs_bind_lsp = grecs_bind_loc; - /* Now `shift' the result of the reduction. Determine what state + /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ @@ -1778,9 +1628,9 @@ goto grecs_bind_newstate; -/*------------------------------------. -| grecs_bind_errlab -- here on detecting error | -`------------------------------------*/ +/*--------------------------------------. +| grecs_bind_errlab -- here on detecting error. | +`--------------------------------------*/ grecs_bind_errlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ @@ -1831,20 +1681,20 @@ if (grecs_bind_errstatus == 3) { /* If just tried and failed to reuse lookahead token after an - error, discard it. */ + error, discard it. */ if (grecs_bind_char <= YYEOF) - { - /* Return failure if at end of input. */ - if (grecs_bind_char == YYEOF) - YYABORT; - } + { + /* Return failure if at end of input. */ + if (grecs_bind_char == YYEOF) + YYABORT; + } else - { - grecs_bind_destruct ("Error: discarding", - grecs_bind_token, &grecs_bind_lval, &grecs_bind_lloc); - grecs_bind_char = YYEMPTY; - } + { + grecs_bind_destruct ("Error: discarding", + grecs_bind_token, &grecs_bind_lval, &grecs_bind_lloc); + grecs_bind_char = YYEMPTY; + } } /* Else will try to reuse lookahead token after shifting the error @@ -1864,7 +1714,7 @@ goto grecs_bind_errorlab; grecs_bind_error_range[1] = grecs_bind_lsp[1-grecs_bind_len]; - /* Do not reclaim the symbols of the rule which action triggered + /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (grecs_bind_len); grecs_bind_len = 0; @@ -1877,29 +1727,29 @@ | grecs_bind_errlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ grecs_bind_errlab1: - grecs_bind_errstatus = 3; /* Each real token shifted decrements this. */ + grecs_bind_errstatus = 3; /* Each real token shifted decrements this. */ for (;;) { grecs_bind_n = grecs_bind_pact[grecs_bind_state]; if (!grecs_bind_pact_value_is_default (grecs_bind_n)) - { - grecs_bind_n += YYTERROR; - if (0 <= grecs_bind_n && grecs_bind_n <= YYLAST && grecs_bind_check[grecs_bind_n] == YYTERROR) - { - grecs_bind_n = grecs_bind_table[grecs_bind_n]; - if (0 < grecs_bind_n) - break; - } - } + { + grecs_bind_n += YYTERROR; + if (0 <= grecs_bind_n && grecs_bind_n <= YYLAST && grecs_bind_check[grecs_bind_n] == YYTERROR) + { + grecs_bind_n = grecs_bind_table[grecs_bind_n]; + if (0 < grecs_bind_n) + break; + } + } /* Pop the current state because it cannot handle the error token. */ if (grecs_bind_ssp == grecs_bind_ss) - YYABORT; + YYABORT; grecs_bind_error_range[1] = *grecs_bind_lsp; grecs_bind_destruct ("Error: popping", - grecs_bind_stos[grecs_bind_state], grecs_bind_vsp, grecs_bind_lsp); + grecs_bind_stos[grecs_bind_state], grecs_bind_vsp, grecs_bind_lsp); YYPOPSTACK (1); grecs_bind_state = *grecs_bind_ssp; YY_STACK_PRINT (grecs_bind_ss, grecs_bind_ssp); @@ -1955,14 +1805,14 @@ grecs_bind_destruct ("Cleanup: discarding lookahead", grecs_bind_token, &grecs_bind_lval, &grecs_bind_lloc); } - /* Do not reclaim the symbols of the rule which action triggered + /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (grecs_bind_len); YY_STACK_PRINT (grecs_bind_ss, grecs_bind_ssp); while (grecs_bind_ssp != grecs_bind_ss) { grecs_bind_destruct ("Cleanup: popping", - grecs_bind_stos[*grecs_bind_ssp], grecs_bind_vsp, grecs_bind_lsp); + grecs_bind_stos[*grecs_bind_ssp], grecs_bind_vsp, grecs_bind_lsp); YYPOPSTACK (1); } #ifndef grecs_bind_overflow @@ -1973,13 +1823,9 @@ if (grecs_bind_msg != grecs_bind_msgbuf) YYSTACK_FREE (grecs_bind_msg); #endif - /* Make sure YYID is used. */ - return YYID (grecs_bind_result); + return grecs_bind_result; } - - -/* Line 2055 of yacc.c */ -#line 243 "bind-gram.y" +#line 243 "bind-gram.y" /* yacc.c:1906 */ int diff -Nru dico-2.9/grecs/src/bind-lex.c dico-2.10/grecs/src/bind-lex.c --- dico-2.9/grecs/src/bind-lex.c 2018-07-25 13:34:34.000000000 +0000 +++ dico-2.10/grecs/src/bind-lex.c 2020-09-03 04:37:36.000000000 +0000 @@ -22,8 +22,8 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 37 +#define YY_FLEX_MINOR_VERSION 6 +#define YY_FLEX_SUBMINOR_VERSION 0 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -190,7 +190,15 @@ /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -222,6 +230,7 @@ #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) + #define YY_LINENO_REWIND_TO(ptr) /* Return all but the first "n" matched characters back to the input stream. */ #define grecs_bind_less(n) \ @@ -425,13 +434,21 @@ int grecs_bind_lineno = 1; extern char *grecs_bind_text; +#ifdef grecs_bind_text_ptr +#undef grecs_bind_text_ptr +#endif #define grecs_bind_text_ptr grecs_bind_text +/* %% [1.5] DFA */ + /* %if-c-only Standard (non-C++) definition */ static grecs_bind__state_type grecs_bind__get_previous_state (void ); static grecs_bind__state_type grecs_bind__try_NUL_trans (grecs_bind__state_type current_state ); static int grecs_bind__get_next_buffer (void ); +#if defined(__GNUC__) && __GNUC__ >= 3 +__attribute__((__noreturn__)) +#endif static void grecs_bind__fatal_error (grecs_bind_const char msg[] ); /* %endif */ @@ -473,7 +490,7 @@ } ; -static grecs_bind_const flex_int32_t grecs_bind__ec[256] = +static grecs_bind_const YY_CHAR grecs_bind__ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, @@ -505,13 +522,13 @@ 1, 1, 1, 1, 1 } ; -static grecs_bind_const flex_int32_t grecs_bind__meta[20] = +static grecs_bind_const YY_CHAR grecs_bind__meta[20] = { 0, 1, 2, 3, 1, 1, 4, 1, 5, 6, 6, 6, 7, 7, 6, 1, 6, 6, 6, 6 } ; -static grecs_bind_const flex_int16_t grecs_bind__base[116] = +static grecs_bind_const flex_uint16_t grecs_bind__base[116] = { 0, 0, 18, 18, 19, 25, 38, 108, 330, 28, 330, 330, 51, 104, 0, 25, 13, 65, 71, 0, 330, @@ -545,7 +562,7 @@ 93, 93, 93, 93, 93 } ; -static grecs_bind_const flex_int16_t grecs_bind__nxt[350] = +static grecs_bind_const flex_uint16_t grecs_bind__nxt[350] = { 0, 8, 9, 10, 9, 11, 12, 13, 14, 14, 14, 15, 14, 14, 16, 8, 16, 16, 16, 16, 17, @@ -691,7 +708,7 @@ grecs_bind_lloc.end = grecs_current_locus_point; \ } while (0); -#line 695 "bind-lex.c" +#line 712 "bind-lex.c" #define INITIAL 0 #define COMMENT 1 @@ -739,11 +756,11 @@ FILE *grecs_bind_get_in (void ); -void grecs_bind_set_in (FILE * in_str ); +void grecs_bind_set_in (FILE * _in_str ); FILE *grecs_bind_get_out (void ); -void grecs_bind_set_out (FILE * out_str ); +void grecs_bind_set_out (FILE * _out_str ); grecs_bind__size_t grecs_bind_get_leng (void ); @@ -751,7 +768,7 @@ int grecs_bind_get_lineno (void ); -void grecs_bind_set_lineno (int line_number ); +void grecs_bind_set_lineno (int _line_number ); /* %if-bison-bridge */ /* %endif */ @@ -770,6 +787,9 @@ /* %not-for-header */ +#ifndef YY_NO_UNPUT + +#endif /* %ok-for-header */ /* %endif */ @@ -802,7 +822,12 @@ /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -915,7 +940,7 @@ /* Code executed at the end of each rule. */ #ifndef YY_BREAK -#define YY_BREAK break; +#define YY_BREAK /*LINTED*/break; #endif /* %% [6.0] YY_RULE_SETUP definition goes here */ @@ -931,16 +956,10 @@ */ YY_DECL { - register grecs_bind__state_type grecs_bind__current_state; - register char *grecs_bind__cp, *grecs_bind__bp; - register int grecs_bind__act; + grecs_bind__state_type grecs_bind__current_state; + char *grecs_bind__cp, *grecs_bind__bp; + int grecs_bind__act; -/* %% [7.0] user's declarations go here */ -#line 53 "bind-lex.l" - - /* C-style comments */ -#line 943 "bind-lex.c" - if ( !(grecs_bind__init) ) { (grecs_bind__init) = 1; @@ -975,7 +994,14 @@ grecs_bind__load_buffer_state( ); } - while ( 1 ) /* loops until end-of-file is reached */ + { +/* %% [7.0] user's declarations go here */ +#line 53 "bind-lex.l" + + /* C-style comments */ +#line 1003 "bind-lex.c" + + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { /* %% [8.0] grecs_bind_more()-related code goes here */ grecs_bind__cp = (grecs_bind__c_buf_p); @@ -994,7 +1020,7 @@ grecs_bind__match: do { - register YY_CHAR grecs_bind__c = grecs_bind__ec[YY_SC_TO_UI(*grecs_bind__cp)]; + YY_CHAR grecs_bind__c = grecs_bind__ec[YY_SC_TO_UI(*grecs_bind__cp)] ; if ( grecs_bind__accept[grecs_bind__current_state] ) { (grecs_bind__last_accepting_state) = grecs_bind__current_state; @@ -1231,7 +1257,7 @@ #line 121 "bind-lex.l" ECHO; YY_BREAK -#line 1235 "bind-lex.c" +#line 1261 "bind-lex.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(COMMENT): case YY_STATE_EOF(STR): @@ -1258,7 +1284,11 @@ * back-up) that will match for the new input source. */ (grecs_bind__n_chars) = YY_CURRENT_BUFFER_LVALUE->grecs_bind__n_chars; +/* %if-c-only */ YY_CURRENT_BUFFER_LVALUE->grecs_bind__input_file = grecs_bind_in; +/* %endif */ +/* %if-c++-only */ +/* %endif */ YY_CURRENT_BUFFER_LVALUE->grecs_bind__buffer_status = YY_BUFFER_NORMAL; } @@ -1365,6 +1395,7 @@ "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ + } /* end of user's declarations */ } /* end of grecs_bind_lex */ /* %ok-for-header */ @@ -1388,9 +1419,9 @@ /* %if-c++-only */ /* %endif */ { - register char *dest = YY_CURRENT_BUFFER_LVALUE->grecs_bind__ch_buf; - register char *source = (grecs_bind_text_ptr); - register int number_to_move, i; + char *dest = YY_CURRENT_BUFFER_LVALUE->grecs_bind__ch_buf; + char *source = (grecs_bind_text_ptr); + grecs_bind__size_t number_to_move, i; int ret_val; if ( (grecs_bind__c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->grecs_bind__ch_buf[(grecs_bind__n_chars) + 1] ) @@ -1419,7 +1450,7 @@ /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) ((grecs_bind__c_buf_p) - (grecs_bind_text_ptr)) - 1; + number_to_move = (grecs_bind__size_t) ((grecs_bind__c_buf_p) - (grecs_bind_text_ptr)) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -1528,8 +1559,8 @@ /* %if-c++-only */ /* %endif */ { - register grecs_bind__state_type grecs_bind__current_state; - register char *grecs_bind__cp; + grecs_bind__state_type grecs_bind__current_state; + char *grecs_bind__cp; /* %% [15.0] code to get the start state into grecs_bind__current_state goes here */ grecs_bind__current_state = (grecs_bind__start); @@ -1538,7 +1569,7 @@ for ( grecs_bind__cp = (grecs_bind_text_ptr) + YY_MORE_ADJ; grecs_bind__cp < (grecs_bind__c_buf_p); ++grecs_bind__cp ) { /* %% [16.0] code to find the next state goes here */ - register YY_CHAR grecs_bind__c = (*grecs_bind__cp ? grecs_bind__ec[YY_SC_TO_UI(*grecs_bind__cp)] : 1); + YY_CHAR grecs_bind__c = (*grecs_bind__cp ? grecs_bind__ec[YY_SC_TO_UI(*grecs_bind__cp)] : 1); if ( grecs_bind__accept[grecs_bind__current_state] ) { (grecs_bind__last_accepting_state) = grecs_bind__current_state; @@ -1567,11 +1598,11 @@ /* %if-c++-only */ /* %endif */ { - register int grecs_bind__is_jam; + int grecs_bind__is_jam; /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */ - register char *grecs_bind__cp = (grecs_bind__c_buf_p); + char *grecs_bind__cp = (grecs_bind__c_buf_p); - register YY_CHAR grecs_bind__c = 1; + YY_CHAR grecs_bind__c = 1; if ( grecs_bind__accept[grecs_bind__current_state] ) { (grecs_bind__last_accepting_state) = grecs_bind__current_state; @@ -1589,9 +1620,11 @@ return grecs_bind__is_jam ? 0 : grecs_bind__current_state; } +#ifndef YY_NO_UNPUT /* %if-c-only */ /* %endif */ +#endif /* %if-c-only */ #ifndef YY_NO_INPUT @@ -1698,6 +1731,9 @@ grecs_bind__load_buffer_state( ); } +/* %if-c++-only */ +/* %endif */ + /** Switch to a different input buffer. * @param new_buffer The new input buffer. * @@ -1745,7 +1781,11 @@ { (grecs_bind__n_chars) = YY_CURRENT_BUFFER_LVALUE->grecs_bind__n_chars; (grecs_bind_text_ptr) = (grecs_bind__c_buf_p) = YY_CURRENT_BUFFER_LVALUE->grecs_bind__buf_pos; +/* %if-c-only */ grecs_bind_in = YY_CURRENT_BUFFER_LVALUE->grecs_bind__input_file; +/* %endif */ +/* %if-c++-only */ +/* %endif */ (grecs_bind__hold_char) = *(grecs_bind__c_buf_p); } @@ -1767,7 +1807,7 @@ if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in grecs_bind__create_buffer()" ); - b->grecs_bind__buf_size = size; + b->grecs_bind__buf_size = (grecs_bind__size_t)size; /* grecs_bind__ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. @@ -1783,6 +1823,9 @@ return b; } +/* %if-c++-only */ +/* %endif */ + /** Destroy the buffer. * @param b a buffer created with grecs_bind__create_buffer() * @@ -1821,7 +1864,11 @@ grecs_bind__flush_buffer(b ); +/* %if-c-only */ b->grecs_bind__input_file = file; +/* %endif */ +/* %if-c++-only */ +/* %endif */ b->grecs_bind__fill_buffer = 1; /* If b is the current buffer, then grecs_bind__init_buffer was _probably_ @@ -1956,7 +2003,7 @@ * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; + num_to_alloc = 1; // After all that talk, this was set to 1 anyways... (grecs_bind__buffer_stack) = (struct grecs_bind__buffer_state**)grecs_bind_alloc (num_to_alloc * sizeof(struct grecs_bind__buffer_state*) ); @@ -1973,7 +2020,7 @@ if ((grecs_bind__buffer_stack_top) >= ((grecs_bind__buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; + grecs_bind__size_t grow_size = 8 /* arbitrary grow size */; num_to_alloc = (grecs_bind__buffer_stack_max) + grow_size; (grecs_bind__buffer_stack) = (struct grecs_bind__buffer_state**)grecs_bind_realloc @@ -2056,7 +2103,7 @@ YY_BUFFER_STATE b; char *buf; grecs_bind__size_t n; - int i; + grecs_bind__size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _grecs_bind_bytes_len + 2; @@ -2089,7 +2136,7 @@ /* %if-c-only */ static void grecs_bind__fatal_error (grecs_bind_const char* msg ) { - (void) fprintf( stderr, "%s\n", msg ); + (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* %endif */ @@ -2165,29 +2212,29 @@ /* %endif */ /** Set the current line number. - * @param line_number + * @param _line_number line number * */ -void grecs_bind_set_lineno (int line_number ) +void grecs_bind_set_lineno (int _line_number ) { - grecs_bind_lineno = line_number; + grecs_bind_lineno = _line_number; } /** Set the input stream. This does not discard the current * input buffer. - * @param in_str A readable stream. + * @param _in_str A readable stream. * * @see grecs_bind__switch_to_buffer */ -void grecs_bind_set_in (FILE * in_str ) +void grecs_bind_set_in (FILE * _in_str ) { - grecs_bind_in = in_str ; + grecs_bind_in = _in_str ; } -void grecs_bind_set_out (FILE * out_str ) +void grecs_bind_set_out (FILE * _out_str ) { - grecs_bind_out = out_str ; + grecs_bind_out = _out_str ; } int grecs_bind_get_debug (void) @@ -2195,9 +2242,9 @@ return grecs_bind__flex_debug; } -void grecs_bind_set_debug (int bdebug ) +void grecs_bind_set_debug (int _bdebug ) { - grecs_bind__flex_debug = bdebug ; + grecs_bind__flex_debug = _bdebug ; } /* %endif */ @@ -2270,7 +2317,8 @@ #ifndef grecs_bind_text_ptr static void grecs_bind__flex_strncpy (char* s1, grecs_bind_const char * s2, int n ) { - register int i; + + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } @@ -2279,7 +2327,7 @@ #ifdef YY_NEED_STRLEN static int grecs_bind__flex_strlen (grecs_bind_const char * s ) { - register int n; + int n; for ( n = 0; s[n]; ++n ) ; @@ -2289,11 +2337,12 @@ void *grecs_bind_alloc (grecs_bind__size_t size ) { - return (void *) malloc( size ); + return (void *) malloc( size ); } void *grecs_bind_realloc (void * ptr, grecs_bind__size_t size ) { + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -2306,7 +2355,7 @@ void grecs_bind_free (void * ptr ) { - free( (char *) ptr ); /* see grecs_bind_realloc() for (char *) cast */ + free( (char *) ptr ); /* see grecs_bind_realloc() for (char *) cast */ } /* %if-tables-serialization definitions */ diff -Nru dico-2.9/grecs/src/cidr.c dico-2.10/grecs/src/cidr.c --- dico-2.9/grecs/src/cidr.c 2018-06-03 08:11:12.000000000 +0000 +++ dico-2.10/grecs/src/cidr.c 2019-07-23 05:47:38.000000000 +0000 @@ -23,6 +23,7 @@ #include #include #include +#include #include "grecs.h" static void diff -Nru dico-2.9/grecs/src/dhcpd-gram.c dico-2.10/grecs/src/dhcpd-gram.c --- dico-2.9/grecs/src/dhcpd-gram.c 2018-07-25 13:34:34.000000000 +0000 +++ dico-2.10/grecs/src/dhcpd-gram.c 2020-09-03 04:37:37.000000000 +0000 @@ -1,19 +1,19 @@ -/* A Bison parser, made by GNU Bison 2.7. */ +/* A Bison parser, made by GNU Bison 3.0.4. */ /* Bison implementation for Yacc-like parsers in C - - Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. - + + Copyright (C) 1984, 1989-1990, 2000-2015 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 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 . */ @@ -26,7 +26,7 @@ special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. - + This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ @@ -44,7 +44,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.7" +#define YYBISON_VERSION "3.0.4" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -62,8 +62,7 @@ /* Copy the first part of user declarations. */ -/* Line 371 of yacc.c */ -#line 1 "dhcpd-gram.y" +#line 1 "dhcpd-gram.y" /* yacc.c:339 */ /* grecs - Gray's Extensible Configuration System Copyright (C) 2007-2016 Sergey Poznyakoff @@ -114,14 +113,13 @@ } -/* Line 371 of yacc.c */ -#line 119 "dhcpd-gram.c" +#line 117 "dhcpd-gram.c" /* yacc.c:339 */ -# ifndef YY_NULL +# ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULL nullptr +# define YY_NULLPTR nullptr # else -# define YY_NULL 0 +# define YY_NULLPTR 0 # endif # endif @@ -137,7 +135,7 @@ by #include "y.tab.h". */ #ifndef YY_YY_DHCPD_GRAM_H_INCLUDED # define YY_YY_DHCPD_GRAM_H_INCLUDED -/* Enabling traces. */ +/* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 1 #endif @@ -145,19 +143,18 @@ extern int grecs_dhcpddebug; #endif -/* Tokens. */ +/* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum grecs_dhcpdtokentype { - DHCPD_IF = 258, - DHCPD_ELSIF = 259, - DHCPD_EXPR = 260, - DHCPD_ELSE = 261, - DHCPD_STRING = 262, - DHCPD_IDENT = 263 - }; + enum grecs_dhcpdtokentype + { + DHCPD_IF = 258, + DHCPD_ELSIF = 259, + DHCPD_EXPR = 260, + DHCPD_ELSE = 261, + DHCPD_STRING = 262, + DHCPD_IDENT = 263 + }; #endif /* Tokens. */ #define DHCPD_IF 258 @@ -167,13 +164,12 @@ #define DHCPD_STRING 262 #define DHCPD_IDENT 263 - - +/* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE + +union YYSTYPE { -/* Line 387 of yacc.c */ -#line 55 "dhcpd-gram.y" +#line 55 "dhcpd-gram.y" /* yacc.c:355 */ char *string; grecs_value_t svalue, *pvalue; @@ -182,50 +178,38 @@ grecs_locus_t locus; struct { struct grecs_node *head, *tail; } node_list; +#line 182 "dhcpd-gram.c" /* yacc.c:355 */ +}; -/* Line 387 of yacc.c */ -#line 188 "dhcpd-gram.c" -} YYSTYPE; +typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 -# define grecs_dhcpdstype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif +/* Location type. */ #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED -typedef struct YYLTYPE +typedef struct YYLTYPE YYLTYPE; +struct YYLTYPE { int first_line; int first_column; int last_line; int last_column; -} YYLTYPE; -# define grecs_dhcpdltype YYLTYPE /* obsolescent; will be withdrawn */ +}; # define YYLTYPE_IS_DECLARED 1 # define YYLTYPE_IS_TRIVIAL 1 #endif + extern YYSTYPE grecs_dhcpdlval; extern YYLTYPE grecs_dhcpdlloc; -#ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int grecs_dhcpdparse (void *YYPARSE_PARAM); -#else -int grecs_dhcpdparse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus int grecs_dhcpdparse (void); -#else -int grecs_dhcpdparse (); -#endif -#endif /* ! YYPARSE_PARAM */ #endif /* !YY_YY_DHCPD_GRAM_H_INCLUDED */ /* Copy the second part of user declarations. */ -/* Line 390 of yacc.c */ -#line 229 "dhcpd-gram.c" +#line 213 "dhcpd-gram.c" /* yacc.c:358 */ #ifdef short # undef short @@ -239,11 +223,8 @@ #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 grecs_dhcpdtype_int8; -#elif (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -typedef signed char grecs_dhcpdtype_int8; #else -typedef short int grecs_dhcpdtype_int8; +typedef signed char grecs_dhcpdtype_int8; #endif #ifdef YYTYPE_UINT16 @@ -263,8 +244,7 @@ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t -# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# elif ! defined YYSIZE_T # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else @@ -286,6 +266,33 @@ # endif #endif +#ifndef YY_ATTRIBUTE +# if (defined __GNUC__ \ + && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ + || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C +# define YY_ATTRIBUTE(Spec) __attribute__(Spec) +# else +# define YY_ATTRIBUTE(Spec) /* empty */ +# endif +#endif + +#ifndef YY_ATTRIBUTE_PURE +# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) +#endif + +#ifndef YY_ATTRIBUTE_UNUSED +# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) +#endif + +#if !defined _Noreturn \ + && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) +# if defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) +# endif +#endif + /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) @@ -293,23 +300,25 @@ # define YYUSE(E) /* empty */ #endif -/* Identity function, used to suppress warnings about constant conditions. */ -#ifndef lint -# define YYID(N) (N) -#else -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static int -YYID (int grecs_dhcpdi) +#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +/* Suppress an incorrect diagnostic about grecs_dhcpdlval being uninitialized. */ +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ + _Pragma ("GCC diagnostic pop") #else -static int -YYID (grecs_dhcpdi) - int grecs_dhcpdi; +# define YY_INITIAL_VALUE(Value) Value #endif -{ - return grecs_dhcpdi; -} +#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_END #endif +#ifndef YY_INITIAL_VALUE +# define YY_INITIAL_VALUE(Value) /* Nothing. */ +#endif + #if ! defined grecs_dhcpdoverflow || YYERROR_VERBOSE @@ -328,8 +337,7 @@ # define alloca _alloca # else # define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ # ifndef EXIT_SUCCESS @@ -341,8 +349,8 @@ # endif # ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) + /* Pacify GCC's 'empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely @@ -358,7 +366,7 @@ # endif # if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) + && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 @@ -366,15 +374,13 @@ # endif # ifndef YYMALLOC # define YYMALLOC malloc -# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free -# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif @@ -384,8 +390,8 @@ #if (! defined grecs_dhcpdoverflow \ && (! defined __cplusplus \ - || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \ - && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \ + && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union grecs_dhcpdalloc @@ -411,16 +417,16 @@ elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ -# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ - do \ - { \ - YYSIZE_T grecs_dhcpdnewbytes; \ - YYCOPY (&grecs_dhcpdptr->Stack_alloc, Stack, grecs_dhcpdsize); \ - Stack = &grecs_dhcpdptr->Stack_alloc; \ - grecs_dhcpdnewbytes = grecs_dhcpdstacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - grecs_dhcpdptr += grecs_dhcpdnewbytes / sizeof (*grecs_dhcpdptr); \ - } \ - while (YYID (0)) +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ + do \ + { \ + YYSIZE_T grecs_dhcpdnewbytes; \ + YYCOPY (&grecs_dhcpdptr->Stack_alloc, Stack, grecs_dhcpdsize); \ + Stack = &grecs_dhcpdptr->Stack_alloc; \ + grecs_dhcpdnewbytes = grecs_dhcpdstacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + grecs_dhcpdptr += grecs_dhcpdnewbytes / sizeof (*grecs_dhcpdptr); \ + } \ + while (0) #endif @@ -439,7 +445,7 @@ for (grecs_dhcpdi = 0; grecs_dhcpdi < (Count); grecs_dhcpdi++) \ (Dst)[grecs_dhcpdi] = (Src)[grecs_dhcpdi]; \ } \ - while (YYID (0)) + while (0) # endif # endif #endif /* !YYCOPY_NEEDED */ @@ -455,17 +461,19 @@ #define YYNNTS 23 /* YYNRULES -- Number of rules. */ #define YYNRULES 38 -/* YYNRULES -- Number of states. */ +/* YYNSTATES -- Number of states. */ #define YYNSTATES 59 -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned + by grecs_dhcpdlex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 263 -#define YYTRANSLATE(YYX) \ +#define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? grecs_dhcpdtranslate[YYX] : YYUNDEFTOK) -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ +/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM + as returned by grecs_dhcpdlex, without out-of-bounds checking. */ static const grecs_dhcpdtype_uint8 grecs_dhcpdtranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -498,33 +506,7 @@ }; #if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const grecs_dhcpdtype_uint8 grecs_dhcpdprhs[] = -{ - 0, 0, 3, 5, 6, 8, 10, 13, 15, 17, - 19, 23, 24, 30, 33, 40, 41, 43, 44, 46, - 48, 50, 53, 55, 57, 59, 61, 65, 69, 77, - 79, 81, 82, 84, 86, 89, 95, 96, 98 -}; - -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const grecs_dhcpdtype_int8 grecs_dhcpdrhs[] = -{ - 15, 0, -1, 16, -1, -1, 17, -1, 18, -1, - 17, 18, -1, 19, -1, 21, -1, 29, -1, 8, - 24, 9, -1, -1, 8, 10, 20, 5, 9, -1, - 27, 9, -1, 8, 23, 11, 16, 12, 22, -1, - -1, 9, -1, -1, 24, -1, 25, -1, 26, -1, - 25, 26, -1, 27, -1, 28, -1, 7, -1, 8, - -1, 7, 13, 7, -1, 28, 13, 7, -1, 30, - 5, 11, 16, 12, 32, 35, -1, 3, -1, 4, - -1, -1, 33, -1, 34, -1, 33, 34, -1, 31, - 5, 11, 16, 12, -1, -1, 36, -1, 6, 11, - 16, 12, -1 -}; - -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ + /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const grecs_dhcpdtype_uint16 grecs_dhcpdrline[] = { 0, 77, 77, 87, 90, 96, 100, 112, 113, 114, @@ -544,13 +526,13 @@ "','", "$accept", "input", "maybe_stmtlist", "stmtlist", "stmt", "simple", "$@1", "block", "opt_semi", "tag", "vallist", "vlist", "value", "string", "strlist", "cond", "if", "elsif", "opt_elsifchain", - "elsifchain", "elsifcond", "opt_elsecond", "elsecond", YY_NULL + "elsifchain", "elsifcond", "opt_elsecond", "elsecond", YY_NULLPTR }; #endif # ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to - token YYLEX-NUM. */ +/* YYTOKNUM[NUM] -- (External) token number corresponding to the + (internal) symbol number NUM (which must be that of a token). */ static const grecs_dhcpdtype_uint16 grecs_dhcpdtoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 59, @@ -558,48 +540,18 @@ }; # endif -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const grecs_dhcpdtype_uint8 grecs_dhcpdr1[] = -{ - 0, 14, 15, 16, 16, 17, 17, 18, 18, 18, - 19, 20, 19, 19, 21, 22, 22, 23, 23, 24, - 25, 25, 26, 26, 27, 27, 28, 28, 29, 30, - 31, 32, 32, 33, 33, 34, 35, 35, 36 -}; +#define YYPACT_NINF -29 -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const grecs_dhcpdtype_uint8 grecs_dhcpdr2[] = -{ - 0, 2, 1, 0, 1, 1, 2, 1, 1, 1, - 3, 0, 5, 2, 6, 0, 1, 0, 1, 1, - 1, 2, 1, 1, 1, 1, 3, 3, 7, 1, - 1, 0, 1, 1, 2, 5, 0, 1, 4 -}; +#define grecs_dhcpdpact_value_is_default(Yystate) \ + (!!((Yystate) == (-29))) -/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. - Performed when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ -static const grecs_dhcpdtype_uint8 grecs_dhcpddefact[] = -{ - 3, 29, 24, 17, 0, 2, 4, 5, 7, 8, - 0, 9, 0, 24, 25, 11, 0, 18, 19, 20, - 22, 23, 1, 6, 13, 0, 0, 0, 3, 10, - 21, 0, 3, 26, 0, 0, 27, 0, 12, 15, - 31, 16, 14, 30, 0, 36, 32, 33, 0, 0, - 28, 37, 34, 3, 3, 0, 0, 35, 38 -}; +#define YYTABLE_NINF -26 -/* YYDEFGOTO[NTERM-NUM]. */ -static const grecs_dhcpdtype_int8 grecs_dhcpddefgoto[] = -{ - -1, 4, 5, 6, 7, 8, 27, 9, 42, 16, - 17, 18, 19, 10, 21, 11, 12, 44, 45, 46, - 47, 50, 51 -}; +#define grecs_dhcpdtable_value_is_error(Yytable_value) \ + 0 -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -#define YYPACT_NINF -29 + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ static const grecs_dhcpdtype_int8 grecs_dhcpdpact[] = { -1, -29, -29, 1, 3, -29, -1, -29, -29, -29, @@ -610,7 +562,20 @@ -29, -29, -29, -1, -1, 22, 25, -29, -29 }; -/* YYPGOTO[NTERM-NUM]. */ + /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ +static const grecs_dhcpdtype_uint8 grecs_dhcpddefact[] = +{ + 3, 29, 24, 17, 0, 2, 4, 5, 7, 8, + 0, 9, 0, 24, 25, 11, 0, 18, 19, 20, + 22, 23, 1, 6, 13, 0, 0, 0, 3, 10, + 21, 0, 3, 26, 0, 0, 27, 0, 12, 15, + 31, 16, 14, 30, 0, 36, 32, 33, 0, 0, + 28, 37, 34, 3, 3, 0, 0, 35, 38 +}; + + /* YYPGOTO[NTERM-NUM]. */ static const grecs_dhcpdtype_int8 grecs_dhcpdpgoto[] = { -29, -29, -28, -29, 30, -29, -29, -29, -29, -29, @@ -618,10 +583,17 @@ -7, -29, -29 }; -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -26 + /* YYDEFGOTO[NTERM-NUM]. */ +static const grecs_dhcpdtype_int8 grecs_dhcpddefgoto[] = +{ + -1, 4, 5, 6, 7, 8, 27, 9, 42, 16, + 17, 18, 19, 10, 21, 11, 12, 44, 45, 46, + 47, 50, 51 +}; + + /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ static const grecs_dhcpdtype_int8 grecs_dhcpdtable[] = { 35, 20, 1, 22, 37, 24, 2, 3, 13, 14, @@ -630,12 +602,6 @@ 40, 48, 53, 49, 57, 54, 23, 58, 30, 52 }; -#define grecs_dhcpdpact_value_is_default(Yystate) \ - (!!((Yystate) == (-29))) - -#define grecs_dhcpdtable_value_is_error(Yytable_value) \ - YYID (0) - static const grecs_dhcpdtype_uint8 grecs_dhcpdcheck[] = { 28, 3, 3, 0, 32, 9, 7, 8, 7, 8, @@ -644,8 +610,8 @@ 12, 5, 11, 6, 12, 11, 6, 12, 18, 46 }; -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ static const grecs_dhcpdtype_uint8 grecs_dhcpdstos[] = { 0, 3, 7, 8, 15, 16, 17, 18, 19, 21, @@ -656,30 +622,34 @@ 35, 36, 34, 11, 11, 16, 16, 12, 12 }; -#define grecs_dhcpderrok (grecs_dhcpderrstatus = 0) -#define grecs_dhcpdclearin (grecs_dhcpdchar = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 - -#define YYACCEPT goto grecs_dhcpdacceptlab -#define YYABORT goto grecs_dhcpdabortlab -#define YYERROR goto grecs_dhcpderrorlab - - -/* Like YYERROR except do call grecs_dhcpderror. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. However, - YYFAIL appears to be in use. Nevertheless, it is formally deprecated - in Bison 2.4.2's NEWS entry, where a plan to phase it out is - discussed. */ - -#define YYFAIL goto grecs_dhcpderrlab -#if defined YYFAIL - /* This is here to suppress warnings from the GCC cpp's - -Wunused-macros. Normally we don't worry about that warning, but - some users do, and we want to make it easy for users to remove - YYFAIL uses, which will produce warnings from Bison 2.5. */ -#endif + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const grecs_dhcpdtype_uint8 grecs_dhcpdr1[] = +{ + 0, 14, 15, 16, 16, 17, 17, 18, 18, 18, + 19, 20, 19, 19, 21, 22, 22, 23, 23, 24, + 25, 25, 26, 26, 27, 27, 28, 28, 29, 30, + 31, 32, 32, 33, 33, 34, 35, 35, 36 +}; + + /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +static const grecs_dhcpdtype_uint8 grecs_dhcpdr2[] = +{ + 0, 2, 1, 0, 1, 1, 2, 1, 1, 1, + 3, 0, 5, 2, 6, 0, 1, 0, 1, 1, + 1, 2, 1, 1, 1, 1, 3, 3, 7, 1, + 1, 0, 1, 1, 2, 5, 0, 1, 4 +}; + + +#define grecs_dhcpderrok (grecs_dhcpderrstatus = 0) +#define grecs_dhcpdclearin (grecs_dhcpdchar = YYEMPTY) +#define YYEMPTY (-2) +#define YYEOF 0 + +#define YYACCEPT goto grecs_dhcpdacceptlab +#define YYABORT goto grecs_dhcpdabortlab +#define YYERROR goto grecs_dhcpderrorlab + #define YYRECOVERING() (!!grecs_dhcpderrstatus) @@ -696,13 +666,13 @@ else \ { \ grecs_dhcpderror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (YYID (0)) + YYERROR; \ + } \ +while (0) /* Error token number */ -#define YYTERROR 1 -#define YYERRCODE 256 +#define YYTERROR 1 +#define YYERRCODE 256 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. @@ -712,7 +682,7 @@ #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ - if (YYID (N)) \ + if (N) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ @@ -726,12 +696,27 @@ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ - while (YYID (0)) + while (0) #endif #define YYRHSLOC(Rhs, K) ((Rhs)[K]) +/* Enable debugging if requested. */ +#if YYDEBUG + +# ifndef YYFPRINTF +# include /* INFRINGES ON USER NAME SPACE */ +# define YYFPRINTF fprintf +# endif + +# define YYDPRINTF(Args) \ +do { \ + if (grecs_dhcpddebug) \ + YYFPRINTF Args; \ +} while (0) + + /* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */ @@ -741,36 +726,28 @@ /* Print *YYLOCP on YYO. Private, do not rely on its existence. */ -__attribute__((__unused__)) -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +YY_ATTRIBUTE_UNUSED static unsigned grecs_dhcpd_location_print_ (FILE *grecs_dhcpdo, YYLTYPE const * const grecs_dhcpdlocp) -#else -static unsigned -grecs_dhcpd_location_print_ (grecs_dhcpdo, grecs_dhcpdlocp) - FILE *grecs_dhcpdo; - YYLTYPE const * const grecs_dhcpdlocp; -#endif { unsigned res = 0; int end_col = 0 != grecs_dhcpdlocp->last_column ? grecs_dhcpdlocp->last_column - 1 : 0; if (0 <= grecs_dhcpdlocp->first_line) { - res += fprintf (grecs_dhcpdo, "%d", grecs_dhcpdlocp->first_line); + res += YYFPRINTF (grecs_dhcpdo, "%d", grecs_dhcpdlocp->first_line); if (0 <= grecs_dhcpdlocp->first_column) - res += fprintf (grecs_dhcpdo, ".%d", grecs_dhcpdlocp->first_column); + res += YYFPRINTF (grecs_dhcpdo, ".%d", grecs_dhcpdlocp->first_column); } if (0 <= grecs_dhcpdlocp->last_line) { if (grecs_dhcpdlocp->first_line < grecs_dhcpdlocp->last_line) { - res += fprintf (grecs_dhcpdo, "-%d", grecs_dhcpdlocp->last_line); + res += YYFPRINTF (grecs_dhcpdo, "-%d", grecs_dhcpdlocp->last_line); if (0 <= end_col) - res += fprintf (grecs_dhcpdo, ".%d", end_col); + res += YYFPRINTF (grecs_dhcpdo, ".%d", end_col); } else if (0 <= end_col && grecs_dhcpdlocp->first_column < end_col) - res += fprintf (grecs_dhcpdo, "-%d", end_col); + res += YYFPRINTF (grecs_dhcpdo, "-%d", end_col); } return res; } @@ -784,73 +761,35 @@ #endif -/* YYLEX -- calling `grecs_dhcpdlex' with the right arguments. */ -#ifdef YYLEX_PARAM -# define YYLEX grecs_dhcpdlex (YYLEX_PARAM) -#else -# define YYLEX grecs_dhcpdlex () -#endif - -/* Enable debugging if requested. */ -#if YYDEBUG - -# ifndef YYFPRINTF -# include /* INFRINGES ON USER NAME SPACE */ -# define YYFPRINTF fprintf -# endif - -# define YYDPRINTF(Args) \ -do { \ - if (grecs_dhcpddebug) \ - YYFPRINTF Args; \ -} while (YYID (0)) - -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (grecs_dhcpddebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - grecs_dhcpd_symbol_print (stderr, \ - Type, Value, Location); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (YYID (0)) +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +do { \ + if (grecs_dhcpddebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + grecs_dhcpd_symbol_print (stderr, \ + Type, Value, Location); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +/*----------------------------------------. +| Print this symbol's value on YYOUTPUT. | +`----------------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void grecs_dhcpd_symbol_value_print (FILE *grecs_dhcpdoutput, int grecs_dhcpdtype, YYSTYPE const * const grecs_dhcpdvaluep, YYLTYPE const * const grecs_dhcpdlocationp) -#else -static void -grecs_dhcpd_symbol_value_print (grecs_dhcpdoutput, grecs_dhcpdtype, grecs_dhcpdvaluep, grecs_dhcpdlocationp) - FILE *grecs_dhcpdoutput; - int grecs_dhcpdtype; - YYSTYPE const * const grecs_dhcpdvaluep; - YYLTYPE const * const grecs_dhcpdlocationp; -#endif { FILE *grecs_dhcpdo = grecs_dhcpdoutput; YYUSE (grecs_dhcpdo); + YYUSE (grecs_dhcpdlocationp); if (!grecs_dhcpdvaluep) return; - YYUSE (grecs_dhcpdlocationp); # ifdef YYPRINT if (grecs_dhcpdtype < YYNTOKENS) YYPRINT (grecs_dhcpdoutput, grecs_dhcpdtoknum[grecs_dhcpdtype], *grecs_dhcpdvaluep); -# else - YYUSE (grecs_dhcpdoutput); # endif - switch (grecs_dhcpdtype) - { - default: - break; - } + YYUSE (grecs_dhcpdtype); } @@ -858,23 +797,11 @@ | Print this symbol on YYOUTPUT. | `--------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void grecs_dhcpd_symbol_print (FILE *grecs_dhcpdoutput, int grecs_dhcpdtype, YYSTYPE const * const grecs_dhcpdvaluep, YYLTYPE const * const grecs_dhcpdlocationp) -#else -static void -grecs_dhcpd_symbol_print (grecs_dhcpdoutput, grecs_dhcpdtype, grecs_dhcpdvaluep, grecs_dhcpdlocationp) - FILE *grecs_dhcpdoutput; - int grecs_dhcpdtype; - YYSTYPE const * const grecs_dhcpdvaluep; - YYLTYPE const * const grecs_dhcpdlocationp; -#endif { - if (grecs_dhcpdtype < YYNTOKENS) - YYFPRINTF (grecs_dhcpdoutput, "token %s (", grecs_dhcpdtname[grecs_dhcpdtype]); - else - YYFPRINTF (grecs_dhcpdoutput, "nterm %s (", grecs_dhcpdtname[grecs_dhcpdtype]); + YYFPRINTF (grecs_dhcpdoutput, "%s %s (", + grecs_dhcpdtype < YYNTOKENS ? "token" : "nterm", grecs_dhcpdtname[grecs_dhcpdtype]); YY_LOCATION_PRINT (grecs_dhcpdoutput, *grecs_dhcpdlocationp); YYFPRINTF (grecs_dhcpdoutput, ": "); @@ -887,16 +814,8 @@ | TOP (included). | `------------------------------------------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void grecs_dhcpd_stack_print (grecs_dhcpdtype_int16 *grecs_dhcpdbottom, grecs_dhcpdtype_int16 *grecs_dhcpdtop) -#else -static void -grecs_dhcpd_stack_print (grecs_dhcpdbottom, grecs_dhcpdtop) - grecs_dhcpdtype_int16 *grecs_dhcpdbottom; - grecs_dhcpdtype_int16 *grecs_dhcpdtop; -#endif { YYFPRINTF (stderr, "Stack now"); for (; grecs_dhcpdbottom <= grecs_dhcpdtop; grecs_dhcpdbottom++) @@ -907,50 +826,42 @@ YYFPRINTF (stderr, "\n"); } -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (grecs_dhcpddebug) \ - grecs_dhcpd_stack_print ((Bottom), (Top)); \ -} while (YYID (0)) +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (grecs_dhcpddebug) \ + grecs_dhcpd_stack_print ((Bottom), (Top)); \ +} while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -grecs_dhcpd_reduce_print (YYSTYPE *grecs_dhcpdvsp, YYLTYPE *grecs_dhcpdlsp, int grecs_dhcpdrule) -#else static void -grecs_dhcpd_reduce_print (grecs_dhcpdvsp, grecs_dhcpdlsp, grecs_dhcpdrule) - YYSTYPE *grecs_dhcpdvsp; - YYLTYPE *grecs_dhcpdlsp; - int grecs_dhcpdrule; -#endif +grecs_dhcpd_reduce_print (grecs_dhcpdtype_int16 *grecs_dhcpdssp, YYSTYPE *grecs_dhcpdvsp, YYLTYPE *grecs_dhcpdlsp, int grecs_dhcpdrule) { + unsigned long int grecs_dhcpdlno = grecs_dhcpdrline[grecs_dhcpdrule]; int grecs_dhcpdnrhs = grecs_dhcpdr2[grecs_dhcpdrule]; int grecs_dhcpdi; - unsigned long int grecs_dhcpdlno = grecs_dhcpdrline[grecs_dhcpdrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", - grecs_dhcpdrule - 1, grecs_dhcpdlno); + grecs_dhcpdrule - 1, grecs_dhcpdlno); /* The symbols being reduced. */ for (grecs_dhcpdi = 0; grecs_dhcpdi < grecs_dhcpdnrhs; grecs_dhcpdi++) { YYFPRINTF (stderr, " $%d = ", grecs_dhcpdi + 1); - grecs_dhcpd_symbol_print (stderr, grecs_dhcpdrhs[grecs_dhcpdprhs[grecs_dhcpdrule] + grecs_dhcpdi], - &(grecs_dhcpdvsp[(grecs_dhcpdi + 1) - (grecs_dhcpdnrhs)]) - , &(grecs_dhcpdlsp[(grecs_dhcpdi + 1) - (grecs_dhcpdnrhs)]) ); + grecs_dhcpd_symbol_print (stderr, + grecs_dhcpdstos[grecs_dhcpdssp[grecs_dhcpdi + 1 - grecs_dhcpdnrhs]], + &(grecs_dhcpdvsp[(grecs_dhcpdi + 1) - (grecs_dhcpdnrhs)]) + , &(grecs_dhcpdlsp[(grecs_dhcpdi + 1) - (grecs_dhcpdnrhs)]) ); YYFPRINTF (stderr, "\n"); } } -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (grecs_dhcpddebug) \ - grecs_dhcpd_reduce_print (grecs_dhcpdvsp, grecs_dhcpdlsp, Rule); \ -} while (YYID (0)) +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (grecs_dhcpddebug) \ + grecs_dhcpd_reduce_print (grecs_dhcpdssp, grecs_dhcpdvsp, grecs_dhcpdlsp, Rule); \ +} while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ @@ -964,7 +875,7 @@ /* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH +#ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif @@ -987,15 +898,8 @@ # define grecs_dhcpdstrlen strlen # else /* Return the length of YYSTR. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static YYSIZE_T grecs_dhcpdstrlen (const char *grecs_dhcpdstr) -#else -static YYSIZE_T -grecs_dhcpdstrlen (grecs_dhcpdstr) - const char *grecs_dhcpdstr; -#endif { YYSIZE_T grecs_dhcpdlen; for (grecs_dhcpdlen = 0; grecs_dhcpdstr[grecs_dhcpdlen]; grecs_dhcpdlen++) @@ -1011,16 +915,8 @@ # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static char * grecs_dhcpdstpcpy (char *grecs_dhcpddest, const char *grecs_dhcpdsrc) -#else -static char * -grecs_dhcpdstpcpy (grecs_dhcpddest, grecs_dhcpdsrc) - char *grecs_dhcpddest; - const char *grecs_dhcpdsrc; -#endif { char *grecs_dhcpdd = grecs_dhcpddest; const char *grecs_dhcpds = grecs_dhcpdsrc; @@ -1050,27 +946,27 @@ char const *grecs_dhcpdp = grecs_dhcpdstr; for (;;) - switch (*++grecs_dhcpdp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++grecs_dhcpdp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (grecs_dhcpdres) - grecs_dhcpdres[grecs_dhcpdn] = *grecs_dhcpdp; - grecs_dhcpdn++; - break; - - case '"': - if (grecs_dhcpdres) - grecs_dhcpdres[grecs_dhcpdn] = '\0'; - return grecs_dhcpdn; - } + switch (*++grecs_dhcpdp) + { + case '\'': + case ',': + goto do_not_strip_quotes; + + case '\\': + if (*++grecs_dhcpdp != '\\') + goto do_not_strip_quotes; + /* Fall through. */ + default: + if (grecs_dhcpdres) + grecs_dhcpdres[grecs_dhcpdn] = *grecs_dhcpdp; + grecs_dhcpdn++; + break; + + case '"': + if (grecs_dhcpdres) + grecs_dhcpdres[grecs_dhcpdn] = '\0'; + return grecs_dhcpdn; + } do_not_strip_quotes: ; } @@ -1093,11 +989,11 @@ grecs_dhcpdsyntax_error (YYSIZE_T *grecs_dhcpdmsg_alloc, char **grecs_dhcpdmsg, grecs_dhcpdtype_int16 *grecs_dhcpdssp, int grecs_dhcpdtoken) { - YYSIZE_T grecs_dhcpdsize0 = grecs_dhcpdtnamerr (YY_NULL, grecs_dhcpdtname[grecs_dhcpdtoken]); + YYSIZE_T grecs_dhcpdsize0 = grecs_dhcpdtnamerr (YY_NULLPTR, grecs_dhcpdtname[grecs_dhcpdtoken]); YYSIZE_T grecs_dhcpdsize = grecs_dhcpdsize0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ - const char *grecs_dhcpdformat = YY_NULL; + const char *grecs_dhcpdformat = YY_NULLPTR; /* Arguments of grecs_dhcpdformat. */ char const *grecs_dhcpdarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per @@ -1105,10 +1001,6 @@ int grecs_dhcpdcount = 0; /* There are many possibilities here to consider: - - Assume YYFAIL is not used. It's too flawed to consider. See - - for details. YYERROR is fine as it does not invoke this - function. - If this state is a consistent state with a default action, then the only way this function was invoked is if the default action is an error action. In that case, don't check for expected @@ -1158,7 +1050,7 @@ } grecs_dhcpdarg[grecs_dhcpdcount++] = grecs_dhcpdtname[grecs_dhcpdx]; { - YYSIZE_T grecs_dhcpdsize1 = grecs_dhcpdsize + grecs_dhcpdtnamerr (YY_NULL, grecs_dhcpdtname[grecs_dhcpdx]); + YYSIZE_T grecs_dhcpdsize1 = grecs_dhcpdsize + grecs_dhcpdtnamerr (YY_NULLPTR, grecs_dhcpdtname[grecs_dhcpdx]); if (! (grecs_dhcpdsize <= grecs_dhcpdsize1 && grecs_dhcpdsize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; @@ -1225,33 +1117,18 @@ | Release the memory associated to this symbol. | `-----------------------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void grecs_dhcpddestruct (const char *grecs_dhcpdmsg, int grecs_dhcpdtype, YYSTYPE *grecs_dhcpdvaluep, YYLTYPE *grecs_dhcpdlocationp) -#else -static void -grecs_dhcpddestruct (grecs_dhcpdmsg, grecs_dhcpdtype, grecs_dhcpdvaluep, grecs_dhcpdlocationp) - const char *grecs_dhcpdmsg; - int grecs_dhcpdtype; - YYSTYPE *grecs_dhcpdvaluep; - YYLTYPE *grecs_dhcpdlocationp; -#endif { YYUSE (grecs_dhcpdvaluep); YYUSE (grecs_dhcpdlocationp); - if (!grecs_dhcpdmsg) grecs_dhcpdmsg = "Deleting"; YY_SYMBOL_PRINT (grecs_dhcpdmsg, grecs_dhcpdtype, grecs_dhcpdvaluep, grecs_dhcpdlocationp); - switch (grecs_dhcpdtype) - { - - default: - break; - } + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + YYUSE (grecs_dhcpdtype); + YY_IGNORE_MAYBE_UNINITIALIZED_END } @@ -1260,26 +1137,14 @@ /* The lookahead symbol. */ int grecs_dhcpdchar; - -#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -# define YY_IGNORE_MAYBE_UNINITIALIZED_END -#endif -#ifndef YY_INITIAL_VALUE -# define YY_INITIAL_VALUE(Value) /* Nothing. */ -#endif - /* The semantic value of the lookahead symbol. */ -YYSTYPE grecs_dhcpdlval YY_INITIAL_VALUE(grecs_dhcpdval_default); - +YYSTYPE grecs_dhcpdlval; /* Location data for the lookahead symbol. */ YYLTYPE grecs_dhcpdlloc # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL = { 1, 1, 1, 1 } # endif ; - - /* Number of syntax errors so far. */ int grecs_dhcpdnerrs; @@ -1288,36 +1153,17 @@ | grecs_dhcpdparse. | `----------*/ -#ifdef YYPARSE_PARAM -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -grecs_dhcpdparse (void *YYPARSE_PARAM) -#else -int -grecs_dhcpdparse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -#endif -#else /* ! YYPARSE_PARAM */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) int grecs_dhcpdparse (void) -#else -int -grecs_dhcpdparse () - -#endif -#endif { int grecs_dhcpdstate; /* Number of tokens to shift before error messages enabled. */ int grecs_dhcpderrstatus; /* The stacks and their tools: - `grecs_dhcpdss': related to states. - `grecs_dhcpdvs': related to semantic values. - `grecs_dhcpdls': related to locations. + 'grecs_dhcpdss': related to states. + 'grecs_dhcpdvs': related to semantic values. + 'grecs_dhcpdls': related to locations. Refer to the stacks through separate pointers, to allow grecs_dhcpdoverflow to reallocate them elsewhere. */ @@ -1396,26 +1242,26 @@ #ifdef grecs_dhcpdoverflow { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *grecs_dhcpdvs1 = grecs_dhcpdvs; - grecs_dhcpdtype_int16 *grecs_dhcpdss1 = grecs_dhcpdss; - YYLTYPE *grecs_dhcpdls1 = grecs_dhcpdls; - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if grecs_dhcpdoverflow is a macro. */ - grecs_dhcpdoverflow (YY_("memory exhausted"), - &grecs_dhcpdss1, grecs_dhcpdsize * sizeof (*grecs_dhcpdssp), - &grecs_dhcpdvs1, grecs_dhcpdsize * sizeof (*grecs_dhcpdvsp), - &grecs_dhcpdls1, grecs_dhcpdsize * sizeof (*grecs_dhcpdlsp), - &grecs_dhcpdstacksize); - - grecs_dhcpdls = grecs_dhcpdls1; - grecs_dhcpdss = grecs_dhcpdss1; - grecs_dhcpdvs = grecs_dhcpdvs1; + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *grecs_dhcpdvs1 = grecs_dhcpdvs; + grecs_dhcpdtype_int16 *grecs_dhcpdss1 = grecs_dhcpdss; + YYLTYPE *grecs_dhcpdls1 = grecs_dhcpdls; + + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if grecs_dhcpdoverflow is a macro. */ + grecs_dhcpdoverflow (YY_("memory exhausted"), + &grecs_dhcpdss1, grecs_dhcpdsize * sizeof (*grecs_dhcpdssp), + &grecs_dhcpdvs1, grecs_dhcpdsize * sizeof (*grecs_dhcpdvsp), + &grecs_dhcpdls1, grecs_dhcpdsize * sizeof (*grecs_dhcpdlsp), + &grecs_dhcpdstacksize); + + grecs_dhcpdls = grecs_dhcpdls1; + grecs_dhcpdss = grecs_dhcpdss1; + grecs_dhcpdvs = grecs_dhcpdvs1; } #else /* no grecs_dhcpdoverflow */ # ifndef YYSTACK_RELOCATE @@ -1423,23 +1269,23 @@ # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= grecs_dhcpdstacksize) - goto grecs_dhcpdexhaustedlab; + goto grecs_dhcpdexhaustedlab; grecs_dhcpdstacksize *= 2; if (YYMAXDEPTH < grecs_dhcpdstacksize) - grecs_dhcpdstacksize = YYMAXDEPTH; + grecs_dhcpdstacksize = YYMAXDEPTH; { - grecs_dhcpdtype_int16 *grecs_dhcpdss1 = grecs_dhcpdss; - union grecs_dhcpdalloc *grecs_dhcpdptr = - (union grecs_dhcpdalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (grecs_dhcpdstacksize)); - if (! grecs_dhcpdptr) - goto grecs_dhcpdexhaustedlab; - YYSTACK_RELOCATE (grecs_dhcpdss_alloc, grecs_dhcpdss); - YYSTACK_RELOCATE (grecs_dhcpdvs_alloc, grecs_dhcpdvs); - YYSTACK_RELOCATE (grecs_dhcpdls_alloc, grecs_dhcpdls); + grecs_dhcpdtype_int16 *grecs_dhcpdss1 = grecs_dhcpdss; + union grecs_dhcpdalloc *grecs_dhcpdptr = + (union grecs_dhcpdalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (grecs_dhcpdstacksize)); + if (! grecs_dhcpdptr) + goto grecs_dhcpdexhaustedlab; + YYSTACK_RELOCATE (grecs_dhcpdss_alloc, grecs_dhcpdss); + YYSTACK_RELOCATE (grecs_dhcpdvs_alloc, grecs_dhcpdvs); + YYSTACK_RELOCATE (grecs_dhcpdls_alloc, grecs_dhcpdls); # undef YYSTACK_RELOCATE - if (grecs_dhcpdss1 != grecs_dhcpdssa) - YYSTACK_FREE (grecs_dhcpdss1); + if (grecs_dhcpdss1 != grecs_dhcpdssa) + YYSTACK_FREE (grecs_dhcpdss1); } # endif #endif /* no grecs_dhcpdoverflow */ @@ -1449,10 +1295,10 @@ grecs_dhcpdlsp = grecs_dhcpdls + grecs_dhcpdsize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) grecs_dhcpdstacksize)); + (unsigned long int) grecs_dhcpdstacksize)); if (grecs_dhcpdss + grecs_dhcpdstacksize - 1 <= grecs_dhcpdssp) - YYABORT; + YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", grecs_dhcpdstate)); @@ -1481,7 +1327,7 @@ if (grecs_dhcpdchar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); - grecs_dhcpdchar = YYLEX; + grecs_dhcpdchar = grecs_dhcpdlex (); } if (grecs_dhcpdchar <= YYEOF) @@ -1546,7 +1392,7 @@ grecs_dhcpdlen = grecs_dhcpdr2[grecs_dhcpdn]; /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. + '$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison @@ -1561,331 +1407,330 @@ switch (grecs_dhcpdn) { case 2: -/* Line 1792 of yacc.c */ -#line 78 "dhcpd-gram.y" +#line 78 "dhcpd-gram.y" /* yacc.c:1646 */ { - parse_tree = grecs_node_create(grecs_node_root, &(grecs_dhcpdlsp[(1) - (1)])); + parse_tree = grecs_node_create(grecs_node_root, &(grecs_dhcpdlsp[0])); parse_tree->v.texttab = grecs_text_table(); - grecs_node_bind(parse_tree, (grecs_dhcpdvsp[(1) - (1)].node), 1); + grecs_node_bind(parse_tree, (grecs_dhcpdvsp[0].node), 1); } +#line 1417 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 3: -/* Line 1792 of yacc.c */ -#line 87 "dhcpd-gram.y" +#line 87 "dhcpd-gram.y" /* yacc.c:1646 */ { (grecs_dhcpdval.node) = NULL; } +#line 1425 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 4: -/* Line 1792 of yacc.c */ -#line 91 "dhcpd-gram.y" +#line 91 "dhcpd-gram.y" /* yacc.c:1646 */ { - (grecs_dhcpdval.node) = (grecs_dhcpdvsp[(1) - (1)].node_list).head; + (grecs_dhcpdval.node) = (grecs_dhcpdvsp[0].node_list).head; } +#line 1433 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 5: -/* Line 1792 of yacc.c */ -#line 97 "dhcpd-gram.y" +#line 97 "dhcpd-gram.y" /* yacc.c:1646 */ { - (grecs_dhcpdval.node_list).head = (grecs_dhcpdval.node_list).tail = (grecs_dhcpdvsp[(1) - (1)].node); + (grecs_dhcpdval.node_list).head = (grecs_dhcpdval.node_list).tail = (grecs_dhcpdvsp[0].node); } +#line 1441 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 6: -/* Line 1792 of yacc.c */ -#line 101 "dhcpd-gram.y" +#line 101 "dhcpd-gram.y" /* yacc.c:1646 */ { - if ((grecs_dhcpdvsp[(2) - (2)].node)) { - if (!(grecs_dhcpdvsp[(1) - (2)].node_list).head) - (grecs_dhcpdvsp[(1) - (2)].node_list).head = (grecs_dhcpdvsp[(1) - (2)].node_list).tail = (grecs_dhcpdvsp[(2) - (2)].node); + if ((grecs_dhcpdvsp[0].node)) { + if (!(grecs_dhcpdvsp[-1].node_list).head) + (grecs_dhcpdvsp[-1].node_list).head = (grecs_dhcpdvsp[-1].node_list).tail = (grecs_dhcpdvsp[0].node); else - grecs_node_bind((grecs_dhcpdvsp[(1) - (2)].node_list).tail, (grecs_dhcpdvsp[(2) - (2)].node), 0); + grecs_node_bind((grecs_dhcpdvsp[-1].node_list).tail, (grecs_dhcpdvsp[0].node), 0); } - (grecs_dhcpdval.node_list) = (grecs_dhcpdvsp[(1) - (2)].node_list); + (grecs_dhcpdval.node_list) = (grecs_dhcpdvsp[-1].node_list); } +#line 1455 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 10: -/* Line 1792 of yacc.c */ -#line 118 "dhcpd-gram.y" +#line 118 "dhcpd-gram.y" /* yacc.c:1646 */ { - if (strcmp((grecs_dhcpdvsp[(1) - (3)].string), "include") == 0 && - (grecs_dhcpdvsp[(2) - (3)].pvalue)->type == GRECS_TYPE_STRING) { - grecs_dhcpd_new_source((grecs_dhcpdvsp[(2) - (3)].pvalue)->v.string, &(grecs_dhcpdlsp[(1) - (3)])); + if (strcmp((grecs_dhcpdvsp[-2].string), "include") == 0 && + (grecs_dhcpdvsp[-1].pvalue)->type == GRECS_TYPE_STRING) { + grecs_dhcpd_new_source((grecs_dhcpdvsp[-1].pvalue)->v.string, &(grecs_dhcpdlsp[-2])); (grecs_dhcpdval.node) = NULL; } else { (grecs_dhcpdval.node) = grecs_node_create_points(grecs_node_stmt, - (grecs_dhcpdlsp[(1) - (3)]).beg, (grecs_dhcpdlsp[(2) - (3)]).end); - (grecs_dhcpdval.node)->ident = (grecs_dhcpdvsp[(1) - (3)].string); - (grecs_dhcpdval.node)->idloc = (grecs_dhcpdlsp[(1) - (3)]); - (grecs_dhcpdval.node)->v.value = (grecs_dhcpdvsp[(2) - (3)].pvalue); + (grecs_dhcpdlsp[-2]).beg, (grecs_dhcpdlsp[-1]).end); + (grecs_dhcpdval.node)->ident = (grecs_dhcpdvsp[-2].string); + (grecs_dhcpdval.node)->idloc = (grecs_dhcpdlsp[-2]); + (grecs_dhcpdval.node)->v.value = (grecs_dhcpdvsp[-1].pvalue); } } +#line 1473 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 11: -/* Line 1792 of yacc.c */ -#line 131 "dhcpd-gram.y" +#line 131 "dhcpd-gram.y" /* yacc.c:1646 */ { grecs_dhcpd_begin_expr(); } +#line 1479 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 12: -/* Line 1792 of yacc.c */ -#line 132 "dhcpd-gram.y" +#line 132 "dhcpd-gram.y" /* yacc.c:1646 */ { (grecs_dhcpdval.node) = grecs_node_create_points(grecs_node_stmt, - (grecs_dhcpdlsp[(1) - (5)]).beg, (grecs_dhcpdlsp[(5) - (5)]).end); - (grecs_dhcpdval.node)->ident = (grecs_dhcpdvsp[(1) - (5)].string); - (grecs_dhcpdval.node)->idloc = (grecs_dhcpdlsp[(1) - (5)]); - (grecs_dhcpdval.node)->v.value = make_string_value((grecs_dhcpdvsp[(4) - (5)].string)); + (grecs_dhcpdlsp[-4]).beg, (grecs_dhcpdlsp[0]).end); + (grecs_dhcpdval.node)->ident = (grecs_dhcpdvsp[-4].string); + (grecs_dhcpdval.node)->idloc = (grecs_dhcpdlsp[-4]); + (grecs_dhcpdval.node)->v.value = make_string_value((grecs_dhcpdvsp[-1].string)); } +#line 1491 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 13: -/* Line 1792 of yacc.c */ -#line 140 "dhcpd-gram.y" +#line 140 "dhcpd-gram.y" /* yacc.c:1646 */ { - (grecs_dhcpdval.node) = grecs_node_create(grecs_node_stmt, &(grecs_dhcpdlsp[(1) - (2)])); - (grecs_dhcpdval.node)->ident = (grecs_dhcpdvsp[(1) - (2)].string); - (grecs_dhcpdval.node)->idloc = (grecs_dhcpdlsp[(1) - (2)]); + (grecs_dhcpdval.node) = grecs_node_create(grecs_node_stmt, &(grecs_dhcpdlsp[-1])); + (grecs_dhcpdval.node)->ident = (grecs_dhcpdvsp[-1].string); + (grecs_dhcpdval.node)->idloc = (grecs_dhcpdlsp[-1]); (grecs_dhcpdval.node)->v.value = NULL; } +#line 1502 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 14: -/* Line 1792 of yacc.c */ -#line 149 "dhcpd-gram.y" +#line 149 "dhcpd-gram.y" /* yacc.c:1646 */ { (grecs_dhcpdval.node) = grecs_node_create_points(grecs_node_block, - (grecs_dhcpdlsp[(1) - (6)]).beg, (grecs_dhcpdlsp[(5) - (6)]).end); - (grecs_dhcpdval.node)->ident = (grecs_dhcpdvsp[(1) - (6)].string); - (grecs_dhcpdval.node)->idloc = (grecs_dhcpdlsp[(1) - (6)]); - (grecs_dhcpdval.node)->v.value = (grecs_dhcpdvsp[(2) - (6)].pvalue); - grecs_node_bind((grecs_dhcpdval.node), (grecs_dhcpdvsp[(4) - (6)].node), 1); + (grecs_dhcpdlsp[-5]).beg, (grecs_dhcpdlsp[-1]).end); + (grecs_dhcpdval.node)->ident = (grecs_dhcpdvsp[-5].string); + (grecs_dhcpdval.node)->idloc = (grecs_dhcpdlsp[-5]); + (grecs_dhcpdval.node)->v.value = (grecs_dhcpdvsp[-4].pvalue); + grecs_node_bind((grecs_dhcpdval.node), (grecs_dhcpdvsp[-2].node), 1); } +#line 1515 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 17: -/* Line 1792 of yacc.c */ -#line 164 "dhcpd-gram.y" +#line 164 "dhcpd-gram.y" /* yacc.c:1646 */ { (grecs_dhcpdval.pvalue) = NULL; } +#line 1523 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 19: -/* Line 1792 of yacc.c */ -#line 171 "dhcpd-gram.y" +#line 171 "dhcpd-gram.y" /* yacc.c:1646 */ { size_t n; - if ((n = grecs_list_size((grecs_dhcpdvsp[(1) - (1)].list))) == 1) { - (grecs_dhcpdval.pvalue) = grecs_list_index((grecs_dhcpdvsp[(1) - (1)].list), 0); + if ((n = grecs_list_size((grecs_dhcpdvsp[0].list))) == 1) { + (grecs_dhcpdval.pvalue) = grecs_list_index((grecs_dhcpdvsp[0].list), 0); } else { size_t i; struct grecs_list_entry *ep; (grecs_dhcpdval.pvalue) = grecs_malloc(sizeof((grecs_dhcpdval.pvalue)[0])); (grecs_dhcpdval.pvalue)->type = GRECS_TYPE_ARRAY; - (grecs_dhcpdval.pvalue)->locus = (grecs_dhcpdlsp[(1) - (1)]); + (grecs_dhcpdval.pvalue)->locus = (grecs_dhcpdlsp[0]); (grecs_dhcpdval.pvalue)->v.arg.c = n; (grecs_dhcpdval.pvalue)->v.arg.v = grecs_calloc(n, sizeof((grecs_dhcpdval.pvalue)->v.arg.v[0])); - for (i = 0, ep = (grecs_dhcpdvsp[(1) - (1)].list)->head; ep; i++, ep = ep->next) + for (i = 0, ep = (grecs_dhcpdvsp[0].list)->head; ep; i++, ep = ep->next) (grecs_dhcpdval.pvalue)->v.arg.v[i] = ep->data; } - (grecs_dhcpdvsp[(1) - (1)].list)->free_entry = NULL; - grecs_list_free((grecs_dhcpdvsp[(1) - (1)].list)); + (grecs_dhcpdvsp[0].list)->free_entry = NULL; + grecs_list_free((grecs_dhcpdvsp[0].list)); } +#line 1549 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 20: -/* Line 1792 of yacc.c */ -#line 195 "dhcpd-gram.y" +#line 195 "dhcpd-gram.y" /* yacc.c:1646 */ { (grecs_dhcpdval.list) = grecs_value_list_create(); - grecs_list_append((grecs_dhcpdval.list), grecs_value_ptr_from_static(&(grecs_dhcpdvsp[(1) - (1)].svalue))); + grecs_list_append((grecs_dhcpdval.list), grecs_value_ptr_from_static(&(grecs_dhcpdvsp[0].svalue))); } +#line 1558 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 21: -/* Line 1792 of yacc.c */ -#line 200 "dhcpd-gram.y" +#line 200 "dhcpd-gram.y" /* yacc.c:1646 */ { - grecs_list_append((grecs_dhcpdvsp[(1) - (2)].list), grecs_value_ptr_from_static(&(grecs_dhcpdvsp[(2) - (2)].svalue))); + grecs_list_append((grecs_dhcpdvsp[-1].list), grecs_value_ptr_from_static(&(grecs_dhcpdvsp[0].svalue))); } +#line 1566 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 22: -/* Line 1792 of yacc.c */ -#line 206 "dhcpd-gram.y" +#line 206 "dhcpd-gram.y" /* yacc.c:1646 */ { (grecs_dhcpdval.svalue).type = GRECS_TYPE_STRING; - (grecs_dhcpdval.svalue).locus = (grecs_dhcpdlsp[(1) - (1)]); - (grecs_dhcpdval.svalue).v.string = (grecs_dhcpdvsp[(1) - (1)].string); + (grecs_dhcpdval.svalue).locus = (grecs_dhcpdlsp[0]); + (grecs_dhcpdval.svalue).v.string = (grecs_dhcpdvsp[0].string); } +#line 1576 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 23: -/* Line 1792 of yacc.c */ -#line 212 "dhcpd-gram.y" +#line 212 "dhcpd-gram.y" /* yacc.c:1646 */ { (grecs_dhcpdval.svalue).type = GRECS_TYPE_LIST; - (grecs_dhcpdval.svalue).locus = (grecs_dhcpdlsp[(1) - (1)]); - (grecs_dhcpdval.svalue).v.list = (grecs_dhcpdvsp[(1) - (1)].list); + (grecs_dhcpdval.svalue).locus = (grecs_dhcpdlsp[0]); + (grecs_dhcpdval.svalue).v.list = (grecs_dhcpdvsp[0].list); } +#line 1586 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 26: -/* Line 1792 of yacc.c */ -#line 224 "dhcpd-gram.y" +#line 224 "dhcpd-gram.y" /* yacc.c:1646 */ { grecs_value_t val; (grecs_dhcpdval.list) = grecs_value_list_create(); val.type = GRECS_TYPE_STRING; - val.locus = (grecs_dhcpdlsp[(1) - (3)]); - val.v.string = (grecs_dhcpdvsp[(1) - (3)].string); + val.locus = (grecs_dhcpdlsp[-2]); + val.v.string = (grecs_dhcpdvsp[-2].string); grecs_list_append((grecs_dhcpdval.list), grecs_value_ptr_from_static(&val)); val.type = GRECS_TYPE_STRING; - val.locus = (grecs_dhcpdlsp[(3) - (3)]); - val.v.string = (grecs_dhcpdvsp[(3) - (3)].string); + val.locus = (grecs_dhcpdlsp[0]); + val.v.string = (grecs_dhcpdvsp[0].string); grecs_list_append((grecs_dhcpdval.list), grecs_value_ptr_from_static(&val)); } +#line 1606 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 27: -/* Line 1792 of yacc.c */ -#line 240 "dhcpd-gram.y" +#line 240 "dhcpd-gram.y" /* yacc.c:1646 */ { grecs_value_t val; val.type = GRECS_TYPE_STRING; - val.locus = (grecs_dhcpdlsp[(3) - (3)]); - val.v.string = (grecs_dhcpdvsp[(3) - (3)].string); - grecs_list_append((grecs_dhcpdvsp[(1) - (3)].list), grecs_value_ptr_from_static(&val)); + val.locus = (grecs_dhcpdlsp[0]); + val.v.string = (grecs_dhcpdvsp[0].string); + grecs_list_append((grecs_dhcpdvsp[-2].list), grecs_value_ptr_from_static(&val)); } +#line 1619 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 28: -/* Line 1792 of yacc.c */ -#line 251 "dhcpd-gram.y" +#line 251 "dhcpd-gram.y" /* yacc.c:1646 */ { (grecs_dhcpdval.node) = grecs_node_create_points(grecs_node_block, - (grecs_dhcpdlsp[(1) - (7)]).beg, (grecs_dhcpdlsp[(7) - (7)]).end); + (grecs_dhcpdlsp[-6]).beg, (grecs_dhcpdlsp[0]).end); grecs_line_begin(); grecs_line_add("if", 2); (grecs_dhcpdval.node)->ident = grecs_line_finish(); - (grecs_dhcpdval.node)->idloc = (grecs_dhcpdlsp[(1) - (7)]); + (grecs_dhcpdval.node)->idloc = (grecs_dhcpdlsp[-6]); - (grecs_dhcpdval.node)->v.value = make_string_value ((grecs_dhcpdvsp[(2) - (7)].string)); - grecs_node_bind((grecs_dhcpdval.node), (grecs_dhcpdvsp[(4) - (7)].node), 1); + (grecs_dhcpdval.node)->v.value = make_string_value ((grecs_dhcpdvsp[-5].string)); + grecs_node_bind((grecs_dhcpdval.node), (grecs_dhcpdvsp[-3].node), 1); - if ((grecs_dhcpdvsp[(6) - (7)].node_list).head) { - grecs_node_bind((grecs_dhcpdvsp[(6) - (7)].node_list).tail, (grecs_dhcpdvsp[(7) - (7)].node), 0); - grecs_node_bind((grecs_dhcpdval.node), (grecs_dhcpdvsp[(6) - (7)].node_list).head, 0); + if ((grecs_dhcpdvsp[-1].node_list).head) { + grecs_node_bind((grecs_dhcpdvsp[-1].node_list).tail, (grecs_dhcpdvsp[0].node), 0); + grecs_node_bind((grecs_dhcpdval.node), (grecs_dhcpdvsp[-1].node_list).head, 0); } } +#line 1642 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 29: -/* Line 1792 of yacc.c */ -#line 272 "dhcpd-gram.y" +#line 272 "dhcpd-gram.y" /* yacc.c:1646 */ { grecs_dhcpd_begin_bool(); } +#line 1650 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 30: -/* Line 1792 of yacc.c */ -#line 278 "dhcpd-gram.y" +#line 278 "dhcpd-gram.y" /* yacc.c:1646 */ { grecs_dhcpd_begin_bool(); } +#line 1658 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 31: -/* Line 1792 of yacc.c */ -#line 284 "dhcpd-gram.y" +#line 284 "dhcpd-gram.y" /* yacc.c:1646 */ { (grecs_dhcpdval.node_list).head = (grecs_dhcpdval.node_list).tail = NULL; } +#line 1666 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 33: -/* Line 1792 of yacc.c */ -#line 291 "dhcpd-gram.y" +#line 291 "dhcpd-gram.y" /* yacc.c:1646 */ { - (grecs_dhcpdval.node_list).head = (grecs_dhcpdval.node_list).tail = (grecs_dhcpdvsp[(1) - (1)].node); + (grecs_dhcpdval.node_list).head = (grecs_dhcpdval.node_list).tail = (grecs_dhcpdvsp[0].node); } +#line 1674 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 34: -/* Line 1792 of yacc.c */ -#line 295 "dhcpd-gram.y" +#line 295 "dhcpd-gram.y" /* yacc.c:1646 */ { - if ((grecs_dhcpdvsp[(2) - (2)].node)) { - if (!(grecs_dhcpdvsp[(1) - (2)].node_list).head) - (grecs_dhcpdvsp[(1) - (2)].node_list).head = (grecs_dhcpdvsp[(1) - (2)].node_list).tail = (grecs_dhcpdvsp[(2) - (2)].node); + if ((grecs_dhcpdvsp[0].node)) { + if (!(grecs_dhcpdvsp[-1].node_list).head) + (grecs_dhcpdvsp[-1].node_list).head = (grecs_dhcpdvsp[-1].node_list).tail = (grecs_dhcpdvsp[0].node); else - grecs_node_bind((grecs_dhcpdvsp[(1) - (2)].node_list).tail, (grecs_dhcpdvsp[(2) - (2)].node), 0); + grecs_node_bind((grecs_dhcpdvsp[-1].node_list).tail, (grecs_dhcpdvsp[0].node), 0); } - (grecs_dhcpdval.node_list) = (grecs_dhcpdvsp[(1) - (2)].node_list); + (grecs_dhcpdval.node_list) = (grecs_dhcpdvsp[-1].node_list); } +#line 1688 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 35: -/* Line 1792 of yacc.c */ -#line 307 "dhcpd-gram.y" +#line 307 "dhcpd-gram.y" /* yacc.c:1646 */ { (grecs_dhcpdval.node) = grecs_node_create_points(grecs_node_block, - (grecs_dhcpdlsp[(1) - (5)]).beg, (grecs_dhcpdlsp[(5) - (5)]).end); + (grecs_dhcpdlsp[-4]).beg, (grecs_dhcpdlsp[0]).end); grecs_line_begin(); grecs_line_add("elsif", 5); (grecs_dhcpdval.node)->ident = grecs_line_finish(); - (grecs_dhcpdval.node)->idloc = (grecs_dhcpdlsp[(1) - (5)]); - (grecs_dhcpdval.node)->v.value = make_string_value ((grecs_dhcpdvsp[(2) - (5)].string)); - grecs_node_bind((grecs_dhcpdval.node), (grecs_dhcpdvsp[(4) - (5)].node), 1); + (grecs_dhcpdval.node)->idloc = (grecs_dhcpdlsp[-4]); + (grecs_dhcpdval.node)->v.value = make_string_value ((grecs_dhcpdvsp[-3].string)); + grecs_node_bind((grecs_dhcpdval.node), (grecs_dhcpdvsp[-1].node), 1); } +#line 1705 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 36: -/* Line 1792 of yacc.c */ -#line 322 "dhcpd-gram.y" +#line 322 "dhcpd-gram.y" /* yacc.c:1646 */ { (grecs_dhcpdval.node) = NULL; } +#line 1713 "dhcpd-gram.c" /* yacc.c:1646 */ break; case 38: -/* Line 1792 of yacc.c */ -#line 329 "dhcpd-gram.y" +#line 329 "dhcpd-gram.y" /* yacc.c:1646 */ { (grecs_dhcpdval.node) = grecs_node_create_points(grecs_node_block, - (grecs_dhcpdlsp[(1) - (4)]).beg, (grecs_dhcpdlsp[(4) - (4)]).end); + (grecs_dhcpdlsp[-3]).beg, (grecs_dhcpdlsp[0]).end); grecs_line_begin(); grecs_line_add("else", 4); (grecs_dhcpdval.node)->ident = grecs_line_finish(); - (grecs_dhcpdval.node)->idloc = (grecs_dhcpdlsp[(1) - (4)]); + (grecs_dhcpdval.node)->idloc = (grecs_dhcpdlsp[-3]); (grecs_dhcpdval.node)->v.value = NULL; - grecs_node_bind((grecs_dhcpdval.node), (grecs_dhcpdvsp[(3) - (4)].node), 1); + grecs_node_bind((grecs_dhcpdval.node), (grecs_dhcpdvsp[-1].node), 1); } +#line 1730 "dhcpd-gram.c" /* yacc.c:1646 */ break; -/* Line 1792 of yacc.c */ -#line 1889 "dhcpd-gram.c" +#line 1734 "dhcpd-gram.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter grecs_dhcpdchar, and that requires @@ -1908,7 +1753,7 @@ *++grecs_dhcpdvsp = grecs_dhcpdval; *++grecs_dhcpdlsp = grecs_dhcpdloc; - /* Now `shift' the result of the reduction. Determine what state + /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ @@ -1923,9 +1768,9 @@ goto grecs_dhcpdnewstate; -/*------------------------------------. -| grecs_dhcpderrlab -- here on detecting error | -`------------------------------------*/ +/*--------------------------------------. +| grecs_dhcpderrlab -- here on detecting error. | +`--------------------------------------*/ grecs_dhcpderrlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ @@ -1976,20 +1821,20 @@ if (grecs_dhcpderrstatus == 3) { /* If just tried and failed to reuse lookahead token after an - error, discard it. */ + error, discard it. */ if (grecs_dhcpdchar <= YYEOF) - { - /* Return failure if at end of input. */ - if (grecs_dhcpdchar == YYEOF) - YYABORT; - } + { + /* Return failure if at end of input. */ + if (grecs_dhcpdchar == YYEOF) + YYABORT; + } else - { - grecs_dhcpddestruct ("Error: discarding", - grecs_dhcpdtoken, &grecs_dhcpdlval, &grecs_dhcpdlloc); - grecs_dhcpdchar = YYEMPTY; - } + { + grecs_dhcpddestruct ("Error: discarding", + grecs_dhcpdtoken, &grecs_dhcpdlval, &grecs_dhcpdlloc); + grecs_dhcpdchar = YYEMPTY; + } } /* Else will try to reuse lookahead token after shifting the error @@ -2009,7 +1854,7 @@ goto grecs_dhcpderrorlab; grecs_dhcpderror_range[1] = grecs_dhcpdlsp[1-grecs_dhcpdlen]; - /* Do not reclaim the symbols of the rule which action triggered + /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (grecs_dhcpdlen); grecs_dhcpdlen = 0; @@ -2022,29 +1867,29 @@ | grecs_dhcpderrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ grecs_dhcpderrlab1: - grecs_dhcpderrstatus = 3; /* Each real token shifted decrements this. */ + grecs_dhcpderrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { grecs_dhcpdn = grecs_dhcpdpact[grecs_dhcpdstate]; if (!grecs_dhcpdpact_value_is_default (grecs_dhcpdn)) - { - grecs_dhcpdn += YYTERROR; - if (0 <= grecs_dhcpdn && grecs_dhcpdn <= YYLAST && grecs_dhcpdcheck[grecs_dhcpdn] == YYTERROR) - { - grecs_dhcpdn = grecs_dhcpdtable[grecs_dhcpdn]; - if (0 < grecs_dhcpdn) - break; - } - } + { + grecs_dhcpdn += YYTERROR; + if (0 <= grecs_dhcpdn && grecs_dhcpdn <= YYLAST && grecs_dhcpdcheck[grecs_dhcpdn] == YYTERROR) + { + grecs_dhcpdn = grecs_dhcpdtable[grecs_dhcpdn]; + if (0 < grecs_dhcpdn) + break; + } + } /* Pop the current state because it cannot handle the error token. */ if (grecs_dhcpdssp == grecs_dhcpdss) - YYABORT; + YYABORT; grecs_dhcpderror_range[1] = *grecs_dhcpdlsp; grecs_dhcpddestruct ("Error: popping", - grecs_dhcpdstos[grecs_dhcpdstate], grecs_dhcpdvsp, grecs_dhcpdlsp); + grecs_dhcpdstos[grecs_dhcpdstate], grecs_dhcpdvsp, grecs_dhcpdlsp); YYPOPSTACK (1); grecs_dhcpdstate = *grecs_dhcpdssp; YY_STACK_PRINT (grecs_dhcpdss, grecs_dhcpdssp); @@ -2100,14 +1945,14 @@ grecs_dhcpddestruct ("Cleanup: discarding lookahead", grecs_dhcpdtoken, &grecs_dhcpdlval, &grecs_dhcpdlloc); } - /* Do not reclaim the symbols of the rule which action triggered + /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (grecs_dhcpdlen); YY_STACK_PRINT (grecs_dhcpdss, grecs_dhcpdssp); while (grecs_dhcpdssp != grecs_dhcpdss) { grecs_dhcpddestruct ("Cleanup: popping", - grecs_dhcpdstos[*grecs_dhcpdssp], grecs_dhcpdvsp, grecs_dhcpdlsp); + grecs_dhcpdstos[*grecs_dhcpdssp], grecs_dhcpdvsp, grecs_dhcpdlsp); YYPOPSTACK (1); } #ifndef grecs_dhcpdoverflow @@ -2118,13 +1963,9 @@ if (grecs_dhcpdmsg != grecs_dhcpdmsgbuf) YYSTACK_FREE (grecs_dhcpdmsg); #endif - /* Make sure YYID is used. */ - return YYID (grecs_dhcpdresult); + return grecs_dhcpdresult; } - - -/* Line 2055 of yacc.c */ -#line 343 "dhcpd-gram.y" +#line 343 "dhcpd-gram.y" /* yacc.c:1906 */ int diff -Nru dico-2.9/grecs/src/dhcpd-lex.c dico-2.10/grecs/src/dhcpd-lex.c --- dico-2.9/grecs/src/dhcpd-lex.c 2018-07-25 13:34:34.000000000 +0000 +++ dico-2.10/grecs/src/dhcpd-lex.c 2020-09-03 04:37:37.000000000 +0000 @@ -22,8 +22,8 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 37 +#define YY_FLEX_MINOR_VERSION 6 +#define YY_FLEX_SUBMINOR_VERSION 0 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -190,7 +190,15 @@ /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -222,6 +230,7 @@ #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) + #define YY_LINENO_REWIND_TO(ptr) /* Return all but the first "n" matched characters back to the input stream. */ #define grecs_dhcpdless(n) \ @@ -425,13 +434,21 @@ int grecs_dhcpdlineno = 1; extern char *grecs_dhcpdtext; +#ifdef grecs_dhcpdtext_ptr +#undef grecs_dhcpdtext_ptr +#endif #define grecs_dhcpdtext_ptr grecs_dhcpdtext +/* %% [1.5] DFA */ + /* %if-c-only Standard (non-C++) definition */ static grecs_dhcpd_state_type grecs_dhcpd_get_previous_state (void ); static grecs_dhcpd_state_type grecs_dhcpd_try_NUL_trans (grecs_dhcpd_state_type current_state ); static int grecs_dhcpd_get_next_buffer (void ); +#if defined(__GNUC__) && __GNUC__ >= 3 +__attribute__((__noreturn__)) +#endif static void grecs_dhcpd_fatal_error (grecs_dhcpdconst char msg[] ); /* %endif */ @@ -474,7 +491,7 @@ 4, 0, 1, 0, 0, 4, 2, 0, 2, 0 } ; -static grecs_dhcpdconst flex_int32_t grecs_dhcpd_ec[256] = +static grecs_dhcpdconst YY_CHAR grecs_dhcpd_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, @@ -506,14 +523,14 @@ 1, 1, 1, 1, 1 } ; -static grecs_dhcpdconst flex_int32_t grecs_dhcpd_meta[24] = +static grecs_dhcpdconst YY_CHAR grecs_dhcpd_meta[24] = { 0, 1, 1, 2, 1, 1, 3, 1, 4, 5, 5, 5, 5, 5, 1, 5, 1, 5, 5, 5, 5, 5, 5, 1 } ; -static grecs_dhcpdconst flex_int16_t grecs_dhcpd_base[134] = +static grecs_dhcpdconst flex_uint16_t grecs_dhcpd_base[134] = { 0, 0, 22, 0, 0, 22, 24, 23, 28, 29, 30, 291, 292, 32, 292, 292, 36, 287, 0, 278, 37, @@ -551,7 +568,7 @@ 110, 110, 110 } ; -static grecs_dhcpdconst flex_int16_t grecs_dhcpd_nxt[316] = +static grecs_dhcpdconst flex_uint16_t grecs_dhcpd_nxt[316] = { 0, 12, 13, 14, 13, 15, 16, 17, 18, 18, 18, 19, 18, 18, 15, 20, 12, 21, 20, 22, 20, @@ -693,7 +710,7 @@ #define ISWS(c) ((c)==' '||(c)=='\t') -#line 697 "dhcpd-lex.c" +#line 714 "dhcpd-lex.c" #define INITIAL 0 #define COMMENT 1 @@ -743,11 +760,11 @@ FILE *grecs_dhcpdget_in (void ); -void grecs_dhcpdset_in (FILE * in_str ); +void grecs_dhcpdset_in (FILE * _in_str ); FILE *grecs_dhcpdget_out (void ); -void grecs_dhcpdset_out (FILE * out_str ); +void grecs_dhcpdset_out (FILE * _out_str ); grecs_dhcpd_size_t grecs_dhcpdget_leng (void ); @@ -755,7 +772,7 @@ int grecs_dhcpdget_lineno (void ); -void grecs_dhcpdset_lineno (int line_number ); +void grecs_dhcpdset_lineno (int _line_number ); /* %if-bison-bridge */ /* %endif */ @@ -774,8 +791,11 @@ /* %not-for-header */ +#ifndef YY_NO_UNPUT + static void grecs_dhcpdunput (int c,char *buf_ptr ); +#endif /* %ok-for-header */ /* %endif */ @@ -808,7 +828,12 @@ /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -921,7 +946,7 @@ /* Code executed at the end of each rule. */ #ifndef YY_BREAK -#define YY_BREAK break; +#define YY_BREAK /*LINTED*/break; #endif /* %% [6.0] YY_RULE_SETUP definition goes here */ @@ -937,16 +962,10 @@ */ YY_DECL { - register grecs_dhcpd_state_type grecs_dhcpd_current_state; - register char *grecs_dhcpd_cp, *grecs_dhcpd_bp; - register int grecs_dhcpd_act; + grecs_dhcpd_state_type grecs_dhcpd_current_state; + char *grecs_dhcpd_cp, *grecs_dhcpd_bp; + int grecs_dhcpd_act; -/* %% [7.0] user's declarations go here */ -#line 55 "dhcpd-lex.l" - - /* Line directive */ -#line 949 "dhcpd-lex.c" - if ( !(grecs_dhcpd_init) ) { (grecs_dhcpd_init) = 1; @@ -981,7 +1000,14 @@ grecs_dhcpd_load_buffer_state( ); } - while ( 1 ) /* loops until end-of-file is reached */ + { +/* %% [7.0] user's declarations go here */ +#line 55 "dhcpd-lex.l" + + /* Line directive */ +#line 1009 "dhcpd-lex.c" + + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { /* %% [8.0] grecs_dhcpdmore()-related code goes here */ grecs_dhcpd_cp = (grecs_dhcpd_c_buf_p); @@ -1000,7 +1026,7 @@ grecs_dhcpd_match: do { - register YY_CHAR grecs_dhcpd_c = grecs_dhcpd_ec[YY_SC_TO_UI(*grecs_dhcpd_cp)]; + YY_CHAR grecs_dhcpd_c = grecs_dhcpd_ec[YY_SC_TO_UI(*grecs_dhcpd_cp)] ; if ( grecs_dhcpd_accept[grecs_dhcpd_current_state] ) { (grecs_dhcpd_last_accepting_state) = grecs_dhcpd_current_state; @@ -1292,7 +1318,7 @@ #line 171 "dhcpd-lex.l" ECHO; YY_BREAK -#line 1296 "dhcpd-lex.c" +#line 1322 "dhcpd-lex.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(COMMENT): case YY_STATE_EOF(STR): @@ -1321,7 +1347,11 @@ * back-up) that will match for the new input source. */ (grecs_dhcpd_n_chars) = YY_CURRENT_BUFFER_LVALUE->grecs_dhcpd_n_chars; +/* %if-c-only */ YY_CURRENT_BUFFER_LVALUE->grecs_dhcpd_input_file = grecs_dhcpdin; +/* %endif */ +/* %if-c++-only */ +/* %endif */ YY_CURRENT_BUFFER_LVALUE->grecs_dhcpd_buffer_status = YY_BUFFER_NORMAL; } @@ -1428,6 +1458,7 @@ "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ + } /* end of user's declarations */ } /* end of grecs_dhcpdlex */ /* %ok-for-header */ @@ -1451,9 +1482,9 @@ /* %if-c++-only */ /* %endif */ { - register char *dest = YY_CURRENT_BUFFER_LVALUE->grecs_dhcpd_ch_buf; - register char *source = (grecs_dhcpdtext_ptr); - register int number_to_move, i; + char *dest = YY_CURRENT_BUFFER_LVALUE->grecs_dhcpd_ch_buf; + char *source = (grecs_dhcpdtext_ptr); + grecs_dhcpd_size_t number_to_move, i; int ret_val; if ( (grecs_dhcpd_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->grecs_dhcpd_ch_buf[(grecs_dhcpd_n_chars) + 1] ) @@ -1482,7 +1513,7 @@ /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) ((grecs_dhcpd_c_buf_p) - (grecs_dhcpdtext_ptr)) - 1; + number_to_move = (grecs_dhcpd_size_t) ((grecs_dhcpd_c_buf_p) - (grecs_dhcpdtext_ptr)) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -1591,8 +1622,8 @@ /* %if-c++-only */ /* %endif */ { - register grecs_dhcpd_state_type grecs_dhcpd_current_state; - register char *grecs_dhcpd_cp; + grecs_dhcpd_state_type grecs_dhcpd_current_state; + char *grecs_dhcpd_cp; /* %% [15.0] code to get the start state into grecs_dhcpd_current_state goes here */ grecs_dhcpd_current_state = (grecs_dhcpd_start); @@ -1601,7 +1632,7 @@ for ( grecs_dhcpd_cp = (grecs_dhcpdtext_ptr) + YY_MORE_ADJ; grecs_dhcpd_cp < (grecs_dhcpd_c_buf_p); ++grecs_dhcpd_cp ) { /* %% [16.0] code to find the next state goes here */ - register YY_CHAR grecs_dhcpd_c = (*grecs_dhcpd_cp ? grecs_dhcpd_ec[YY_SC_TO_UI(*grecs_dhcpd_cp)] : 1); + YY_CHAR grecs_dhcpd_c = (*grecs_dhcpd_cp ? grecs_dhcpd_ec[YY_SC_TO_UI(*grecs_dhcpd_cp)] : 1); if ( grecs_dhcpd_accept[grecs_dhcpd_current_state] ) { (grecs_dhcpd_last_accepting_state) = grecs_dhcpd_current_state; @@ -1630,11 +1661,11 @@ /* %if-c++-only */ /* %endif */ { - register int grecs_dhcpd_is_jam; + int grecs_dhcpd_is_jam; /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */ - register char *grecs_dhcpd_cp = (grecs_dhcpd_c_buf_p); + char *grecs_dhcpd_cp = (grecs_dhcpd_c_buf_p); - register YY_CHAR grecs_dhcpd_c = 1; + YY_CHAR grecs_dhcpd_c = 1; if ( grecs_dhcpd_accept[grecs_dhcpd_current_state] ) { (grecs_dhcpd_last_accepting_state) = grecs_dhcpd_current_state; @@ -1652,14 +1683,15 @@ return grecs_dhcpd_is_jam ? 0 : grecs_dhcpd_current_state; } +#ifndef YY_NO_UNPUT /* %if-c-only */ - static void grecs_dhcpdunput (int c, register char * grecs_dhcpd_bp ) + static void grecs_dhcpdunput (int c, char * grecs_dhcpd_bp ) /* %endif */ /* %if-c++-only */ /* %endif */ { - register char *grecs_dhcpd_cp; + char *grecs_dhcpd_cp; grecs_dhcpd_cp = (grecs_dhcpd_c_buf_p); @@ -1669,10 +1701,10 @@ if ( grecs_dhcpd_cp < YY_CURRENT_BUFFER_LVALUE->grecs_dhcpd_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ - register grecs_dhcpd_size_t number_to_move = (grecs_dhcpd_n_chars) + 2; - register char *dest = &YY_CURRENT_BUFFER_LVALUE->grecs_dhcpd_ch_buf[ + grecs_dhcpd_size_t number_to_move = (grecs_dhcpd_n_chars) + 2; + char *dest = &YY_CURRENT_BUFFER_LVALUE->grecs_dhcpd_ch_buf[ YY_CURRENT_BUFFER_LVALUE->grecs_dhcpd_buf_size + 2]; - register char *source = + char *source = &YY_CURRENT_BUFFER_LVALUE->grecs_dhcpd_ch_buf[number_to_move]; while ( source > YY_CURRENT_BUFFER_LVALUE->grecs_dhcpd_ch_buf ) @@ -1698,6 +1730,7 @@ /* %if-c-only */ /* %endif */ +#endif /* %if-c-only */ #ifndef YY_NO_INPUT @@ -1804,6 +1837,9 @@ grecs_dhcpd_load_buffer_state( ); } +/* %if-c++-only */ +/* %endif */ + /** Switch to a different input buffer. * @param new_buffer The new input buffer. * @@ -1851,7 +1887,11 @@ { (grecs_dhcpd_n_chars) = YY_CURRENT_BUFFER_LVALUE->grecs_dhcpd_n_chars; (grecs_dhcpdtext_ptr) = (grecs_dhcpd_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->grecs_dhcpd_buf_pos; +/* %if-c-only */ grecs_dhcpdin = YY_CURRENT_BUFFER_LVALUE->grecs_dhcpd_input_file; +/* %endif */ +/* %if-c++-only */ +/* %endif */ (grecs_dhcpd_hold_char) = *(grecs_dhcpd_c_buf_p); } @@ -1873,7 +1913,7 @@ if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in grecs_dhcpd_create_buffer()" ); - b->grecs_dhcpd_buf_size = size; + b->grecs_dhcpd_buf_size = (grecs_dhcpd_size_t)size; /* grecs_dhcpd_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. @@ -1889,6 +1929,9 @@ return b; } +/* %if-c++-only */ +/* %endif */ + /** Destroy the buffer. * @param b a buffer created with grecs_dhcpd_create_buffer() * @@ -1927,7 +1970,11 @@ grecs_dhcpd_flush_buffer(b ); +/* %if-c-only */ b->grecs_dhcpd_input_file = file; +/* %endif */ +/* %if-c++-only */ +/* %endif */ b->grecs_dhcpd_fill_buffer = 1; /* If b is the current buffer, then grecs_dhcpd_init_buffer was _probably_ @@ -2062,7 +2109,7 @@ * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; + num_to_alloc = 1; // After all that talk, this was set to 1 anyways... (grecs_dhcpd_buffer_stack) = (struct grecs_dhcpd_buffer_state**)grecs_dhcpdalloc (num_to_alloc * sizeof(struct grecs_dhcpd_buffer_state*) ); @@ -2079,7 +2126,7 @@ if ((grecs_dhcpd_buffer_stack_top) >= ((grecs_dhcpd_buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; + grecs_dhcpd_size_t grow_size = 8 /* arbitrary grow size */; num_to_alloc = (grecs_dhcpd_buffer_stack_max) + grow_size; (grecs_dhcpd_buffer_stack) = (struct grecs_dhcpd_buffer_state**)grecs_dhcpdrealloc @@ -2162,7 +2209,7 @@ YY_BUFFER_STATE b; char *buf; grecs_dhcpd_size_t n; - int i; + grecs_dhcpd_size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _grecs_dhcpdbytes_len + 2; @@ -2195,7 +2242,7 @@ /* %if-c-only */ static void grecs_dhcpd_fatal_error (grecs_dhcpdconst char* msg ) { - (void) fprintf( stderr, "%s\n", msg ); + (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* %endif */ @@ -2271,29 +2318,29 @@ /* %endif */ /** Set the current line number. - * @param line_number + * @param _line_number line number * */ -void grecs_dhcpdset_lineno (int line_number ) +void grecs_dhcpdset_lineno (int _line_number ) { - grecs_dhcpdlineno = line_number; + grecs_dhcpdlineno = _line_number; } /** Set the input stream. This does not discard the current * input buffer. - * @param in_str A readable stream. + * @param _in_str A readable stream. * * @see grecs_dhcpd_switch_to_buffer */ -void grecs_dhcpdset_in (FILE * in_str ) +void grecs_dhcpdset_in (FILE * _in_str ) { - grecs_dhcpdin = in_str ; + grecs_dhcpdin = _in_str ; } -void grecs_dhcpdset_out (FILE * out_str ) +void grecs_dhcpdset_out (FILE * _out_str ) { - grecs_dhcpdout = out_str ; + grecs_dhcpdout = _out_str ; } int grecs_dhcpdget_debug (void) @@ -2301,9 +2348,9 @@ return grecs_dhcpd_flex_debug; } -void grecs_dhcpdset_debug (int bdebug ) +void grecs_dhcpdset_debug (int _bdebug ) { - grecs_dhcpd_flex_debug = bdebug ; + grecs_dhcpd_flex_debug = _bdebug ; } /* %endif */ @@ -2376,7 +2423,8 @@ #ifndef grecs_dhcpdtext_ptr static void grecs_dhcpd_flex_strncpy (char* s1, grecs_dhcpdconst char * s2, int n ) { - register int i; + + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } @@ -2385,7 +2433,7 @@ #ifdef YY_NEED_STRLEN static int grecs_dhcpd_flex_strlen (grecs_dhcpdconst char * s ) { - register int n; + int n; for ( n = 0; s[n]; ++n ) ; @@ -2395,11 +2443,12 @@ void *grecs_dhcpdalloc (grecs_dhcpd_size_t size ) { - return (void *) malloc( size ); + return (void *) malloc( size ); } void *grecs_dhcpdrealloc (void * ptr, grecs_dhcpd_size_t size ) { + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -2412,7 +2461,7 @@ void grecs_dhcpdfree (void * ptr ) { - free( (char *) ptr ); /* see grecs_dhcpdrealloc() for (char *) cast */ + free( (char *) ptr ); /* see grecs_dhcpdrealloc() for (char *) cast */ } /* %if-tables-serialization definitions */ diff -Nru dico-2.9/grecs/src/diag.c dico-2.10/grecs/src/diag.c --- dico-2.9/grecs/src/diag.c 2018-09-21 06:25:37.000000000 +0000 +++ dico-2.10/grecs/src/diag.c 2019-07-23 05:47:38.000000000 +0000 @@ -96,11 +96,17 @@ locus->beg.file, locus->beg.line, locus->beg.col, locus->end.line, locus->end.col); - else + else if (locus->beg.col != locus->end.col) rc = grecs_asprintf(locstr, size, "%s:%u.%u-%u", locus->beg.file, locus->beg.line, locus->beg.col, locus->end.col); + else + rc = grecs_asprintf(locstr, size, "%s:%u.%u", + locus->beg.file, + locus->beg.line, + locus->beg.col); + return rc; } diff -Nru dico-2.9/grecs/src/format.c dico-2.10/grecs/src/format.c --- dico-2.9/grecs/src/format.c 2018-06-03 08:11:12.000000000 +0000 +++ dico-2.10/grecs/src/format.c 2019-07-23 05:47:38.000000000 +0000 @@ -30,10 +30,10 @@ { switch (type) { case grecs_type_void: - return "void"; + return N_("void"); case grecs_type_string: - return "string"; + return N_("string"); case grecs_type_short: case grecs_type_ushort: @@ -43,31 +43,31 @@ case grecs_type_ulong: case grecs_type_size: /*FIXME case grecs_type_off:*/ - return "number"; + return N_("number"); case grecs_type_time: - return "time"; + return N_("time"); case grecs_type_bool: - return "boolean"; + return N_("boolean"); case grecs_type_ipv4: - return "IPv4"; + return N_("IPv4"); case grecs_type_cidr: - return "CIDR"; + return N_("CIDR"); case grecs_type_host: - return "hostname"; + return N_("hostname"); case grecs_type_sockaddr: - return "sockaddr"; + return N_("sockaddr"); case grecs_type_section: - return "section"; + return N_("section"); case grecs_type_null: - return "null"; + return N_("null"); } return "UNKNOWN?"; } diff -Nru dico-2.9/grecs/src/json-gram.c dico-2.10/grecs/src/json-gram.c --- dico-2.9/grecs/src/json-gram.c 2018-09-25 14:15:55.000000000 +0000 +++ dico-2.10/grecs/src/json-gram.c 2020-09-03 04:37:37.000000000 +0000 @@ -1,19 +1,19 @@ -/* A Bison parser, made by GNU Bison 2.7. */ +/* A Bison parser, made by GNU Bison 3.0.4. */ /* Bison implementation for Yacc-like parsers in C - - Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. - + + Copyright (C) 1984, 1989-1990, 2000-2015 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 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 . */ @@ -26,7 +26,7 @@ special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. - + This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ @@ -44,7 +44,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.7" +#define YYBISON_VERSION "3.0.4" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -62,8 +62,7 @@ /* Copy the first part of user declarations. */ -/* Line 371 of yacc.c */ -#line 1 "json-gram.y" +#line 1 "json-gram.y" /* yacc.c:339 */ /* This file is part of Grecs. Copyright (C) 2012-2016 Sergey Poznyakoff. @@ -113,14 +112,13 @@ } -/* Line 371 of yacc.c */ -#line 118 "json-gram.c" +#line 116 "json-gram.c" /* yacc.c:339 */ -# ifndef YY_NULL +# ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULL nullptr +# define YY_NULLPTR nullptr # else -# define YY_NULL 0 +# define YY_NULLPTR 0 # endif # endif @@ -136,7 +134,7 @@ by #include "y.tab.h". */ #ifndef YY_YY_JSON_GRAM_H_INCLUDED # define YY_YY_JSON_GRAM_H_INCLUDED -/* Enabling traces. */ +/* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 1 #endif @@ -144,18 +142,17 @@ extern int grecs_json_debug; #endif -/* Tokens. */ +/* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum grecs_json_tokentype { - T_NUMBER = 258, - T_STRING = 259, - T_BOOL = 260, - T_NULL = 261, - T_ERR = 262 - }; + enum grecs_json_tokentype + { + T_NUMBER = 258, + T_STRING = 259, + T_BOOL = 260, + T_NULL = 261, + T_ERR = 262 + }; #endif /* Tokens. */ #define T_NUMBER 258 @@ -164,13 +161,12 @@ #define T_NULL 261 #define T_ERR 262 - - +/* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE + +union YYSTYPE { -/* Line 387 of yacc.c */ -#line 64 "json-gram.y" +#line 64 "json-gram.y" /* yacc.c:355 */ int b; double n; @@ -180,50 +176,38 @@ struct grecs_list *list; struct json_pair *p; +#line 180 "json-gram.c" /* yacc.c:355 */ +}; -/* Line 387 of yacc.c */ -#line 186 "json-gram.c" -} YYSTYPE; +typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 -# define grecs_json_stype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif +/* Location type. */ #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED -typedef struct YYLTYPE +typedef struct YYLTYPE YYLTYPE; +struct YYLTYPE { int first_line; int first_column; int last_line; int last_column; -} YYLTYPE; -# define grecs_json_ltype YYLTYPE /* obsolescent; will be withdrawn */ +}; # define YYLTYPE_IS_DECLARED 1 # define YYLTYPE_IS_TRIVIAL 1 #endif + extern YYSTYPE grecs_json_lval; extern YYLTYPE grecs_json_lloc; -#ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int grecs_json_parse (void *YYPARSE_PARAM); -#else -int grecs_json_parse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus int grecs_json_parse (void); -#else -int grecs_json_parse (); -#endif -#endif /* ! YYPARSE_PARAM */ #endif /* !YY_YY_JSON_GRAM_H_INCLUDED */ /* Copy the second part of user declarations. */ -/* Line 390 of yacc.c */ -#line 227 "json-gram.c" +#line 211 "json-gram.c" /* yacc.c:358 */ #ifdef short # undef short @@ -237,11 +221,8 @@ #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 grecs_json_type_int8; -#elif (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -typedef signed char grecs_json_type_int8; #else -typedef short int grecs_json_type_int8; +typedef signed char grecs_json_type_int8; #endif #ifdef YYTYPE_UINT16 @@ -261,8 +242,7 @@ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t -# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# elif ! defined YYSIZE_T # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else @@ -284,6 +264,33 @@ # endif #endif +#ifndef YY_ATTRIBUTE +# if (defined __GNUC__ \ + && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ + || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C +# define YY_ATTRIBUTE(Spec) __attribute__(Spec) +# else +# define YY_ATTRIBUTE(Spec) /* empty */ +# endif +#endif + +#ifndef YY_ATTRIBUTE_PURE +# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) +#endif + +#ifndef YY_ATTRIBUTE_UNUSED +# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) +#endif + +#if !defined _Noreturn \ + && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) +# if defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) +# endif +#endif + /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) @@ -291,23 +298,25 @@ # define YYUSE(E) /* empty */ #endif -/* Identity function, used to suppress warnings about constant conditions. */ -#ifndef lint -# define YYID(N) (N) -#else -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static int -YYID (int grecs_json_i) +#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +/* Suppress an incorrect diagnostic about grecs_json_lval being uninitialized. */ +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ + _Pragma ("GCC diagnostic pop") #else -static int -YYID (grecs_json_i) - int grecs_json_i; +# define YY_INITIAL_VALUE(Value) Value #endif -{ - return grecs_json_i; -} +#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_END #endif +#ifndef YY_INITIAL_VALUE +# define YY_INITIAL_VALUE(Value) /* Nothing. */ +#endif + #if ! defined grecs_json_overflow || YYERROR_VERBOSE @@ -326,8 +335,7 @@ # define alloca _alloca # else # define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ # ifndef EXIT_SUCCESS @@ -339,8 +347,8 @@ # endif # ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) + /* Pacify GCC's 'empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely @@ -356,7 +364,7 @@ # endif # if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) + && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 @@ -364,15 +372,13 @@ # endif # ifndef YYMALLOC # define YYMALLOC malloc -# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free -# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif @@ -382,8 +388,8 @@ #if (! defined grecs_json_overflow \ && (! defined __cplusplus \ - || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \ - && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \ + && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union grecs_json_alloc @@ -409,16 +415,16 @@ elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ -# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ - do \ - { \ - YYSIZE_T grecs_json_newbytes; \ - YYCOPY (&grecs_json_ptr->Stack_alloc, Stack, grecs_json_size); \ - Stack = &grecs_json_ptr->Stack_alloc; \ - grecs_json_newbytes = grecs_json_stacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - grecs_json_ptr += grecs_json_newbytes / sizeof (*grecs_json_ptr); \ - } \ - while (YYID (0)) +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ + do \ + { \ + YYSIZE_T grecs_json_newbytes; \ + YYCOPY (&grecs_json_ptr->Stack_alloc, Stack, grecs_json_size); \ + Stack = &grecs_json_ptr->Stack_alloc; \ + grecs_json_newbytes = grecs_json_stacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + grecs_json_ptr += grecs_json_newbytes / sizeof (*grecs_json_ptr); \ + } \ + while (0) #endif @@ -437,7 +443,7 @@ for (grecs_json_i = 0; grecs_json_i < (Count); grecs_json_i++) \ (Dst)[grecs_json_i] = (Src)[grecs_json_i]; \ } \ - while (YYID (0)) + while (0) # endif # endif #endif /* !YYCOPY_NEEDED */ @@ -453,17 +459,19 @@ #define YYNNTS 10 /* YYNRULES -- Number of rules. */ #define YYNRULES 19 -/* YYNRULES -- Number of states. */ +/* YYNSTATES -- Number of states. */ #define YYNSTATES 27 -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned + by grecs_json_lex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 262 -#define YYTRANSLATE(YYX) \ +#define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? grecs_json_translate[YYX] : YYUNDEFTOK) -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ +/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM + as returned by grecs_json_lex, without out-of-bounds checking. */ static const grecs_json_type_uint8 grecs_json_translate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -496,25 +504,7 @@ }; #if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const grecs_json_type_uint8 grecs_json_prhs[] = -{ - 0, 0, 3, 5, 7, 9, 11, 13, 15, 17, - 21, 22, 24, 26, 30, 34, 35, 37, 39, 43 -}; - -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const grecs_json_type_int8 grecs_json_rhs[] = -{ - 15, 0, -1, 16, -1, 3, -1, 4, -1, 5, - -1, 6, -1, 17, -1, 20, -1, 8, 18, 9, - -1, -1, 19, -1, 16, -1, 19, 10, 16, -1, - 11, 21, 12, -1, -1, 22, -1, 23, -1, 22, - 10, 23, -1, 4, 13, 16, -1 -}; - -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ + /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const grecs_json_type_uint8 grecs_json_rline[] = { 0, 75, 75, 81, 86, 91, 96, 100, 101, 108, @@ -530,13 +520,13 @@ "$end", "error", "$undefined", "T_NUMBER", "T_STRING", "T_BOOL", "T_NULL", "T_ERR", "'['", "']'", "','", "'{'", "'}'", "':'", "$accept", "input", "object", "array", "objects", "objlist", "assoc", "pairs", - "pairlist", "pair", YY_NULL + "pairlist", "pair", YY_NULLPTR }; #endif # ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to - token YYLEX-NUM. */ +/* YYTOKNUM[NUM] -- (External) token number corresponding to the + (internal) symbol number NUM (which must be that of a token). */ static const grecs_json_type_uint16 grecs_json_toknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 91, 93, @@ -544,23 +534,28 @@ }; # endif -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const grecs_json_type_uint8 grecs_json_r1[] = -{ - 0, 14, 15, 16, 16, 16, 16, 16, 16, 17, - 18, 18, 19, 19, 20, 21, 21, 22, 22, 23 -}; +#define YYPACT_NINF -13 -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const grecs_json_type_uint8 grecs_json_r2[] = +#define grecs_json_pact_value_is_default(Yystate) \ + (!!((Yystate) == (-13))) + +#define YYTABLE_NINF -1 + +#define grecs_json_table_value_is_error(Yytable_value) \ + 0 + + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ +static const grecs_json_type_int8 grecs_json_pact[] = { - 0, 2, 1, 1, 1, 1, 1, 1, 1, 3, - 0, 1, 1, 3, 3, 0, 1, 1, 3, 3 + -2, -13, -13, -13, -13, -2, 1, 7, -13, -13, + -13, -13, -1, 0, 4, 2, 3, -13, -13, -13, + -2, -2, -13, 1, -13, -13, -13 }; -/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. - Performed when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ + /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ static const grecs_json_type_uint8 grecs_json_defact[] = { 0, 3, 4, 5, 6, 10, 15, 0, 2, 7, @@ -568,52 +563,35 @@ 0, 0, 14, 0, 13, 19, 18 }; -/* YYDEFGOTO[NTERM-NUM]. */ -static const grecs_json_type_int8 grecs_json_defgoto[] = -{ - -1, 7, 8, 9, 12, 13, 10, 15, 16, 17 -}; - -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -#define YYPACT_NINF -13 -static const grecs_json_type_int8 grecs_json_pact[] = + /* YYPGOTO[NTERM-NUM]. */ +static const grecs_json_type_int8 grecs_json_pgoto[] = { - -2, -13, -13, -13, -13, -2, 1, 7, -13, -13, - -13, -13, -1, 0, 4, 2, 3, -13, -13, -13, - -2, -2, -13, 1, -13, -13, -13 + -13, -13, -5, -13, -13, -13, -13, -13, -13, -12 }; -/* YYPGOTO[NTERM-NUM]. */ -static const grecs_json_type_int8 grecs_json_pgoto[] = + /* YYDEFGOTO[NTERM-NUM]. */ +static const grecs_json_type_int8 grecs_json_defgoto[] = { - -13, -13, -5, -13, -13, -13, -13, -13, -13, -12 + -1, 7, 8, 9, 12, 13, 10, 15, 16, 17 }; -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -1 + /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ static const grecs_json_type_uint8 grecs_json_table[] = { 11, 1, 2, 3, 4, 14, 5, 18, 19, 6, 20, 26, 0, 23, 22, 24, 25, 21 }; -#define grecs_json_pact_value_is_default(Yystate) \ - (!!((Yystate) == (-13))) - -#define grecs_json_table_value_is_error(Yytable_value) \ - YYID (0) - static const grecs_json_type_int8 grecs_json_check[] = { 5, 3, 4, 5, 6, 4, 8, 0, 9, 11, 10, 23, -1, 10, 12, 20, 21, 13 }; -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ static const grecs_json_type_uint8 grecs_json_stos[] = { 0, 3, 4, 5, 6, 8, 11, 15, 16, 17, @@ -621,30 +599,30 @@ 10, 13, 12, 10, 16, 16, 23 }; -#define grecs_json_errok (grecs_json_errstatus = 0) -#define grecs_json_clearin (grecs_json_char = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 - -#define YYACCEPT goto grecs_json_acceptlab -#define YYABORT goto grecs_json_abortlab -#define YYERROR goto grecs_json_errorlab - - -/* Like YYERROR except do call grecs_json_error. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. However, - YYFAIL appears to be in use. Nevertheless, it is formally deprecated - in Bison 2.4.2's NEWS entry, where a plan to phase it out is - discussed. */ - -#define YYFAIL goto grecs_json_errlab -#if defined YYFAIL - /* This is here to suppress warnings from the GCC cpp's - -Wunused-macros. Normally we don't worry about that warning, but - some users do, and we want to make it easy for users to remove - YYFAIL uses, which will produce warnings from Bison 2.5. */ -#endif + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const grecs_json_type_uint8 grecs_json_r1[] = +{ + 0, 14, 15, 16, 16, 16, 16, 16, 16, 17, + 18, 18, 19, 19, 20, 21, 21, 22, 22, 23 +}; + + /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +static const grecs_json_type_uint8 grecs_json_r2[] = +{ + 0, 2, 1, 1, 1, 1, 1, 1, 1, 3, + 0, 1, 1, 3, 3, 0, 1, 1, 3, 3 +}; + + +#define grecs_json_errok (grecs_json_errstatus = 0) +#define grecs_json_clearin (grecs_json_char = YYEMPTY) +#define YYEMPTY (-2) +#define YYEOF 0 + +#define YYACCEPT goto grecs_json_acceptlab +#define YYABORT goto grecs_json_abortlab +#define YYERROR goto grecs_json_errorlab + #define YYRECOVERING() (!!grecs_json_errstatus) @@ -661,13 +639,13 @@ else \ { \ grecs_json_error (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (YYID (0)) + YYERROR; \ + } \ +while (0) /* Error token number */ -#define YYTERROR 1 -#define YYERRCODE 256 +#define YYTERROR 1 +#define YYERRCODE 256 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. @@ -677,7 +655,7 @@ #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ - if (YYID (N)) \ + if (N) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ @@ -691,12 +669,27 @@ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ - while (YYID (0)) + while (0) #endif #define YYRHSLOC(Rhs, K) ((Rhs)[K]) +/* Enable debugging if requested. */ +#if YYDEBUG + +# ifndef YYFPRINTF +# include /* INFRINGES ON USER NAME SPACE */ +# define YYFPRINTF fprintf +# endif + +# define YYDPRINTF(Args) \ +do { \ + if (grecs_json_debug) \ + YYFPRINTF Args; \ +} while (0) + + /* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */ @@ -706,36 +699,28 @@ /* Print *YYLOCP on YYO. Private, do not rely on its existence. */ -__attribute__((__unused__)) -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +YY_ATTRIBUTE_UNUSED static unsigned grecs_json__location_print_ (FILE *grecs_json_o, YYLTYPE const * const grecs_json_locp) -#else -static unsigned -grecs_json__location_print_ (grecs_json_o, grecs_json_locp) - FILE *grecs_json_o; - YYLTYPE const * const grecs_json_locp; -#endif { unsigned res = 0; int end_col = 0 != grecs_json_locp->last_column ? grecs_json_locp->last_column - 1 : 0; if (0 <= grecs_json_locp->first_line) { - res += fprintf (grecs_json_o, "%d", grecs_json_locp->first_line); + res += YYFPRINTF (grecs_json_o, "%d", grecs_json_locp->first_line); if (0 <= grecs_json_locp->first_column) - res += fprintf (grecs_json_o, ".%d", grecs_json_locp->first_column); + res += YYFPRINTF (grecs_json_o, ".%d", grecs_json_locp->first_column); } if (0 <= grecs_json_locp->last_line) { if (grecs_json_locp->first_line < grecs_json_locp->last_line) { - res += fprintf (grecs_json_o, "-%d", grecs_json_locp->last_line); + res += YYFPRINTF (grecs_json_o, "-%d", grecs_json_locp->last_line); if (0 <= end_col) - res += fprintf (grecs_json_o, ".%d", end_col); + res += YYFPRINTF (grecs_json_o, ".%d", end_col); } else if (0 <= end_col && grecs_json_locp->first_column < end_col) - res += fprintf (grecs_json_o, "-%d", end_col); + res += YYFPRINTF (grecs_json_o, "-%d", end_col); } return res; } @@ -749,73 +734,35 @@ #endif -/* YYLEX -- calling `grecs_json_lex' with the right arguments. */ -#ifdef YYLEX_PARAM -# define YYLEX grecs_json_lex (YYLEX_PARAM) -#else -# define YYLEX grecs_json_lex () -#endif - -/* Enable debugging if requested. */ -#if YYDEBUG - -# ifndef YYFPRINTF -# include /* INFRINGES ON USER NAME SPACE */ -# define YYFPRINTF fprintf -# endif - -# define YYDPRINTF(Args) \ -do { \ - if (grecs_json_debug) \ - YYFPRINTF Args; \ -} while (YYID (0)) - -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (grecs_json_debug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - grecs_json__symbol_print (stderr, \ - Type, Value, Location); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (YYID (0)) +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +do { \ + if (grecs_json_debug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + grecs_json__symbol_print (stderr, \ + Type, Value, Location); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +/*----------------------------------------. +| Print this symbol's value on YYOUTPUT. | +`----------------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void grecs_json__symbol_value_print (FILE *grecs_json_output, int grecs_json_type, YYSTYPE const * const grecs_json_valuep, YYLTYPE const * const grecs_json_locationp) -#else -static void -grecs_json__symbol_value_print (grecs_json_output, grecs_json_type, grecs_json_valuep, grecs_json_locationp) - FILE *grecs_json_output; - int grecs_json_type; - YYSTYPE const * const grecs_json_valuep; - YYLTYPE const * const grecs_json_locationp; -#endif { FILE *grecs_json_o = grecs_json_output; YYUSE (grecs_json_o); + YYUSE (grecs_json_locationp); if (!grecs_json_valuep) return; - YYUSE (grecs_json_locationp); # ifdef YYPRINT if (grecs_json_type < YYNTOKENS) YYPRINT (grecs_json_output, grecs_json_toknum[grecs_json_type], *grecs_json_valuep); -# else - YYUSE (grecs_json_output); # endif - switch (grecs_json_type) - { - default: - break; - } + YYUSE (grecs_json_type); } @@ -823,23 +770,11 @@ | Print this symbol on YYOUTPUT. | `--------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void grecs_json__symbol_print (FILE *grecs_json_output, int grecs_json_type, YYSTYPE const * const grecs_json_valuep, YYLTYPE const * const grecs_json_locationp) -#else -static void -grecs_json__symbol_print (grecs_json_output, grecs_json_type, grecs_json_valuep, grecs_json_locationp) - FILE *grecs_json_output; - int grecs_json_type; - YYSTYPE const * const grecs_json_valuep; - YYLTYPE const * const grecs_json_locationp; -#endif { - if (grecs_json_type < YYNTOKENS) - YYFPRINTF (grecs_json_output, "token %s (", grecs_json_tname[grecs_json_type]); - else - YYFPRINTF (grecs_json_output, "nterm %s (", grecs_json_tname[grecs_json_type]); + YYFPRINTF (grecs_json_output, "%s %s (", + grecs_json_type < YYNTOKENS ? "token" : "nterm", grecs_json_tname[grecs_json_type]); YY_LOCATION_PRINT (grecs_json_output, *grecs_json_locationp); YYFPRINTF (grecs_json_output, ": "); @@ -852,16 +787,8 @@ | TOP (included). | `------------------------------------------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void grecs_json__stack_print (grecs_json_type_int16 *grecs_json_bottom, grecs_json_type_int16 *grecs_json_top) -#else -static void -grecs_json__stack_print (grecs_json_bottom, grecs_json_top) - grecs_json_type_int16 *grecs_json_bottom; - grecs_json_type_int16 *grecs_json_top; -#endif { YYFPRINTF (stderr, "Stack now"); for (; grecs_json_bottom <= grecs_json_top; grecs_json_bottom++) @@ -872,50 +799,42 @@ YYFPRINTF (stderr, "\n"); } -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (grecs_json_debug) \ - grecs_json__stack_print ((Bottom), (Top)); \ -} while (YYID (0)) +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (grecs_json_debug) \ + grecs_json__stack_print ((Bottom), (Top)); \ +} while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -grecs_json__reduce_print (YYSTYPE *grecs_json_vsp, YYLTYPE *grecs_json_lsp, int grecs_json_rule) -#else static void -grecs_json__reduce_print (grecs_json_vsp, grecs_json_lsp, grecs_json_rule) - YYSTYPE *grecs_json_vsp; - YYLTYPE *grecs_json_lsp; - int grecs_json_rule; -#endif +grecs_json__reduce_print (grecs_json_type_int16 *grecs_json_ssp, YYSTYPE *grecs_json_vsp, YYLTYPE *grecs_json_lsp, int grecs_json_rule) { + unsigned long int grecs_json_lno = grecs_json_rline[grecs_json_rule]; int grecs_json_nrhs = grecs_json_r2[grecs_json_rule]; int grecs_json_i; - unsigned long int grecs_json_lno = grecs_json_rline[grecs_json_rule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", - grecs_json_rule - 1, grecs_json_lno); + grecs_json_rule - 1, grecs_json_lno); /* The symbols being reduced. */ for (grecs_json_i = 0; grecs_json_i < grecs_json_nrhs; grecs_json_i++) { YYFPRINTF (stderr, " $%d = ", grecs_json_i + 1); - grecs_json__symbol_print (stderr, grecs_json_rhs[grecs_json_prhs[grecs_json_rule] + grecs_json_i], - &(grecs_json_vsp[(grecs_json_i + 1) - (grecs_json_nrhs)]) - , &(grecs_json_lsp[(grecs_json_i + 1) - (grecs_json_nrhs)]) ); + grecs_json__symbol_print (stderr, + grecs_json_stos[grecs_json_ssp[grecs_json_i + 1 - grecs_json_nrhs]], + &(grecs_json_vsp[(grecs_json_i + 1) - (grecs_json_nrhs)]) + , &(grecs_json_lsp[(grecs_json_i + 1) - (grecs_json_nrhs)]) ); YYFPRINTF (stderr, "\n"); } } -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (grecs_json_debug) \ - grecs_json__reduce_print (grecs_json_vsp, grecs_json_lsp, Rule); \ -} while (YYID (0)) +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (grecs_json_debug) \ + grecs_json__reduce_print (grecs_json_ssp, grecs_json_vsp, grecs_json_lsp, Rule); \ +} while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ @@ -929,7 +848,7 @@ /* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH +#ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif @@ -952,15 +871,8 @@ # define grecs_json_strlen strlen # else /* Return the length of YYSTR. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static YYSIZE_T grecs_json_strlen (const char *grecs_json_str) -#else -static YYSIZE_T -grecs_json_strlen (grecs_json_str) - const char *grecs_json_str; -#endif { YYSIZE_T grecs_json_len; for (grecs_json_len = 0; grecs_json_str[grecs_json_len]; grecs_json_len++) @@ -976,16 +888,8 @@ # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static char * grecs_json_stpcpy (char *grecs_json_dest, const char *grecs_json_src) -#else -static char * -grecs_json_stpcpy (grecs_json_dest, grecs_json_src) - char *grecs_json_dest; - const char *grecs_json_src; -#endif { char *grecs_json_d = grecs_json_dest; const char *grecs_json_s = grecs_json_src; @@ -1015,27 +919,27 @@ char const *grecs_json_p = grecs_json_str; for (;;) - switch (*++grecs_json_p) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++grecs_json_p != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (grecs_json_res) - grecs_json_res[grecs_json_n] = *grecs_json_p; - grecs_json_n++; - break; - - case '"': - if (grecs_json_res) - grecs_json_res[grecs_json_n] = '\0'; - return grecs_json_n; - } + switch (*++grecs_json_p) + { + case '\'': + case ',': + goto do_not_strip_quotes; + + case '\\': + if (*++grecs_json_p != '\\') + goto do_not_strip_quotes; + /* Fall through. */ + default: + if (grecs_json_res) + grecs_json_res[grecs_json_n] = *grecs_json_p; + grecs_json_n++; + break; + + case '"': + if (grecs_json_res) + grecs_json_res[grecs_json_n] = '\0'; + return grecs_json_n; + } do_not_strip_quotes: ; } @@ -1058,11 +962,11 @@ grecs_json_syntax_error (YYSIZE_T *grecs_json_msg_alloc, char **grecs_json_msg, grecs_json_type_int16 *grecs_json_ssp, int grecs_json_token) { - YYSIZE_T grecs_json_size0 = grecs_json_tnamerr (YY_NULL, grecs_json_tname[grecs_json_token]); + YYSIZE_T grecs_json_size0 = grecs_json_tnamerr (YY_NULLPTR, grecs_json_tname[grecs_json_token]); YYSIZE_T grecs_json_size = grecs_json_size0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ - const char *grecs_json_format = YY_NULL; + const char *grecs_json_format = YY_NULLPTR; /* Arguments of grecs_json_format. */ char const *grecs_json_arg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per @@ -1070,10 +974,6 @@ int grecs_json_count = 0; /* There are many possibilities here to consider: - - Assume YYFAIL is not used. It's too flawed to consider. See - - for details. YYERROR is fine as it does not invoke this - function. - If this state is a consistent state with a default action, then the only way this function was invoked is if the default action is an error action. In that case, don't check for expected @@ -1123,7 +1023,7 @@ } grecs_json_arg[grecs_json_count++] = grecs_json_tname[grecs_json_x]; { - YYSIZE_T grecs_json_size1 = grecs_json_size + grecs_json_tnamerr (YY_NULL, grecs_json_tname[grecs_json_x]); + YYSIZE_T grecs_json_size1 = grecs_json_size + grecs_json_tnamerr (YY_NULLPTR, grecs_json_tname[grecs_json_x]); if (! (grecs_json_size <= grecs_json_size1 && grecs_json_size1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; @@ -1190,33 +1090,18 @@ | Release the memory associated to this symbol. | `-----------------------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void grecs_json_destruct (const char *grecs_json_msg, int grecs_json_type, YYSTYPE *grecs_json_valuep, YYLTYPE *grecs_json_locationp) -#else -static void -grecs_json_destruct (grecs_json_msg, grecs_json_type, grecs_json_valuep, grecs_json_locationp) - const char *grecs_json_msg; - int grecs_json_type; - YYSTYPE *grecs_json_valuep; - YYLTYPE *grecs_json_locationp; -#endif { YYUSE (grecs_json_valuep); YYUSE (grecs_json_locationp); - if (!grecs_json_msg) grecs_json_msg = "Deleting"; YY_SYMBOL_PRINT (grecs_json_msg, grecs_json_type, grecs_json_valuep, grecs_json_locationp); - switch (grecs_json_type) - { - - default: - break; - } + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + YYUSE (grecs_json_type); + YY_IGNORE_MAYBE_UNINITIALIZED_END } @@ -1225,26 +1110,14 @@ /* The lookahead symbol. */ int grecs_json_char; - -#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -# define YY_IGNORE_MAYBE_UNINITIALIZED_END -#endif -#ifndef YY_INITIAL_VALUE -# define YY_INITIAL_VALUE(Value) /* Nothing. */ -#endif - /* The semantic value of the lookahead symbol. */ -YYSTYPE grecs_json_lval YY_INITIAL_VALUE(grecs_json_val_default); - +YYSTYPE grecs_json_lval; /* Location data for the lookahead symbol. */ YYLTYPE grecs_json_lloc # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL = { 1, 1, 1, 1 } # endif ; - - /* Number of syntax errors so far. */ int grecs_json_nerrs; @@ -1253,36 +1126,17 @@ | grecs_json_parse. | `----------*/ -#ifdef YYPARSE_PARAM -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -grecs_json_parse (void *YYPARSE_PARAM) -#else -int -grecs_json_parse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -#endif -#else /* ! YYPARSE_PARAM */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) int grecs_json_parse (void) -#else -int -grecs_json_parse () - -#endif -#endif { int grecs_json_state; /* Number of tokens to shift before error messages enabled. */ int grecs_json_errstatus; /* The stacks and their tools: - `grecs_json_ss': related to states. - `grecs_json_vs': related to semantic values. - `grecs_json_ls': related to locations. + 'grecs_json_ss': related to states. + 'grecs_json_vs': related to semantic values. + 'grecs_json_ls': related to locations. Refer to the stacks through separate pointers, to allow grecs_json_overflow to reallocate them elsewhere. */ @@ -1361,26 +1215,26 @@ #ifdef grecs_json_overflow { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *grecs_json_vs1 = grecs_json_vs; - grecs_json_type_int16 *grecs_json_ss1 = grecs_json_ss; - YYLTYPE *grecs_json_ls1 = grecs_json_ls; - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if grecs_json_overflow is a macro. */ - grecs_json_overflow (YY_("memory exhausted"), - &grecs_json_ss1, grecs_json_size * sizeof (*grecs_json_ssp), - &grecs_json_vs1, grecs_json_size * sizeof (*grecs_json_vsp), - &grecs_json_ls1, grecs_json_size * sizeof (*grecs_json_lsp), - &grecs_json_stacksize); - - grecs_json_ls = grecs_json_ls1; - grecs_json_ss = grecs_json_ss1; - grecs_json_vs = grecs_json_vs1; + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *grecs_json_vs1 = grecs_json_vs; + grecs_json_type_int16 *grecs_json_ss1 = grecs_json_ss; + YYLTYPE *grecs_json_ls1 = grecs_json_ls; + + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if grecs_json_overflow is a macro. */ + grecs_json_overflow (YY_("memory exhausted"), + &grecs_json_ss1, grecs_json_size * sizeof (*grecs_json_ssp), + &grecs_json_vs1, grecs_json_size * sizeof (*grecs_json_vsp), + &grecs_json_ls1, grecs_json_size * sizeof (*grecs_json_lsp), + &grecs_json_stacksize); + + grecs_json_ls = grecs_json_ls1; + grecs_json_ss = grecs_json_ss1; + grecs_json_vs = grecs_json_vs1; } #else /* no grecs_json_overflow */ # ifndef YYSTACK_RELOCATE @@ -1388,23 +1242,23 @@ # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= grecs_json_stacksize) - goto grecs_json_exhaustedlab; + goto grecs_json_exhaustedlab; grecs_json_stacksize *= 2; if (YYMAXDEPTH < grecs_json_stacksize) - grecs_json_stacksize = YYMAXDEPTH; + grecs_json_stacksize = YYMAXDEPTH; { - grecs_json_type_int16 *grecs_json_ss1 = grecs_json_ss; - union grecs_json_alloc *grecs_json_ptr = - (union grecs_json_alloc *) YYSTACK_ALLOC (YYSTACK_BYTES (grecs_json_stacksize)); - if (! grecs_json_ptr) - goto grecs_json_exhaustedlab; - YYSTACK_RELOCATE (grecs_json_ss_alloc, grecs_json_ss); - YYSTACK_RELOCATE (grecs_json_vs_alloc, grecs_json_vs); - YYSTACK_RELOCATE (grecs_json_ls_alloc, grecs_json_ls); + grecs_json_type_int16 *grecs_json_ss1 = grecs_json_ss; + union grecs_json_alloc *grecs_json_ptr = + (union grecs_json_alloc *) YYSTACK_ALLOC (YYSTACK_BYTES (grecs_json_stacksize)); + if (! grecs_json_ptr) + goto grecs_json_exhaustedlab; + YYSTACK_RELOCATE (grecs_json_ss_alloc, grecs_json_ss); + YYSTACK_RELOCATE (grecs_json_vs_alloc, grecs_json_vs); + YYSTACK_RELOCATE (grecs_json_ls_alloc, grecs_json_ls); # undef YYSTACK_RELOCATE - if (grecs_json_ss1 != grecs_json_ssa) - YYSTACK_FREE (grecs_json_ss1); + if (grecs_json_ss1 != grecs_json_ssa) + YYSTACK_FREE (grecs_json_ss1); } # endif #endif /* no grecs_json_overflow */ @@ -1414,10 +1268,10 @@ grecs_json_lsp = grecs_json_ls + grecs_json_size - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) grecs_json_stacksize)); + (unsigned long int) grecs_json_stacksize)); if (grecs_json_ss + grecs_json_stacksize - 1 <= grecs_json_ssp) - YYABORT; + YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", grecs_json_state)); @@ -1446,7 +1300,7 @@ if (grecs_json_char == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); - grecs_json_char = YYLEX; + grecs_json_char = grecs_json_lex (); } if (grecs_json_char <= YYEOF) @@ -1511,7 +1365,7 @@ grecs_json_len = grecs_json_r2[grecs_json_n]; /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. + '$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison @@ -1526,101 +1380,100 @@ switch (grecs_json_n) { case 2: -/* Line 1792 of yacc.c */ -#line 76 "json-gram.y" +#line 76 "json-gram.y" /* yacc.c:1646 */ { - json_return_obj = (grecs_json_vsp[(1) - (1)].obj); + json_return_obj = (grecs_json_vsp[0].obj); } +#line 1388 "json-gram.c" /* yacc.c:1646 */ break; case 3: -/* Line 1792 of yacc.c */ -#line 82 "json-gram.y" +#line 82 "json-gram.y" /* yacc.c:1646 */ { (grecs_json_val.obj) = json_value_create(json_number); - (grecs_json_val.obj)->v.n = (grecs_json_vsp[(1) - (1)].n); + (grecs_json_val.obj)->v.n = (grecs_json_vsp[0].n); } +#line 1397 "json-gram.c" /* yacc.c:1646 */ break; case 4: -/* Line 1792 of yacc.c */ -#line 87 "json-gram.y" +#line 87 "json-gram.y" /* yacc.c:1646 */ { (grecs_json_val.obj) = json_value_create(json_string); - (grecs_json_val.obj)->v.s = (grecs_json_vsp[(1) - (1)].s); + (grecs_json_val.obj)->v.s = (grecs_json_vsp[0].s); } +#line 1406 "json-gram.c" /* yacc.c:1646 */ break; case 5: -/* Line 1792 of yacc.c */ -#line 92 "json-gram.y" +#line 92 "json-gram.y" /* yacc.c:1646 */ { (grecs_json_val.obj) = json_value_create(json_bool); - (grecs_json_val.obj)->v.b = (grecs_json_vsp[(1) - (1)].b); + (grecs_json_val.obj)->v.b = (grecs_json_vsp[0].b); } +#line 1415 "json-gram.c" /* yacc.c:1646 */ break; case 6: -/* Line 1792 of yacc.c */ -#line 97 "json-gram.y" +#line 97 "json-gram.y" /* yacc.c:1646 */ { (grecs_json_val.obj) = json_value_create(json_null); } +#line 1423 "json-gram.c" /* yacc.c:1646 */ break; case 8: -/* Line 1792 of yacc.c */ -#line 102 "json-gram.y" +#line 102 "json-gram.y" /* yacc.c:1646 */ { (grecs_json_val.obj) = json_value_create(json_object); - (grecs_json_val.obj)->v.o = (grecs_json_vsp[(1) - (1)].o); + (grecs_json_val.obj)->v.o = (grecs_json_vsp[0].o); } +#line 1432 "json-gram.c" /* yacc.c:1646 */ break; case 9: -/* Line 1792 of yacc.c */ -#line 109 "json-gram.y" +#line 109 "json-gram.y" /* yacc.c:1646 */ { (grecs_json_val.obj) = json_new_array(); - (grecs_json_val.obj)->v.a->ol = (grecs_json_vsp[(2) - (3)].list); + (grecs_json_val.obj)->v.a->ol = (grecs_json_vsp[-1].list); } +#line 1441 "json-gram.c" /* yacc.c:1646 */ break; case 10: -/* Line 1792 of yacc.c */ -#line 116 "json-gram.y" +#line 116 "json-gram.y" /* yacc.c:1646 */ { (grecs_json_val.list) = NULL; } +#line 1449 "json-gram.c" /* yacc.c:1646 */ break; case 12: -/* Line 1792 of yacc.c */ -#line 123 "json-gram.y" +#line 123 "json-gram.y" /* yacc.c:1646 */ { (grecs_json_val.list) = grecs_list_create(); - grecs_list_append((grecs_json_val.list), (grecs_json_vsp[(1) - (1)].obj)); + grecs_list_append((grecs_json_val.list), (grecs_json_vsp[0].obj)); } +#line 1458 "json-gram.c" /* yacc.c:1646 */ break; case 13: -/* Line 1792 of yacc.c */ -#line 128 "json-gram.y" +#line 128 "json-gram.y" /* yacc.c:1646 */ { - grecs_list_append((grecs_json_vsp[(1) - (3)].list), (grecs_json_vsp[(3) - (3)].obj)); + grecs_list_append((grecs_json_vsp[-2].list), (grecs_json_vsp[0].obj)); } +#line 1466 "json-gram.c" /* yacc.c:1646 */ break; case 14: -/* Line 1792 of yacc.c */ -#line 134 "json-gram.y" +#line 134 "json-gram.y" /* yacc.c:1646 */ { struct grecs_symtab *s; s = json_assoc_create(); - if ((grecs_json_vsp[(2) - (3)].list)) { + if ((grecs_json_vsp[-1].list)) { struct grecs_list_entry *ep; - for (ep = (grecs_json_vsp[(2) - (3)].list)->head; ep; ep = ep->next) { + for (ep = (grecs_json_vsp[-1].list)->head; ep; ep = ep->next) { struct json_pair *p = ep->data; int install = 1; grecs_symtab_lookup_or_install(s, p, &install); @@ -1629,52 +1482,52 @@ p->v = NULL; } } - grecs_list_free((grecs_json_vsp[(2) - (3)].list)); + grecs_list_free((grecs_json_vsp[-1].list)); } (grecs_json_val.o) = s; } +#line 1490 "json-gram.c" /* yacc.c:1646 */ break; case 15: -/* Line 1792 of yacc.c */ -#line 156 "json-gram.y" +#line 156 "json-gram.y" /* yacc.c:1646 */ { (grecs_json_val.list) = NULL; } +#line 1498 "json-gram.c" /* yacc.c:1646 */ break; case 17: -/* Line 1792 of yacc.c */ -#line 163 "json-gram.y" +#line 163 "json-gram.y" /* yacc.c:1646 */ { (grecs_json_val.list) = grecs_list_create(); (grecs_json_val.list)->free_entry = pairfree; - grecs_list_append((grecs_json_val.list), (grecs_json_vsp[(1) - (1)].p)); + grecs_list_append((grecs_json_val.list), (grecs_json_vsp[0].p)); } +#line 1508 "json-gram.c" /* yacc.c:1646 */ break; case 18: -/* Line 1792 of yacc.c */ -#line 169 "json-gram.y" +#line 169 "json-gram.y" /* yacc.c:1646 */ { - grecs_list_append((grecs_json_vsp[(1) - (3)].list), (grecs_json_vsp[(3) - (3)].p)); + grecs_list_append((grecs_json_vsp[-2].list), (grecs_json_vsp[0].p)); } +#line 1516 "json-gram.c" /* yacc.c:1646 */ break; case 19: -/* Line 1792 of yacc.c */ -#line 175 "json-gram.y" +#line 175 "json-gram.y" /* yacc.c:1646 */ { struct json_pair *p = grecs_malloc(sizeof(*p)); - p->k = (grecs_json_vsp[(1) - (3)].s); - p->v = (grecs_json_vsp[(3) - (3)].obj); + p->k = (grecs_json_vsp[-2].s); + p->v = (grecs_json_vsp[0].obj); (grecs_json_val.p) = p; } +#line 1527 "json-gram.c" /* yacc.c:1646 */ break; -/* Line 1792 of yacc.c */ -#line 1678 "json-gram.c" +#line 1531 "json-gram.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter grecs_json_char, and that requires @@ -1697,7 +1550,7 @@ *++grecs_json_vsp = grecs_json_val; *++grecs_json_lsp = grecs_json_loc; - /* Now `shift' the result of the reduction. Determine what state + /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ @@ -1712,9 +1565,9 @@ goto grecs_json_newstate; -/*------------------------------------. -| grecs_json_errlab -- here on detecting error | -`------------------------------------*/ +/*--------------------------------------. +| grecs_json_errlab -- here on detecting error. | +`--------------------------------------*/ grecs_json_errlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ @@ -1765,20 +1618,20 @@ if (grecs_json_errstatus == 3) { /* If just tried and failed to reuse lookahead token after an - error, discard it. */ + error, discard it. */ if (grecs_json_char <= YYEOF) - { - /* Return failure if at end of input. */ - if (grecs_json_char == YYEOF) - YYABORT; - } + { + /* Return failure if at end of input. */ + if (grecs_json_char == YYEOF) + YYABORT; + } else - { - grecs_json_destruct ("Error: discarding", - grecs_json_token, &grecs_json_lval, &grecs_json_lloc); - grecs_json_char = YYEMPTY; - } + { + grecs_json_destruct ("Error: discarding", + grecs_json_token, &grecs_json_lval, &grecs_json_lloc); + grecs_json_char = YYEMPTY; + } } /* Else will try to reuse lookahead token after shifting the error @@ -1798,7 +1651,7 @@ goto grecs_json_errorlab; grecs_json_error_range[1] = grecs_json_lsp[1-grecs_json_len]; - /* Do not reclaim the symbols of the rule which action triggered + /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (grecs_json_len); grecs_json_len = 0; @@ -1811,29 +1664,29 @@ | grecs_json_errlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ grecs_json_errlab1: - grecs_json_errstatus = 3; /* Each real token shifted decrements this. */ + grecs_json_errstatus = 3; /* Each real token shifted decrements this. */ for (;;) { grecs_json_n = grecs_json_pact[grecs_json_state]; if (!grecs_json_pact_value_is_default (grecs_json_n)) - { - grecs_json_n += YYTERROR; - if (0 <= grecs_json_n && grecs_json_n <= YYLAST && grecs_json_check[grecs_json_n] == YYTERROR) - { - grecs_json_n = grecs_json_table[grecs_json_n]; - if (0 < grecs_json_n) - break; - } - } + { + grecs_json_n += YYTERROR; + if (0 <= grecs_json_n && grecs_json_n <= YYLAST && grecs_json_check[grecs_json_n] == YYTERROR) + { + grecs_json_n = grecs_json_table[grecs_json_n]; + if (0 < grecs_json_n) + break; + } + } /* Pop the current state because it cannot handle the error token. */ if (grecs_json_ssp == grecs_json_ss) - YYABORT; + YYABORT; grecs_json_error_range[1] = *grecs_json_lsp; grecs_json_destruct ("Error: popping", - grecs_json_stos[grecs_json_state], grecs_json_vsp, grecs_json_lsp); + grecs_json_stos[grecs_json_state], grecs_json_vsp, grecs_json_lsp); YYPOPSTACK (1); grecs_json_state = *grecs_json_ssp; YY_STACK_PRINT (grecs_json_ss, grecs_json_ssp); @@ -1889,14 +1742,14 @@ grecs_json_destruct ("Cleanup: discarding lookahead", grecs_json_token, &grecs_json_lval, &grecs_json_lloc); } - /* Do not reclaim the symbols of the rule which action triggered + /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (grecs_json_len); YY_STACK_PRINT (grecs_json_ss, grecs_json_ssp); while (grecs_json_ssp != grecs_json_ss) { grecs_json_destruct ("Cleanup: popping", - grecs_json_stos[*grecs_json_ssp], grecs_json_vsp, grecs_json_lsp); + grecs_json_stos[*grecs_json_ssp], grecs_json_vsp, grecs_json_lsp); YYPOPSTACK (1); } #ifndef grecs_json_overflow @@ -1907,13 +1760,9 @@ if (grecs_json_msg != grecs_json_msgbuf) YYSTACK_FREE (grecs_json_msg); #endif - /* Make sure YYID is used. */ - return YYID (grecs_json_result); + return grecs_json_result; } - - -/* Line 2055 of yacc.c */ -#line 182 "json-gram.y" +#line 182 "json-gram.y" /* yacc.c:1906 */ static int diff -Nru dico-2.9/grecs/src/json-lex.c dico-2.10/grecs/src/json-lex.c --- dico-2.9/grecs/src/json-lex.c 2018-09-25 14:15:55.000000000 +0000 +++ dico-2.10/grecs/src/json-lex.c 2020-09-03 04:37:37.000000000 +0000 @@ -22,8 +22,8 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 37 +#define YY_FLEX_MINOR_VERSION 6 +#define YY_FLEX_SUBMINOR_VERSION 0 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -190,7 +190,15 @@ /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -222,6 +230,7 @@ #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) + #define YY_LINENO_REWIND_TO(ptr) /* Return all but the first "n" matched characters back to the input stream. */ #define grecs_json_less(n) \ @@ -425,13 +434,21 @@ int grecs_json_lineno = 1; extern char *grecs_json_text; +#ifdef grecs_json_text_ptr +#undef grecs_json_text_ptr +#endif #define grecs_json_text_ptr grecs_json_text +/* %% [1.5] DFA */ + /* %if-c-only Standard (non-C++) definition */ static grecs_json__state_type grecs_json__get_previous_state (void ); static grecs_json__state_type grecs_json__try_NUL_trans (grecs_json__state_type current_state ); static int grecs_json__get_next_buffer (void ); +#if defined(__GNUC__) && __GNUC__ >= 3 +__attribute__((__noreturn__)) +#endif static void grecs_json__fatal_error (grecs_json_const char msg[] ); /* %endif */ @@ -468,7 +485,7 @@ 0, 8, 9, 0, 0, 1, 10, 6, 3, 0 } ; -static grecs_json_const flex_int32_t grecs_json__ec[256] = +static grecs_json_const YY_CHAR grecs_json__ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -500,14 +517,14 @@ 1, 1, 1, 1, 1 } ; -static grecs_json_const flex_int32_t grecs_json__meta[26] = +static grecs_json_const YY_CHAR grecs_json__meta[26] = { 0, 1, 1, 2, 1, 1, 1, 1, 3, 1, 3, 3, 1, 1, 1, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1 } ; -static grecs_json_const flex_int16_t grecs_json__base[73] = +static grecs_json_const flex_uint16_t grecs_json__base[73] = { 0, 0, 0, 22, 23, 110, 131, 107, 131, 24, 131, 100, 22, 83, 70, 72, 27, 131, 33, 80, 38, @@ -531,7 +548,7 @@ 60, 60 } ; -static grecs_json_const flex_int16_t grecs_json__nxt[157] = +static grecs_json_const flex_uint16_t grecs_json__nxt[157] = { 0, 6, 7, 8, 9, 6, 10, 11, 12, 10, 6, 6, 10, 6, 10, 6, 6, 13, 6, 14, 6, @@ -753,7 +770,7 @@ grecs_txtacc_grow(json_line_acc, text, len); } -#line 757 "json-lex.c" +#line 774 "json-lex.c" #define INITIAL 0 #define STR 1 @@ -800,11 +817,11 @@ FILE *grecs_json_get_in (void ); -void grecs_json_set_in (FILE * in_str ); +void grecs_json_set_in (FILE * _in_str ); FILE *grecs_json_get_out (void ); -void grecs_json_set_out (FILE * out_str ); +void grecs_json_set_out (FILE * _out_str ); grecs_json__size_t grecs_json_get_leng (void ); @@ -812,7 +829,7 @@ int grecs_json_get_lineno (void ); -void grecs_json_set_lineno (int line_number ); +void grecs_json_set_lineno (int _line_number ); /* %if-bison-bridge */ /* %endif */ @@ -831,6 +848,9 @@ /* %not-for-header */ +#ifndef YY_NO_UNPUT + +#endif /* %ok-for-header */ /* %endif */ @@ -863,7 +883,12 @@ /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -976,7 +1001,7 @@ /* Code executed at the end of each rule. */ #ifndef YY_BREAK -#define YY_BREAK break; +#define YY_BREAK /*LINTED*/break; #endif /* %% [6.0] YY_RULE_SETUP definition goes here */ @@ -989,15 +1014,10 @@ */ YY_DECL { - register grecs_json__state_type grecs_json__current_state; - register char *grecs_json__cp, *grecs_json__bp; - register int grecs_json__act; + grecs_json__state_type grecs_json__current_state; + char *grecs_json__cp, *grecs_json__bp; + int grecs_json__act; -/* %% [7.0] user's declarations go here */ -#line 168 "json-lex.l" - -#line 1000 "json-lex.c" - if ( !(grecs_json__init) ) { (grecs_json__init) = 1; @@ -1032,7 +1052,13 @@ grecs_json__load_buffer_state( ); } - while ( 1 ) /* loops until end-of-file is reached */ + { +/* %% [7.0] user's declarations go here */ +#line 168 "json-lex.l" + +#line 1060 "json-lex.c" + + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { /* %% [8.0] grecs_json_more()-related code goes here */ grecs_json__cp = (grecs_json__c_buf_p); @@ -1050,7 +1076,7 @@ grecs_json__match: do { - register YY_CHAR grecs_json__c = grecs_json__ec[YY_SC_TO_UI(*grecs_json__cp)]; + YY_CHAR grecs_json__c = grecs_json__ec[YY_SC_TO_UI(*grecs_json__cp)] ; if ( grecs_json__accept[grecs_json__current_state] ) { (grecs_json__last_accepting_state) = grecs_json__current_state; @@ -1226,7 +1252,7 @@ #line 218 "json-lex.l" ECHO; YY_BREAK -#line 1230 "json-lex.c" +#line 1256 "json-lex.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(STR): grecs_json_terminate(); @@ -1252,7 +1278,11 @@ * back-up) that will match for the new input source. */ (grecs_json__n_chars) = YY_CURRENT_BUFFER_LVALUE->grecs_json__n_chars; +/* %if-c-only */ YY_CURRENT_BUFFER_LVALUE->grecs_json__input_file = grecs_json_in; +/* %endif */ +/* %if-c++-only */ +/* %endif */ YY_CURRENT_BUFFER_LVALUE->grecs_json__buffer_status = YY_BUFFER_NORMAL; } @@ -1359,6 +1389,7 @@ "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ + } /* end of user's declarations */ } /* end of grecs_json_lex */ /* %ok-for-header */ @@ -1382,9 +1413,9 @@ /* %if-c++-only */ /* %endif */ { - register char *dest = YY_CURRENT_BUFFER_LVALUE->grecs_json__ch_buf; - register char *source = (grecs_json_text_ptr); - register int number_to_move, i; + char *dest = YY_CURRENT_BUFFER_LVALUE->grecs_json__ch_buf; + char *source = (grecs_json_text_ptr); + grecs_json__size_t number_to_move, i; int ret_val; if ( (grecs_json__c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->grecs_json__ch_buf[(grecs_json__n_chars) + 1] ) @@ -1413,7 +1444,7 @@ /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) ((grecs_json__c_buf_p) - (grecs_json_text_ptr)) - 1; + number_to_move = (grecs_json__size_t) ((grecs_json__c_buf_p) - (grecs_json_text_ptr)) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -1522,8 +1553,8 @@ /* %if-c++-only */ /* %endif */ { - register grecs_json__state_type grecs_json__current_state; - register char *grecs_json__cp; + grecs_json__state_type grecs_json__current_state; + char *grecs_json__cp; /* %% [15.0] code to get the start state into grecs_json__current_state goes here */ grecs_json__current_state = (grecs_json__start); @@ -1531,7 +1562,7 @@ for ( grecs_json__cp = (grecs_json_text_ptr) + YY_MORE_ADJ; grecs_json__cp < (grecs_json__c_buf_p); ++grecs_json__cp ) { /* %% [16.0] code to find the next state goes here */ - register YY_CHAR grecs_json__c = (*grecs_json__cp ? grecs_json__ec[YY_SC_TO_UI(*grecs_json__cp)] : 1); + YY_CHAR grecs_json__c = (*grecs_json__cp ? grecs_json__ec[YY_SC_TO_UI(*grecs_json__cp)] : 1); if ( grecs_json__accept[grecs_json__current_state] ) { (grecs_json__last_accepting_state) = grecs_json__current_state; @@ -1560,11 +1591,11 @@ /* %if-c++-only */ /* %endif */ { - register int grecs_json__is_jam; + int grecs_json__is_jam; /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */ - register char *grecs_json__cp = (grecs_json__c_buf_p); + char *grecs_json__cp = (grecs_json__c_buf_p); - register YY_CHAR grecs_json__c = 1; + YY_CHAR grecs_json__c = 1; if ( grecs_json__accept[grecs_json__current_state] ) { (grecs_json__last_accepting_state) = grecs_json__current_state; @@ -1582,9 +1613,11 @@ return grecs_json__is_jam ? 0 : grecs_json__current_state; } +#ifndef YY_NO_UNPUT /* %if-c-only */ /* %endif */ +#endif /* %if-c-only */ #ifndef YY_NO_INPUT @@ -1690,6 +1723,9 @@ grecs_json__load_buffer_state( ); } +/* %if-c++-only */ +/* %endif */ + /** Switch to a different input buffer. * @param new_buffer The new input buffer. * @@ -1737,7 +1773,11 @@ { (grecs_json__n_chars) = YY_CURRENT_BUFFER_LVALUE->grecs_json__n_chars; (grecs_json_text_ptr) = (grecs_json__c_buf_p) = YY_CURRENT_BUFFER_LVALUE->grecs_json__buf_pos; +/* %if-c-only */ grecs_json_in = YY_CURRENT_BUFFER_LVALUE->grecs_json__input_file; +/* %endif */ +/* %if-c++-only */ +/* %endif */ (grecs_json__hold_char) = *(grecs_json__c_buf_p); } @@ -1759,7 +1799,7 @@ if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in grecs_json__create_buffer()" ); - b->grecs_json__buf_size = size; + b->grecs_json__buf_size = (grecs_json__size_t)size; /* grecs_json__ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. @@ -1775,6 +1815,9 @@ return b; } +/* %if-c++-only */ +/* %endif */ + /** Destroy the buffer. * @param b a buffer created with grecs_json__create_buffer() * @@ -1813,7 +1856,11 @@ grecs_json__flush_buffer(b ); +/* %if-c-only */ b->grecs_json__input_file = file; +/* %endif */ +/* %if-c++-only */ +/* %endif */ b->grecs_json__fill_buffer = 1; /* If b is the current buffer, then grecs_json__init_buffer was _probably_ @@ -1948,7 +1995,7 @@ * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; + num_to_alloc = 1; // After all that talk, this was set to 1 anyways... (grecs_json__buffer_stack) = (struct grecs_json__buffer_state**)grecs_json_alloc (num_to_alloc * sizeof(struct grecs_json__buffer_state*) ); @@ -1965,7 +2012,7 @@ if ((grecs_json__buffer_stack_top) >= ((grecs_json__buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; + grecs_json__size_t grow_size = 8 /* arbitrary grow size */; num_to_alloc = (grecs_json__buffer_stack_max) + grow_size; (grecs_json__buffer_stack) = (struct grecs_json__buffer_state**)grecs_json_realloc @@ -2048,7 +2095,7 @@ YY_BUFFER_STATE b; char *buf; grecs_json__size_t n; - int i; + grecs_json__size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _grecs_json_bytes_len + 2; @@ -2081,7 +2128,7 @@ /* %if-c-only */ static void grecs_json__fatal_error (grecs_json_const char* msg ) { - (void) fprintf( stderr, "%s\n", msg ); + (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* %endif */ @@ -2157,29 +2204,29 @@ /* %endif */ /** Set the current line number. - * @param line_number + * @param _line_number line number * */ -void grecs_json_set_lineno (int line_number ) +void grecs_json_set_lineno (int _line_number ) { - grecs_json_lineno = line_number; + grecs_json_lineno = _line_number; } /** Set the input stream. This does not discard the current * input buffer. - * @param in_str A readable stream. + * @param _in_str A readable stream. * * @see grecs_json__switch_to_buffer */ -void grecs_json_set_in (FILE * in_str ) +void grecs_json_set_in (FILE * _in_str ) { - grecs_json_in = in_str ; + grecs_json_in = _in_str ; } -void grecs_json_set_out (FILE * out_str ) +void grecs_json_set_out (FILE * _out_str ) { - grecs_json_out = out_str ; + grecs_json_out = _out_str ; } int grecs_json_get_debug (void) @@ -2187,9 +2234,9 @@ return grecs_json__flex_debug; } -void grecs_json_set_debug (int bdebug ) +void grecs_json_set_debug (int _bdebug ) { - grecs_json__flex_debug = bdebug ; + grecs_json__flex_debug = _bdebug ; } /* %endif */ @@ -2262,7 +2309,8 @@ #ifndef grecs_json_text_ptr static void grecs_json__flex_strncpy (char* s1, grecs_json_const char * s2, int n ) { - register int i; + + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } @@ -2271,7 +2319,7 @@ #ifdef YY_NEED_STRLEN static int grecs_json__flex_strlen (grecs_json_const char * s ) { - register int n; + int n; for ( n = 0; s[n]; ++n ) ; @@ -2281,11 +2329,12 @@ void *grecs_json_alloc (grecs_json__size_t size ) { - return (void *) malloc( size ); + return (void *) malloc( size ); } void *grecs_json_realloc (void * ptr, grecs_json__size_t size ) { + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -2298,7 +2347,7 @@ void grecs_json_free (void * ptr ) { - free( (char *) ptr ); /* see grecs_json_realloc() for (char *) cast */ + free( (char *) ptr ); /* see grecs_json_realloc() for (char *) cast */ } /* %if-tables-serialization definitions */ diff -Nru dico-2.9/grecs/src/Make.am dico-2.10/grecs/src/Make.am --- dico-2.9/grecs/src/Make.am 2018-06-03 08:11:12.000000000 +0000 +++ dico-2.10/grecs/src/Make.am 2019-07-23 05:47:38.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of grecs - Gray's Extensible Configuration System -# Copyright (C) 2007-2016 Sergey Poznyakoff +# Copyright (C) 2007-2019 Sergey Poznyakoff # # Grecs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -46,6 +46,7 @@ GRECS_SRC = \ asprintf.c\ + assert.c\ cidr.c\ diag.c\ format.c\ @@ -68,13 +69,15 @@ tree.c\ txtacc.c\ version.c\ - wordsplit.c\ $(GRECS_JSON)\ $(GRECS_PARSER_BIND)\ $(GRECS_PARSER_DHCPD)\ $(GRECS_PARSER_GIT)\ $(GRECS_PARSER_META1) +VPATH += $(top_srcdir)/@GRECS_SUBDIR@/wordsplit +NODIST_GRECS_SRC = wordsplit.c + if GRECS_COND_SOCKADDR_LIST GRECS_SRC += sockaddr.c endif diff -Nru dico-2.9/grecs/src/Make-inst.am dico-2.10/grecs/src/Make-inst.am --- dico-2.9/grecs/src/Make-inst.am 2018-06-03 08:11:12.000000000 +0000 +++ dico-2.10/grecs/src/Make-inst.am 2019-07-23 05:47:38.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of grecs - Gray's Extensible Configuration System -# Copyright (C) 2007-2016 Sergey Poznyakoff +# Copyright (C) 2007-2019 Sergey Poznyakoff # # Grecs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -19,3 +19,5 @@ libgrecs_la_SOURCES = $(GRECS_SRC) m4datadir = $(datadir)/aclocal dist_m4data_DATA = libgrecs.m4 +nodist_libgrecs_la_SOURCES = $(NODIST_GRECS_SRC) + diff -Nru dico-2.9/grecs/src/Make-shared.am dico-2.10/grecs/src/Make-shared.am --- dico-2.9/grecs/src/Make-shared.am 2018-06-03 08:11:12.000000000 +0000 +++ dico-2.10/grecs/src/Make-shared.am 2019-07-23 05:47:38.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of grecs - Gray's Extensible Configuration System -# Copyright (C) 2007-2016 Sergey Poznyakoff +# Copyright (C) 2007-2019 Sergey Poznyakoff # # Grecs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,4 +16,5 @@ include Make.am noinst_LTLIBRARIES=libgrecs.la libgrecs_la_SOURCES = $(GRECS_SRC) +nodist_libgrecs_la_SOURCES = $(NODIST_GRECS_SRC) diff -Nru dico-2.9/grecs/src/Make-shared.in dico-2.10/grecs/src/Make-shared.in --- dico-2.9/grecs/src/Make-shared.in 2019-04-24 06:43:57.000000000 +0000 +++ dico-2.10/grecs/src/Make-shared.in 2020-09-04 04:04:55.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of grecs - Gray's Extensible Configuration System -# Copyright (C) 2007-2016 Sergey Poznyakoff +# Copyright (C) 2007-2019 Sergey Poznyakoff # # Grecs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -31,7 +31,6 @@ # along with Grecs. If not, see . -VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ @@ -118,8 +117,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -151,15 +150,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -204,11 +203,11 @@ CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libgrecs_la_LIBADD = -am__libgrecs_la_SOURCES_DIST = asprintf.c cidr.c diag.c format.c \ - grecs-gram.y grecs-lex.l ipstr.c join.c lineacc.c list.c \ - lookup.c mem.c opthelp.c parser.c parsertab.c path-parser.c \ - preproc.c sort.c symtab.c text.c tree.c txtacc.c version.c \ - wordsplit.c json-gram.y json-lex.l jsonfmt.c bind-gram.y \ +am__libgrecs_la_SOURCES_DIST = asprintf.c assert.c cidr.c diag.c \ + format.c grecs-gram.y grecs-lex.l ipstr.c join.c lineacc.c \ + list.c lookup.c mem.c opthelp.c parser.c parsertab.c \ + path-parser.c preproc.c sort.c symtab.c text.c tree.c txtacc.c \ + version.c json-gram.y json-lex.l jsonfmt.c bind-gram.y \ bind-lex.l dhcpd-gram.y dhcpd-lex.l git-parser.c meta1-gram.y \ meta1-lex.l sockaddr.c @GRECS_COND_JSON_TRUE@am__objects_1 = json-gram.lo json-lex.lo \ @@ -220,15 +219,18 @@ @GRECS_COND_META1_PARSER_TRUE@am__objects_5 = meta1-gram.lo \ @GRECS_COND_META1_PARSER_TRUE@ meta1-lex.lo @GRECS_COND_SOCKADDR_LIST_TRUE@am__objects_6 = sockaddr.lo -am__objects_7 = asprintf.lo cidr.lo diag.lo format.lo grecs-gram.lo \ - grecs-lex.lo ipstr.lo join.lo lineacc.lo list.lo lookup.lo \ - mem.lo opthelp.lo parser.lo parsertab.lo path-parser.lo \ - preproc.lo sort.lo symtab.lo text.lo tree.lo txtacc.lo \ - version.lo wordsplit.lo $(am__objects_1) $(am__objects_2) \ +am__objects_7 = asprintf.lo assert.lo cidr.lo diag.lo format.lo \ + grecs-gram.lo grecs-lex.lo ipstr.lo join.lo lineacc.lo list.lo \ + lookup.lo mem.lo opthelp.lo parser.lo parsertab.lo \ + path-parser.lo preproc.lo sort.lo symtab.lo text.lo tree.lo \ + txtacc.lo version.lo $(am__objects_1) $(am__objects_2) \ $(am__objects_3) $(am__objects_4) $(am__objects_5) \ $(am__objects_6) am_libgrecs_la_OBJECTS = $(am__objects_7) -libgrecs_la_OBJECTS = $(am_libgrecs_la_OBJECTS) +am__objects_8 = wordsplit.lo +nodist_libgrecs_la_OBJECTS = $(am__objects_8) +libgrecs_la_OBJECTS = $(am_libgrecs_la_OBJECTS) \ + $(nodist_libgrecs_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent @@ -282,7 +284,7 @@ am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@) am__v_YACC_0 = @echo " YACC " $@; am__v_YACC_1 = -SOURCES = $(libgrecs_la_SOURCES) +SOURCES = $(libgrecs_la_SOURCES) $(nodist_libgrecs_la_SOURCES) DIST_SOURCES = $(am__libgrecs_la_SOURCES_DIST) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ @@ -342,6 +344,7 @@ bind-gram.c bind-lex.c dhcpd-gram.c dhcpd-lex.c grecs-gram.c \ grecs-lex.c json-gram.c json-lex.c meta1-gram.c meta1-lex.c DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +VPATH = @srcdir@ $(top_srcdir)/@GRECS_SUBDIR@/wordsplit ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ @@ -350,7 +353,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -685,6 +687,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -998,9 +1001,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -1340,12 +1345,13 @@ @GRECS_COND_GIT_PARSER_TRUE@GRECS_PARSER_GIT = git-parser.c @GRECS_COND_JSON_TRUE@GRECS_JSON = json-gram.y json-lex.l jsonfmt.c @GRECS_COND_JSON_TRUE@GRECS_EXTRA_JSON = json-gram.h -GRECS_SRC = asprintf.c cidr.c diag.c format.c grecs-gram.y grecs-lex.l \ - ipstr.c join.c lineacc.c list.c lookup.c mem.c opthelp.c \ - parser.c parsertab.c path-parser.c preproc.c sort.c symtab.c \ - text.c tree.c txtacc.c version.c wordsplit.c $(GRECS_JSON) \ +GRECS_SRC = asprintf.c assert.c cidr.c diag.c format.c grecs-gram.y \ + grecs-lex.l ipstr.c join.c lineacc.c list.c lookup.c mem.c \ + opthelp.c parser.c parsertab.c path-parser.c preproc.c sort.c \ + symtab.c text.c tree.c txtacc.c version.c $(GRECS_JSON) \ $(GRECS_PARSER_BIND) $(GRECS_PARSER_DHCPD) $(GRECS_PARSER_GIT) \ $(GRECS_PARSER_META1) $(am__append_5) +NODIST_GRECS_SRC = wordsplit.c EXTRA_DIST = \ grecs-gram.h\ $(GRECS_EXTRA_BIND)\ @@ -1370,7 +1376,7 @@ YACCCOMPILE = $(top_srcdir)/@GRECS_SUBDIR@/build-aux/yyrename '$(YACC) $(YFLAGS) $(AM_YFLAGS)' # This file is part of grecs - Gray's Extensible Configuration System -# Copyright (C) 2007-2016 Sergey Poznyakoff +# Copyright (C) 2007-2019 Sergey Poznyakoff # # Grecs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -1386,6 +1392,7 @@ # along with Grecs. If not, see . noinst_LTLIBRARIES = libgrecs.la libgrecs_la_SOURCES = $(GRECS_SRC) +nodist_libgrecs_la_SOURCES = $(NODIST_GRECS_SRC) all: all-am .SUFFIXES: @@ -1442,6 +1449,7 @@ -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asprintf.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assert.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bind-gram.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bind-lex.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cidr.Plo@am__quote@ diff -Nru dico-2.9/grecs/src/Make-static.am dico-2.10/grecs/src/Make-static.am --- dico-2.9/grecs/src/Make-static.am 2018-06-03 08:11:12.000000000 +0000 +++ dico-2.10/grecs/src/Make-static.am 2019-07-23 05:47:38.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of grecs - Gray's Extensible Configuration System -# Copyright (C) 2007-2016 Sergey Poznyakoff +# Copyright (C) 2007-2019 Sergey Poznyakoff # # Grecs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,5 +16,6 @@ include Make.am noinst_LIBRARIES=libgrecs.a libgrecs_a_SOURCES = $(GRECS_SRC) +nodist_libgrecs_a_SOURCES = $(NODIST_GRECS_SRC) diff -Nru dico-2.9/grecs/src/meta1-gram.c dico-2.10/grecs/src/meta1-gram.c --- dico-2.9/grecs/src/meta1-gram.c 2018-07-25 13:34:34.000000000 +0000 +++ dico-2.10/grecs/src/meta1-gram.c 2020-09-03 04:37:37.000000000 +0000 @@ -1,19 +1,19 @@ -/* A Bison parser, made by GNU Bison 2.7. */ +/* A Bison parser, made by GNU Bison 3.0.4. */ /* Bison implementation for Yacc-like parsers in C - - Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. - + + Copyright (C) 1984, 1989-1990, 2000-2015 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 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 . */ @@ -26,7 +26,7 @@ special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. - + This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ @@ -44,7 +44,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.7" +#define YYBISON_VERSION "3.0.4" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -62,8 +62,7 @@ /* Copy the first part of user declarations. */ -/* Line 371 of yacc.c */ -#line 1 "meta1-gram.y" +#line 1 "meta1-gram.y" /* yacc.c:339 */ /* MeTA1 configuration parser for Grecs. Copyright (C) 2007-2016 Sergey Poznyakoff @@ -95,14 +94,13 @@ extern int grecs_meta1__flex_debug; extern void grecs_meta1_set_in(FILE *); -/* Line 371 of yacc.c */ -#line 100 "meta1-gram.c" +#line 98 "meta1-gram.c" /* yacc.c:339 */ -# ifndef YY_NULL +# ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULL nullptr +# define YY_NULLPTR nullptr # else -# define YY_NULL 0 +# define YY_NULLPTR 0 # endif # endif @@ -118,7 +116,7 @@ by #include "y.tab.h". */ #ifndef YY_YY_META_GRAM_H_INCLUDED # define YY_YY_META_GRAM_H_INCLUDED -/* Enabling traces. */ +/* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 1 #endif @@ -126,27 +124,25 @@ extern int grecs_meta1_debug; #endif -/* Tokens. */ +/* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum grecs_meta1_tokentype { - META1_STRING = 258, - META1_IDENT = 259 - }; + enum grecs_meta1_tokentype + { + META1_STRING = 258, + META1_IDENT = 259 + }; #endif /* Tokens. */ #define META1_STRING 258 #define META1_IDENT 259 - - +/* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE + +union YYSTYPE { -/* Line 387 of yacc.c */ -#line 36 "meta1-gram.y" +#line 36 "meta1-gram.y" /* yacc.c:355 */ char *string; grecs_value_t svalue, *pvalue; @@ -154,50 +150,38 @@ struct { struct grecs_node *head, *tail; } node_list; struct grecs_node *node; +#line 154 "meta1-gram.c" /* yacc.c:355 */ +}; -/* Line 387 of yacc.c */ -#line 160 "meta1-gram.c" -} YYSTYPE; +typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 -# define grecs_meta1_stype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif +/* Location type. */ #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED -typedef struct YYLTYPE +typedef struct YYLTYPE YYLTYPE; +struct YYLTYPE { int first_line; int first_column; int last_line; int last_column; -} YYLTYPE; -# define grecs_meta1_ltype YYLTYPE /* obsolescent; will be withdrawn */ +}; # define YYLTYPE_IS_DECLARED 1 # define YYLTYPE_IS_TRIVIAL 1 #endif + extern YYSTYPE grecs_meta1_lval; extern YYLTYPE grecs_meta1_lloc; -#ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int grecs_meta1_parse (void *YYPARSE_PARAM); -#else -int grecs_meta1_parse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus int grecs_meta1_parse (void); -#else -int grecs_meta1_parse (); -#endif -#endif /* ! YYPARSE_PARAM */ #endif /* !YY_YY_META_GRAM_H_INCLUDED */ /* Copy the second part of user declarations. */ -/* Line 390 of yacc.c */ -#line 201 "meta1-gram.c" +#line 185 "meta1-gram.c" /* yacc.c:358 */ #ifdef short # undef short @@ -211,11 +195,8 @@ #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 grecs_meta1_type_int8; -#elif (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -typedef signed char grecs_meta1_type_int8; #else -typedef short int grecs_meta1_type_int8; +typedef signed char grecs_meta1_type_int8; #endif #ifdef YYTYPE_UINT16 @@ -235,8 +216,7 @@ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t -# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# elif ! defined YYSIZE_T # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else @@ -258,6 +238,33 @@ # endif #endif +#ifndef YY_ATTRIBUTE +# if (defined __GNUC__ \ + && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ + || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C +# define YY_ATTRIBUTE(Spec) __attribute__(Spec) +# else +# define YY_ATTRIBUTE(Spec) /* empty */ +# endif +#endif + +#ifndef YY_ATTRIBUTE_PURE +# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) +#endif + +#ifndef YY_ATTRIBUTE_UNUSED +# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) +#endif + +#if !defined _Noreturn \ + && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) +# if defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) +# endif +#endif + /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) @@ -265,23 +272,25 @@ # define YYUSE(E) /* empty */ #endif -/* Identity function, used to suppress warnings about constant conditions. */ -#ifndef lint -# define YYID(N) (N) +#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +/* Suppress an incorrect diagnostic about grecs_meta1_lval being uninitialized. */ +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ + _Pragma ("GCC diagnostic pop") #else -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static int -YYID (int grecs_meta1_i) -#else -static int -YYID (grecs_meta1_i) - int grecs_meta1_i; +# define YY_INITIAL_VALUE(Value) Value #endif -{ - return grecs_meta1_i; -} +#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_END #endif +#ifndef YY_INITIAL_VALUE +# define YY_INITIAL_VALUE(Value) /* Nothing. */ +#endif + #if ! defined grecs_meta1_overflow || YYERROR_VERBOSE @@ -300,8 +309,7 @@ # define alloca _alloca # else # define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ # ifndef EXIT_SUCCESS @@ -313,8 +321,8 @@ # endif # ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) + /* Pacify GCC's 'empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely @@ -330,7 +338,7 @@ # endif # if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) + && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 @@ -338,15 +346,13 @@ # endif # ifndef YYMALLOC # define YYMALLOC malloc -# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free -# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif @@ -356,8 +362,8 @@ #if (! defined grecs_meta1_overflow \ && (! defined __cplusplus \ - || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \ - && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \ + && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union grecs_meta1_alloc @@ -383,16 +389,16 @@ elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ -# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ - do \ - { \ - YYSIZE_T grecs_meta1_newbytes; \ - YYCOPY (&grecs_meta1_ptr->Stack_alloc, Stack, grecs_meta1_size); \ - Stack = &grecs_meta1_ptr->Stack_alloc; \ - grecs_meta1_newbytes = grecs_meta1_stacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - grecs_meta1_ptr += grecs_meta1_newbytes / sizeof (*grecs_meta1_ptr); \ - } \ - while (YYID (0)) +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ + do \ + { \ + YYSIZE_T grecs_meta1_newbytes; \ + YYCOPY (&grecs_meta1_ptr->Stack_alloc, Stack, grecs_meta1_size); \ + Stack = &grecs_meta1_ptr->Stack_alloc; \ + grecs_meta1_newbytes = grecs_meta1_stacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + grecs_meta1_ptr += grecs_meta1_newbytes / sizeof (*grecs_meta1_ptr); \ + } \ + while (0) #endif @@ -411,7 +417,7 @@ for (grecs_meta1_i = 0; grecs_meta1_i < (Count); grecs_meta1_i++) \ (Dst)[grecs_meta1_i] = (Src)[grecs_meta1_i]; \ } \ - while (YYID (0)) + while (0) # endif # endif #endif /* !YYCOPY_NEEDED */ @@ -427,17 +433,19 @@ #define YYNNTS 15 /* YYNRULES -- Number of rules. */ #define YYNRULES 25 -/* YYNRULES -- Number of states. */ +/* YYNSTATES -- Number of states. */ #define YYNSTATES 34 -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned + by grecs_meta1_lex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 259 -#define YYTRANSLATE(YYX) \ +#define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? grecs_meta1_translate[YYX] : YYUNDEFTOK) -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ +/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM + as returned by grecs_meta1_lex, without out-of-bounds checking. */ static const grecs_meta1_type_uint8 grecs_meta1_translate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -469,28 +477,7 @@ }; #if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const grecs_meta1_type_uint8 grecs_meta1_prhs[] = -{ - 0, 0, 3, 5, 6, 8, 10, 13, 15, 17, - 22, 29, 30, 32, 34, 36, 38, 40, 42, 44, - 47, 51, 56, 58, 62, 63 -}; - -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const grecs_meta1_type_int8 grecs_meta1_rhs[] = -{ - 11, 0, -1, 12, -1, -1, 13, -1, 14, -1, - 13, 14, -1, 15, -1, 16, -1, 4, 5, 18, - 24, -1, 4, 17, 6, 13, 7, 24, -1, -1, - 4, -1, 19, -1, 22, -1, 4, -1, 20, -1, - 21, -1, 3, -1, 21, 3, -1, 6, 23, 7, - -1, 6, 23, 8, 7, -1, 18, -1, 23, 8, - 18, -1, -1, 9, -1 -}; - -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ + /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const grecs_meta1_type_uint8 grecs_meta1_rline[] = { 0, 53, 53, 63, 66, 72, 76, 82, 83, 86, @@ -507,56 +494,31 @@ "$end", "error", "$undefined", "META1_STRING", "META1_IDENT", "'='", "'{'", "'}'", "','", "';'", "$accept", "input", "maybe_stmtlist", "stmtlist", "stmt", "simple", "block", "tag", "value", "string", "slist", - "slist0", "list", "values", "opt_sc", YY_NULL + "slist0", "list", "values", "opt_sc", YY_NULLPTR }; #endif # ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to - token YYLEX-NUM. */ +/* YYTOKNUM[NUM] -- (External) token number corresponding to the + (internal) symbol number NUM (which must be that of a token). */ static const grecs_meta1_type_uint16 grecs_meta1_toknum[] = { 0, 256, 257, 258, 259, 61, 123, 125, 44, 59 }; # endif -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const grecs_meta1_type_uint8 grecs_meta1_r1[] = -{ - 0, 10, 11, 12, 12, 13, 13, 14, 14, 15, - 16, 17, 17, 18, 18, 19, 19, 20, 21, 21, - 22, 22, 23, 23, 24, 24 -}; +#define YYPACT_NINF -15 -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const grecs_meta1_type_uint8 grecs_meta1_r2[] = -{ - 0, 2, 1, 0, 1, 1, 2, 1, 1, 4, - 6, 0, 1, 1, 1, 1, 1, 1, 1, 2, - 3, 4, 1, 3, 0, 1 -}; +#define grecs_meta1_pact_value_is_default(Yystate) \ + (!!((Yystate) == (-15))) -/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. - Performed when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ -static const grecs_meta1_type_uint8 grecs_meta1_defact[] = -{ - 3, 11, 0, 2, 4, 5, 7, 8, 12, 0, - 0, 1, 6, 18, 15, 0, 24, 13, 16, 17, - 14, 0, 22, 0, 25, 9, 19, 0, 20, 0, - 24, 21, 23, 10 -}; +#define YYTABLE_NINF -1 -/* YYDEFGOTO[NTERM-NUM]. */ -static const grecs_meta1_type_int8 grecs_meta1_defgoto[] = -{ - -1, 2, 3, 4, 5, 6, 7, 10, 16, 17, - 18, 19, 20, 23, 25 -}; +#define grecs_meta1_table_value_is_error(Yytable_value) \ + 0 -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -#define YYPACT_NINF -15 + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ static const grecs_meta1_type_int8 grecs_meta1_pact[] = { 0, 9, 11, -15, 0, -15, -15, -15, -15, 4, @@ -565,17 +527,34 @@ 7, -15, -15, -15 }; -/* YYPGOTO[NTERM-NUM]. */ + /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ +static const grecs_meta1_type_uint8 grecs_meta1_defact[] = +{ + 3, 11, 0, 2, 4, 5, 7, 8, 12, 0, + 0, 1, 6, 18, 15, 0, 24, 13, 16, 17, + 14, 0, 22, 0, 25, 9, 19, 0, 20, 0, + 24, 21, 23, 10 +}; + + /* YYPGOTO[NTERM-NUM]. */ static const grecs_meta1_type_int8 grecs_meta1_pgoto[] = { -15, -15, -15, 1, -4, -15, -15, -15, -14, -15, -15, -15, -15, -15, -9 }; -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -1 + /* YYDEFGOTO[NTERM-NUM]. */ +static const grecs_meta1_type_int8 grecs_meta1_defgoto[] = +{ + -1, 2, 3, 4, 5, 6, 7, 10, 16, 17, + 18, 19, 20, 23, 25 +}; + + /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ static const grecs_meta1_type_uint8 grecs_meta1_table[] = { 12, 22, 13, 14, 1, 15, 31, 13, 14, 1, @@ -583,12 +562,6 @@ 26, 33, 27, 12 }; -#define grecs_meta1_pact_value_is_default(Yystate) \ - (!!((Yystate) == (-15))) - -#define grecs_meta1_table_value_is_error(Yytable_value) \ - YYID (0) - static const grecs_meta1_type_uint8 grecs_meta1_check[] = { 4, 15, 3, 4, 4, 6, 7, 3, 4, 4, @@ -596,8 +569,8 @@ 3, 30, 21, 27 }; -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ static const grecs_meta1_type_uint8 grecs_meta1_stos[] = { 0, 4, 11, 12, 13, 14, 15, 16, 4, 5, @@ -606,30 +579,32 @@ 7, 7, 18, 24 }; -#define grecs_meta1_errok (grecs_meta1_errstatus = 0) -#define grecs_meta1_clearin (grecs_meta1_char = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 - -#define YYACCEPT goto grecs_meta1_acceptlab -#define YYABORT goto grecs_meta1_abortlab -#define YYERROR goto grecs_meta1_errorlab - - -/* Like YYERROR except do call grecs_meta1_error. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. However, - YYFAIL appears to be in use. Nevertheless, it is formally deprecated - in Bison 2.4.2's NEWS entry, where a plan to phase it out is - discussed. */ - -#define YYFAIL goto grecs_meta1_errlab -#if defined YYFAIL - /* This is here to suppress warnings from the GCC cpp's - -Wunused-macros. Normally we don't worry about that warning, but - some users do, and we want to make it easy for users to remove - YYFAIL uses, which will produce warnings from Bison 2.5. */ -#endif + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const grecs_meta1_type_uint8 grecs_meta1_r1[] = +{ + 0, 10, 11, 12, 12, 13, 13, 14, 14, 15, + 16, 17, 17, 18, 18, 19, 19, 20, 21, 21, + 22, 22, 23, 23, 24, 24 +}; + + /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +static const grecs_meta1_type_uint8 grecs_meta1_r2[] = +{ + 0, 2, 1, 0, 1, 1, 2, 1, 1, 4, + 6, 0, 1, 1, 1, 1, 1, 1, 1, 2, + 3, 4, 1, 3, 0, 1 +}; + + +#define grecs_meta1_errok (grecs_meta1_errstatus = 0) +#define grecs_meta1_clearin (grecs_meta1_char = YYEMPTY) +#define YYEMPTY (-2) +#define YYEOF 0 + +#define YYACCEPT goto grecs_meta1_acceptlab +#define YYABORT goto grecs_meta1_abortlab +#define YYERROR goto grecs_meta1_errorlab + #define YYRECOVERING() (!!grecs_meta1_errstatus) @@ -646,13 +621,13 @@ else \ { \ grecs_meta1_error (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (YYID (0)) + YYERROR; \ + } \ +while (0) /* Error token number */ -#define YYTERROR 1 -#define YYERRCODE 256 +#define YYTERROR 1 +#define YYERRCODE 256 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. @@ -662,7 +637,7 @@ #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ - if (YYID (N)) \ + if (N) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ @@ -676,12 +651,27 @@ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ - while (YYID (0)) + while (0) #endif #define YYRHSLOC(Rhs, K) ((Rhs)[K]) +/* Enable debugging if requested. */ +#if YYDEBUG + +# ifndef YYFPRINTF +# include /* INFRINGES ON USER NAME SPACE */ +# define YYFPRINTF fprintf +# endif + +# define YYDPRINTF(Args) \ +do { \ + if (grecs_meta1_debug) \ + YYFPRINTF Args; \ +} while (0) + + /* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */ @@ -691,36 +681,28 @@ /* Print *YYLOCP on YYO. Private, do not rely on its existence. */ -__attribute__((__unused__)) -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +YY_ATTRIBUTE_UNUSED static unsigned grecs_meta1__location_print_ (FILE *grecs_meta1_o, YYLTYPE const * const grecs_meta1_locp) -#else -static unsigned -grecs_meta1__location_print_ (grecs_meta1_o, grecs_meta1_locp) - FILE *grecs_meta1_o; - YYLTYPE const * const grecs_meta1_locp; -#endif { unsigned res = 0; int end_col = 0 != grecs_meta1_locp->last_column ? grecs_meta1_locp->last_column - 1 : 0; if (0 <= grecs_meta1_locp->first_line) { - res += fprintf (grecs_meta1_o, "%d", grecs_meta1_locp->first_line); + res += YYFPRINTF (grecs_meta1_o, "%d", grecs_meta1_locp->first_line); if (0 <= grecs_meta1_locp->first_column) - res += fprintf (grecs_meta1_o, ".%d", grecs_meta1_locp->first_column); + res += YYFPRINTF (grecs_meta1_o, ".%d", grecs_meta1_locp->first_column); } if (0 <= grecs_meta1_locp->last_line) { if (grecs_meta1_locp->first_line < grecs_meta1_locp->last_line) { - res += fprintf (grecs_meta1_o, "-%d", grecs_meta1_locp->last_line); + res += YYFPRINTF (grecs_meta1_o, "-%d", grecs_meta1_locp->last_line); if (0 <= end_col) - res += fprintf (grecs_meta1_o, ".%d", end_col); + res += YYFPRINTF (grecs_meta1_o, ".%d", end_col); } else if (0 <= end_col && grecs_meta1_locp->first_column < end_col) - res += fprintf (grecs_meta1_o, "-%d", end_col); + res += YYFPRINTF (grecs_meta1_o, "-%d", end_col); } return res; } @@ -734,73 +716,35 @@ #endif -/* YYLEX -- calling `grecs_meta1_lex' with the right arguments. */ -#ifdef YYLEX_PARAM -# define YYLEX grecs_meta1_lex (YYLEX_PARAM) -#else -# define YYLEX grecs_meta1_lex () -#endif - -/* Enable debugging if requested. */ -#if YYDEBUG - -# ifndef YYFPRINTF -# include /* INFRINGES ON USER NAME SPACE */ -# define YYFPRINTF fprintf -# endif - -# define YYDPRINTF(Args) \ -do { \ - if (grecs_meta1_debug) \ - YYFPRINTF Args; \ -} while (YYID (0)) - -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (grecs_meta1_debug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - grecs_meta1__symbol_print (stderr, \ - Type, Value, Location); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (YYID (0)) +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +do { \ + if (grecs_meta1_debug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + grecs_meta1__symbol_print (stderr, \ + Type, Value, Location); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +/*----------------------------------------. +| Print this symbol's value on YYOUTPUT. | +`----------------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void grecs_meta1__symbol_value_print (FILE *grecs_meta1_output, int grecs_meta1_type, YYSTYPE const * const grecs_meta1_valuep, YYLTYPE const * const grecs_meta1_locationp) -#else -static void -grecs_meta1__symbol_value_print (grecs_meta1_output, grecs_meta1_type, grecs_meta1_valuep, grecs_meta1_locationp) - FILE *grecs_meta1_output; - int grecs_meta1_type; - YYSTYPE const * const grecs_meta1_valuep; - YYLTYPE const * const grecs_meta1_locationp; -#endif { FILE *grecs_meta1_o = grecs_meta1_output; YYUSE (grecs_meta1_o); + YYUSE (grecs_meta1_locationp); if (!grecs_meta1_valuep) return; - YYUSE (grecs_meta1_locationp); # ifdef YYPRINT if (grecs_meta1_type < YYNTOKENS) YYPRINT (grecs_meta1_output, grecs_meta1_toknum[grecs_meta1_type], *grecs_meta1_valuep); -# else - YYUSE (grecs_meta1_output); # endif - switch (grecs_meta1_type) - { - default: - break; - } + YYUSE (grecs_meta1_type); } @@ -808,23 +752,11 @@ | Print this symbol on YYOUTPUT. | `--------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void grecs_meta1__symbol_print (FILE *grecs_meta1_output, int grecs_meta1_type, YYSTYPE const * const grecs_meta1_valuep, YYLTYPE const * const grecs_meta1_locationp) -#else -static void -grecs_meta1__symbol_print (grecs_meta1_output, grecs_meta1_type, grecs_meta1_valuep, grecs_meta1_locationp) - FILE *grecs_meta1_output; - int grecs_meta1_type; - YYSTYPE const * const grecs_meta1_valuep; - YYLTYPE const * const grecs_meta1_locationp; -#endif { - if (grecs_meta1_type < YYNTOKENS) - YYFPRINTF (grecs_meta1_output, "token %s (", grecs_meta1_tname[grecs_meta1_type]); - else - YYFPRINTF (grecs_meta1_output, "nterm %s (", grecs_meta1_tname[grecs_meta1_type]); + YYFPRINTF (grecs_meta1_output, "%s %s (", + grecs_meta1_type < YYNTOKENS ? "token" : "nterm", grecs_meta1_tname[grecs_meta1_type]); YY_LOCATION_PRINT (grecs_meta1_output, *grecs_meta1_locationp); YYFPRINTF (grecs_meta1_output, ": "); @@ -837,16 +769,8 @@ | TOP (included). | `------------------------------------------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void grecs_meta1__stack_print (grecs_meta1_type_int16 *grecs_meta1_bottom, grecs_meta1_type_int16 *grecs_meta1_top) -#else -static void -grecs_meta1__stack_print (grecs_meta1_bottom, grecs_meta1_top) - grecs_meta1_type_int16 *grecs_meta1_bottom; - grecs_meta1_type_int16 *grecs_meta1_top; -#endif { YYFPRINTF (stderr, "Stack now"); for (; grecs_meta1_bottom <= grecs_meta1_top; grecs_meta1_bottom++) @@ -857,50 +781,42 @@ YYFPRINTF (stderr, "\n"); } -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (grecs_meta1_debug) \ - grecs_meta1__stack_print ((Bottom), (Top)); \ -} while (YYID (0)) +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (grecs_meta1_debug) \ + grecs_meta1__stack_print ((Bottom), (Top)); \ +} while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -grecs_meta1__reduce_print (YYSTYPE *grecs_meta1_vsp, YYLTYPE *grecs_meta1_lsp, int grecs_meta1_rule) -#else static void -grecs_meta1__reduce_print (grecs_meta1_vsp, grecs_meta1_lsp, grecs_meta1_rule) - YYSTYPE *grecs_meta1_vsp; - YYLTYPE *grecs_meta1_lsp; - int grecs_meta1_rule; -#endif +grecs_meta1__reduce_print (grecs_meta1_type_int16 *grecs_meta1_ssp, YYSTYPE *grecs_meta1_vsp, YYLTYPE *grecs_meta1_lsp, int grecs_meta1_rule) { + unsigned long int grecs_meta1_lno = grecs_meta1_rline[grecs_meta1_rule]; int grecs_meta1_nrhs = grecs_meta1_r2[grecs_meta1_rule]; int grecs_meta1_i; - unsigned long int grecs_meta1_lno = grecs_meta1_rline[grecs_meta1_rule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", - grecs_meta1_rule - 1, grecs_meta1_lno); + grecs_meta1_rule - 1, grecs_meta1_lno); /* The symbols being reduced. */ for (grecs_meta1_i = 0; grecs_meta1_i < grecs_meta1_nrhs; grecs_meta1_i++) { YYFPRINTF (stderr, " $%d = ", grecs_meta1_i + 1); - grecs_meta1__symbol_print (stderr, grecs_meta1_rhs[grecs_meta1_prhs[grecs_meta1_rule] + grecs_meta1_i], - &(grecs_meta1_vsp[(grecs_meta1_i + 1) - (grecs_meta1_nrhs)]) - , &(grecs_meta1_lsp[(grecs_meta1_i + 1) - (grecs_meta1_nrhs)]) ); + grecs_meta1__symbol_print (stderr, + grecs_meta1_stos[grecs_meta1_ssp[grecs_meta1_i + 1 - grecs_meta1_nrhs]], + &(grecs_meta1_vsp[(grecs_meta1_i + 1) - (grecs_meta1_nrhs)]) + , &(grecs_meta1_lsp[(grecs_meta1_i + 1) - (grecs_meta1_nrhs)]) ); YYFPRINTF (stderr, "\n"); } } -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (grecs_meta1_debug) \ - grecs_meta1__reduce_print (grecs_meta1_vsp, grecs_meta1_lsp, Rule); \ -} while (YYID (0)) +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (grecs_meta1_debug) \ + grecs_meta1__reduce_print (grecs_meta1_ssp, grecs_meta1_vsp, grecs_meta1_lsp, Rule); \ +} while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ @@ -914,7 +830,7 @@ /* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH +#ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif @@ -937,15 +853,8 @@ # define grecs_meta1_strlen strlen # else /* Return the length of YYSTR. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static YYSIZE_T grecs_meta1_strlen (const char *grecs_meta1_str) -#else -static YYSIZE_T -grecs_meta1_strlen (grecs_meta1_str) - const char *grecs_meta1_str; -#endif { YYSIZE_T grecs_meta1_len; for (grecs_meta1_len = 0; grecs_meta1_str[grecs_meta1_len]; grecs_meta1_len++) @@ -961,16 +870,8 @@ # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static char * grecs_meta1_stpcpy (char *grecs_meta1_dest, const char *grecs_meta1_src) -#else -static char * -grecs_meta1_stpcpy (grecs_meta1_dest, grecs_meta1_src) - char *grecs_meta1_dest; - const char *grecs_meta1_src; -#endif { char *grecs_meta1_d = grecs_meta1_dest; const char *grecs_meta1_s = grecs_meta1_src; @@ -1000,27 +901,27 @@ char const *grecs_meta1_p = grecs_meta1_str; for (;;) - switch (*++grecs_meta1_p) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++grecs_meta1_p != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (grecs_meta1_res) - grecs_meta1_res[grecs_meta1_n] = *grecs_meta1_p; - grecs_meta1_n++; - break; - - case '"': - if (grecs_meta1_res) - grecs_meta1_res[grecs_meta1_n] = '\0'; - return grecs_meta1_n; - } + switch (*++grecs_meta1_p) + { + case '\'': + case ',': + goto do_not_strip_quotes; + + case '\\': + if (*++grecs_meta1_p != '\\') + goto do_not_strip_quotes; + /* Fall through. */ + default: + if (grecs_meta1_res) + grecs_meta1_res[grecs_meta1_n] = *grecs_meta1_p; + grecs_meta1_n++; + break; + + case '"': + if (grecs_meta1_res) + grecs_meta1_res[grecs_meta1_n] = '\0'; + return grecs_meta1_n; + } do_not_strip_quotes: ; } @@ -1043,11 +944,11 @@ grecs_meta1_syntax_error (YYSIZE_T *grecs_meta1_msg_alloc, char **grecs_meta1_msg, grecs_meta1_type_int16 *grecs_meta1_ssp, int grecs_meta1_token) { - YYSIZE_T grecs_meta1_size0 = grecs_meta1_tnamerr (YY_NULL, grecs_meta1_tname[grecs_meta1_token]); + YYSIZE_T grecs_meta1_size0 = grecs_meta1_tnamerr (YY_NULLPTR, grecs_meta1_tname[grecs_meta1_token]); YYSIZE_T grecs_meta1_size = grecs_meta1_size0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ - const char *grecs_meta1_format = YY_NULL; + const char *grecs_meta1_format = YY_NULLPTR; /* Arguments of grecs_meta1_format. */ char const *grecs_meta1_arg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per @@ -1055,10 +956,6 @@ int grecs_meta1_count = 0; /* There are many possibilities here to consider: - - Assume YYFAIL is not used. It's too flawed to consider. See - - for details. YYERROR is fine as it does not invoke this - function. - If this state is a consistent state with a default action, then the only way this function was invoked is if the default action is an error action. In that case, don't check for expected @@ -1108,7 +1005,7 @@ } grecs_meta1_arg[grecs_meta1_count++] = grecs_meta1_tname[grecs_meta1_x]; { - YYSIZE_T grecs_meta1_size1 = grecs_meta1_size + grecs_meta1_tnamerr (YY_NULL, grecs_meta1_tname[grecs_meta1_x]); + YYSIZE_T grecs_meta1_size1 = grecs_meta1_size + grecs_meta1_tnamerr (YY_NULLPTR, grecs_meta1_tname[grecs_meta1_x]); if (! (grecs_meta1_size <= grecs_meta1_size1 && grecs_meta1_size1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; @@ -1175,33 +1072,18 @@ | Release the memory associated to this symbol. | `-----------------------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void grecs_meta1_destruct (const char *grecs_meta1_msg, int grecs_meta1_type, YYSTYPE *grecs_meta1_valuep, YYLTYPE *grecs_meta1_locationp) -#else -static void -grecs_meta1_destruct (grecs_meta1_msg, grecs_meta1_type, grecs_meta1_valuep, grecs_meta1_locationp) - const char *grecs_meta1_msg; - int grecs_meta1_type; - YYSTYPE *grecs_meta1_valuep; - YYLTYPE *grecs_meta1_locationp; -#endif { YYUSE (grecs_meta1_valuep); YYUSE (grecs_meta1_locationp); - if (!grecs_meta1_msg) grecs_meta1_msg = "Deleting"; YY_SYMBOL_PRINT (grecs_meta1_msg, grecs_meta1_type, grecs_meta1_valuep, grecs_meta1_locationp); - switch (grecs_meta1_type) - { - - default: - break; - } + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + YYUSE (grecs_meta1_type); + YY_IGNORE_MAYBE_UNINITIALIZED_END } @@ -1210,26 +1092,14 @@ /* The lookahead symbol. */ int grecs_meta1_char; - -#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -# define YY_IGNORE_MAYBE_UNINITIALIZED_END -#endif -#ifndef YY_INITIAL_VALUE -# define YY_INITIAL_VALUE(Value) /* Nothing. */ -#endif - /* The semantic value of the lookahead symbol. */ -YYSTYPE grecs_meta1_lval YY_INITIAL_VALUE(grecs_meta1_val_default); - +YYSTYPE grecs_meta1_lval; /* Location data for the lookahead symbol. */ YYLTYPE grecs_meta1_lloc # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL = { 1, 1, 1, 1 } # endif ; - - /* Number of syntax errors so far. */ int grecs_meta1_nerrs; @@ -1238,36 +1108,17 @@ | grecs_meta1_parse. | `----------*/ -#ifdef YYPARSE_PARAM -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -grecs_meta1_parse (void *YYPARSE_PARAM) -#else -int -grecs_meta1_parse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -#endif -#else /* ! YYPARSE_PARAM */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) int grecs_meta1_parse (void) -#else -int -grecs_meta1_parse () - -#endif -#endif { int grecs_meta1_state; /* Number of tokens to shift before error messages enabled. */ int grecs_meta1_errstatus; /* The stacks and their tools: - `grecs_meta1_ss': related to states. - `grecs_meta1_vs': related to semantic values. - `grecs_meta1_ls': related to locations. + 'grecs_meta1_ss': related to states. + 'grecs_meta1_vs': related to semantic values. + 'grecs_meta1_ls': related to locations. Refer to the stacks through separate pointers, to allow grecs_meta1_overflow to reallocate them elsewhere. */ @@ -1346,26 +1197,26 @@ #ifdef grecs_meta1_overflow { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *grecs_meta1_vs1 = grecs_meta1_vs; - grecs_meta1_type_int16 *grecs_meta1_ss1 = grecs_meta1_ss; - YYLTYPE *grecs_meta1_ls1 = grecs_meta1_ls; - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if grecs_meta1_overflow is a macro. */ - grecs_meta1_overflow (YY_("memory exhausted"), - &grecs_meta1_ss1, grecs_meta1_size * sizeof (*grecs_meta1_ssp), - &grecs_meta1_vs1, grecs_meta1_size * sizeof (*grecs_meta1_vsp), - &grecs_meta1_ls1, grecs_meta1_size * sizeof (*grecs_meta1_lsp), - &grecs_meta1_stacksize); - - grecs_meta1_ls = grecs_meta1_ls1; - grecs_meta1_ss = grecs_meta1_ss1; - grecs_meta1_vs = grecs_meta1_vs1; + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *grecs_meta1_vs1 = grecs_meta1_vs; + grecs_meta1_type_int16 *grecs_meta1_ss1 = grecs_meta1_ss; + YYLTYPE *grecs_meta1_ls1 = grecs_meta1_ls; + + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if grecs_meta1_overflow is a macro. */ + grecs_meta1_overflow (YY_("memory exhausted"), + &grecs_meta1_ss1, grecs_meta1_size * sizeof (*grecs_meta1_ssp), + &grecs_meta1_vs1, grecs_meta1_size * sizeof (*grecs_meta1_vsp), + &grecs_meta1_ls1, grecs_meta1_size * sizeof (*grecs_meta1_lsp), + &grecs_meta1_stacksize); + + grecs_meta1_ls = grecs_meta1_ls1; + grecs_meta1_ss = grecs_meta1_ss1; + grecs_meta1_vs = grecs_meta1_vs1; } #else /* no grecs_meta1_overflow */ # ifndef YYSTACK_RELOCATE @@ -1373,23 +1224,23 @@ # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= grecs_meta1_stacksize) - goto grecs_meta1_exhaustedlab; + goto grecs_meta1_exhaustedlab; grecs_meta1_stacksize *= 2; if (YYMAXDEPTH < grecs_meta1_stacksize) - grecs_meta1_stacksize = YYMAXDEPTH; + grecs_meta1_stacksize = YYMAXDEPTH; { - grecs_meta1_type_int16 *grecs_meta1_ss1 = grecs_meta1_ss; - union grecs_meta1_alloc *grecs_meta1_ptr = - (union grecs_meta1_alloc *) YYSTACK_ALLOC (YYSTACK_BYTES (grecs_meta1_stacksize)); - if (! grecs_meta1_ptr) - goto grecs_meta1_exhaustedlab; - YYSTACK_RELOCATE (grecs_meta1_ss_alloc, grecs_meta1_ss); - YYSTACK_RELOCATE (grecs_meta1_vs_alloc, grecs_meta1_vs); - YYSTACK_RELOCATE (grecs_meta1_ls_alloc, grecs_meta1_ls); + grecs_meta1_type_int16 *grecs_meta1_ss1 = grecs_meta1_ss; + union grecs_meta1_alloc *grecs_meta1_ptr = + (union grecs_meta1_alloc *) YYSTACK_ALLOC (YYSTACK_BYTES (grecs_meta1_stacksize)); + if (! grecs_meta1_ptr) + goto grecs_meta1_exhaustedlab; + YYSTACK_RELOCATE (grecs_meta1_ss_alloc, grecs_meta1_ss); + YYSTACK_RELOCATE (grecs_meta1_vs_alloc, grecs_meta1_vs); + YYSTACK_RELOCATE (grecs_meta1_ls_alloc, grecs_meta1_ls); # undef YYSTACK_RELOCATE - if (grecs_meta1_ss1 != grecs_meta1_ssa) - YYSTACK_FREE (grecs_meta1_ss1); + if (grecs_meta1_ss1 != grecs_meta1_ssa) + YYSTACK_FREE (grecs_meta1_ss1); } # endif #endif /* no grecs_meta1_overflow */ @@ -1399,10 +1250,10 @@ grecs_meta1_lsp = grecs_meta1_ls + grecs_meta1_size - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) grecs_meta1_stacksize)); + (unsigned long int) grecs_meta1_stacksize)); if (grecs_meta1_ss + grecs_meta1_stacksize - 1 <= grecs_meta1_ssp) - YYABORT; + YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", grecs_meta1_state)); @@ -1431,7 +1282,7 @@ if (grecs_meta1_char == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); - grecs_meta1_char = YYLEX; + grecs_meta1_char = grecs_meta1_lex (); } if (grecs_meta1_char <= YYEOF) @@ -1496,7 +1347,7 @@ grecs_meta1_len = grecs_meta1_r2[grecs_meta1_n]; /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. + '$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison @@ -1511,184 +1362,183 @@ switch (grecs_meta1_n) { case 2: -/* Line 1792 of yacc.c */ -#line 54 "meta1-gram.y" +#line 54 "meta1-gram.y" /* yacc.c:1646 */ { - parse_tree = grecs_node_create(grecs_node_root, &(grecs_meta1_lsp[(1) - (1)])); + parse_tree = grecs_node_create(grecs_node_root, &(grecs_meta1_lsp[0])); parse_tree->v.texttab = grecs_text_table(); - grecs_node_bind(parse_tree, (grecs_meta1_vsp[(1) - (1)].node), 1); + grecs_node_bind(parse_tree, (grecs_meta1_vsp[0].node), 1); } +#line 1372 "meta1-gram.c" /* yacc.c:1646 */ break; case 3: -/* Line 1792 of yacc.c */ -#line 63 "meta1-gram.y" +#line 63 "meta1-gram.y" /* yacc.c:1646 */ { (grecs_meta1_val.node) = NULL; } +#line 1380 "meta1-gram.c" /* yacc.c:1646 */ break; case 4: -/* Line 1792 of yacc.c */ -#line 67 "meta1-gram.y" +#line 67 "meta1-gram.y" /* yacc.c:1646 */ { - (grecs_meta1_val.node) = (grecs_meta1_vsp[(1) - (1)].node_list).head; + (grecs_meta1_val.node) = (grecs_meta1_vsp[0].node_list).head; } +#line 1388 "meta1-gram.c" /* yacc.c:1646 */ break; case 5: -/* Line 1792 of yacc.c */ -#line 73 "meta1-gram.y" +#line 73 "meta1-gram.y" /* yacc.c:1646 */ { - (grecs_meta1_val.node_list).head = (grecs_meta1_val.node_list).tail = (grecs_meta1_vsp[(1) - (1)].node); + (grecs_meta1_val.node_list).head = (grecs_meta1_val.node_list).tail = (grecs_meta1_vsp[0].node); } +#line 1396 "meta1-gram.c" /* yacc.c:1646 */ break; case 6: -/* Line 1792 of yacc.c */ -#line 77 "meta1-gram.y" +#line 77 "meta1-gram.y" /* yacc.c:1646 */ { - grecs_node_bind((grecs_meta1_vsp[(1) - (2)].node_list).tail, (grecs_meta1_vsp[(2) - (2)].node), 0); + grecs_node_bind((grecs_meta1_vsp[-1].node_list).tail, (grecs_meta1_vsp[0].node), 0); } +#line 1404 "meta1-gram.c" /* yacc.c:1646 */ break; case 9: -/* Line 1792 of yacc.c */ -#line 87 "meta1-gram.y" +#line 87 "meta1-gram.y" /* yacc.c:1646 */ { (grecs_meta1_val.node) = grecs_node_create_points(grecs_node_stmt, - (grecs_meta1_lsp[(1) - (4)]).beg, (grecs_meta1_lsp[(3) - (4)]).end); - (grecs_meta1_val.node)->ident = (grecs_meta1_vsp[(1) - (4)].string); - (grecs_meta1_val.node)->idloc = (grecs_meta1_lsp[(1) - (4)]); - (grecs_meta1_val.node)->v.value = (grecs_meta1_vsp[(3) - (4)].pvalue); + (grecs_meta1_lsp[-3]).beg, (grecs_meta1_lsp[-1]).end); + (grecs_meta1_val.node)->ident = (grecs_meta1_vsp[-3].string); + (grecs_meta1_val.node)->idloc = (grecs_meta1_lsp[-3]); + (grecs_meta1_val.node)->v.value = (grecs_meta1_vsp[-1].pvalue); } +#line 1416 "meta1-gram.c" /* yacc.c:1646 */ break; case 10: -/* Line 1792 of yacc.c */ -#line 97 "meta1-gram.y" +#line 97 "meta1-gram.y" /* yacc.c:1646 */ { (grecs_meta1_val.node) = grecs_node_create_points(grecs_node_block, - (grecs_meta1_lsp[(1) - (6)]).beg, (grecs_meta1_lsp[(5) - (6)]).end); - (grecs_meta1_val.node)->ident = (grecs_meta1_vsp[(1) - (6)].string); - (grecs_meta1_val.node)->idloc = (grecs_meta1_lsp[(1) - (6)]); - (grecs_meta1_val.node)->v.value = (grecs_meta1_vsp[(2) - (6)].pvalue); - grecs_node_bind((grecs_meta1_val.node), (grecs_meta1_vsp[(4) - (6)].node_list).head, 1); + (grecs_meta1_lsp[-5]).beg, (grecs_meta1_lsp[-1]).end); + (grecs_meta1_val.node)->ident = (grecs_meta1_vsp[-5].string); + (grecs_meta1_val.node)->idloc = (grecs_meta1_lsp[-5]); + (grecs_meta1_val.node)->v.value = (grecs_meta1_vsp[-4].pvalue); + grecs_node_bind((grecs_meta1_val.node), (grecs_meta1_vsp[-2].node_list).head, 1); } +#line 1429 "meta1-gram.c" /* yacc.c:1646 */ break; case 11: -/* Line 1792 of yacc.c */ -#line 108 "meta1-gram.y" +#line 108 "meta1-gram.y" /* yacc.c:1646 */ { (grecs_meta1_val.pvalue) = NULL; } +#line 1437 "meta1-gram.c" /* yacc.c:1646 */ break; case 12: -/* Line 1792 of yacc.c */ -#line 112 "meta1-gram.y" +#line 112 "meta1-gram.y" /* yacc.c:1646 */ { (grecs_meta1_val.pvalue) = grecs_malloc(sizeof((grecs_meta1_val.pvalue)[0])); (grecs_meta1_val.pvalue)->type = GRECS_TYPE_STRING; - (grecs_meta1_val.pvalue)->v.string = (grecs_meta1_vsp[(1) - (1)].string); + (grecs_meta1_val.pvalue)->v.string = (grecs_meta1_vsp[0].string); } +#line 1447 "meta1-gram.c" /* yacc.c:1646 */ break; case 13: -/* Line 1792 of yacc.c */ -#line 120 "meta1-gram.y" +#line 120 "meta1-gram.y" /* yacc.c:1646 */ { (grecs_meta1_val.pvalue) = grecs_malloc(sizeof((grecs_meta1_val.pvalue)[0])); (grecs_meta1_val.pvalue)->type = GRECS_TYPE_STRING; - (grecs_meta1_val.pvalue)->locus = (grecs_meta1_lsp[(1) - (1)]); - (grecs_meta1_val.pvalue)->v.string = (grecs_meta1_vsp[(1) - (1)].string); + (grecs_meta1_val.pvalue)->locus = (grecs_meta1_lsp[0]); + (grecs_meta1_val.pvalue)->v.string = (grecs_meta1_vsp[0].string); } +#line 1458 "meta1-gram.c" /* yacc.c:1646 */ break; case 14: -/* Line 1792 of yacc.c */ -#line 127 "meta1-gram.y" +#line 127 "meta1-gram.y" /* yacc.c:1646 */ { (grecs_meta1_val.pvalue) = grecs_malloc(sizeof((grecs_meta1_val.pvalue)[0])); (grecs_meta1_val.pvalue)->type = GRECS_TYPE_LIST; - (grecs_meta1_val.pvalue)->locus = (grecs_meta1_lsp[(1) - (1)]); - (grecs_meta1_val.pvalue)->v.list = (grecs_meta1_vsp[(1) - (1)].list); + (grecs_meta1_val.pvalue)->locus = (grecs_meta1_lsp[0]); + (grecs_meta1_val.pvalue)->v.list = (grecs_meta1_vsp[0].list); } +#line 1469 "meta1-gram.c" /* yacc.c:1646 */ break; case 17: -/* Line 1792 of yacc.c */ -#line 140 "meta1-gram.y" +#line 140 "meta1-gram.y" /* yacc.c:1646 */ { struct grecs_list_entry *ep; grecs_line_begin(); - for (ep = (grecs_meta1_vsp[(1) - (1)].list)->head; ep; ep = ep->next) { + for (ep = (grecs_meta1_vsp[0].list)->head; ep; ep = ep->next) { grecs_line_add(ep->data, strlen(ep->data)); free(ep->data); ep->data = NULL; } (grecs_meta1_val.string) = grecs_line_finish(); - grecs_list_free((grecs_meta1_vsp[(1) - (1)].list)); + grecs_list_free((grecs_meta1_vsp[0].list)); } +#line 1486 "meta1-gram.c" /* yacc.c:1646 */ break; case 18: -/* Line 1792 of yacc.c */ -#line 154 "meta1-gram.y" +#line 154 "meta1-gram.y" /* yacc.c:1646 */ { (grecs_meta1_val.list) = grecs_list_create(); - grecs_list_append((grecs_meta1_val.list), (grecs_meta1_vsp[(1) - (1)].string)); + grecs_list_append((grecs_meta1_val.list), (grecs_meta1_vsp[0].string)); } +#line 1495 "meta1-gram.c" /* yacc.c:1646 */ break; case 19: -/* Line 1792 of yacc.c */ -#line 159 "meta1-gram.y" +#line 159 "meta1-gram.y" /* yacc.c:1646 */ { - grecs_list_append((grecs_meta1_vsp[(1) - (2)].list), (grecs_meta1_vsp[(2) - (2)].string)); - (grecs_meta1_val.list) = (grecs_meta1_vsp[(1) - (2)].list); + grecs_list_append((grecs_meta1_vsp[-1].list), (grecs_meta1_vsp[0].string)); + (grecs_meta1_val.list) = (grecs_meta1_vsp[-1].list); } +#line 1504 "meta1-gram.c" /* yacc.c:1646 */ break; case 20: -/* Line 1792 of yacc.c */ -#line 166 "meta1-gram.y" +#line 166 "meta1-gram.y" /* yacc.c:1646 */ { - (grecs_meta1_val.list) = (grecs_meta1_vsp[(2) - (3)].list); + (grecs_meta1_val.list) = (grecs_meta1_vsp[-1].list); } +#line 1512 "meta1-gram.c" /* yacc.c:1646 */ break; case 21: -/* Line 1792 of yacc.c */ -#line 170 "meta1-gram.y" +#line 170 "meta1-gram.y" /* yacc.c:1646 */ { - (grecs_meta1_val.list) = (grecs_meta1_vsp[(2) - (4)].list); + (grecs_meta1_val.list) = (grecs_meta1_vsp[-2].list); } +#line 1520 "meta1-gram.c" /* yacc.c:1646 */ break; case 22: -/* Line 1792 of yacc.c */ -#line 176 "meta1-gram.y" +#line 176 "meta1-gram.y" /* yacc.c:1646 */ { (grecs_meta1_val.list) = grecs_value_list_create(); - grecs_list_append((grecs_meta1_val.list), (grecs_meta1_vsp[(1) - (1)].pvalue)); + grecs_list_append((grecs_meta1_val.list), (grecs_meta1_vsp[0].pvalue)); } +#line 1529 "meta1-gram.c" /* yacc.c:1646 */ break; case 23: -/* Line 1792 of yacc.c */ -#line 181 "meta1-gram.y" +#line 181 "meta1-gram.y" /* yacc.c:1646 */ { - grecs_list_append((grecs_meta1_vsp[(1) - (3)].list), (grecs_meta1_vsp[(3) - (3)].pvalue)); - (grecs_meta1_val.list) = (grecs_meta1_vsp[(1) - (3)].list); + grecs_list_append((grecs_meta1_vsp[-2].list), (grecs_meta1_vsp[0].pvalue)); + (grecs_meta1_val.list) = (grecs_meta1_vsp[-2].list); } +#line 1538 "meta1-gram.c" /* yacc.c:1646 */ break; -/* Line 1792 of yacc.c */ -#line 1692 "meta1-gram.c" +#line 1542 "meta1-gram.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter grecs_meta1_char, and that requires @@ -1711,7 +1561,7 @@ *++grecs_meta1_vsp = grecs_meta1_val; *++grecs_meta1_lsp = grecs_meta1_loc; - /* Now `shift' the result of the reduction. Determine what state + /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ @@ -1726,9 +1576,9 @@ goto grecs_meta1_newstate; -/*------------------------------------. -| grecs_meta1_errlab -- here on detecting error | -`------------------------------------*/ +/*--------------------------------------. +| grecs_meta1_errlab -- here on detecting error. | +`--------------------------------------*/ grecs_meta1_errlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ @@ -1779,20 +1629,20 @@ if (grecs_meta1_errstatus == 3) { /* If just tried and failed to reuse lookahead token after an - error, discard it. */ + error, discard it. */ if (grecs_meta1_char <= YYEOF) - { - /* Return failure if at end of input. */ - if (grecs_meta1_char == YYEOF) - YYABORT; - } + { + /* Return failure if at end of input. */ + if (grecs_meta1_char == YYEOF) + YYABORT; + } else - { - grecs_meta1_destruct ("Error: discarding", - grecs_meta1_token, &grecs_meta1_lval, &grecs_meta1_lloc); - grecs_meta1_char = YYEMPTY; - } + { + grecs_meta1_destruct ("Error: discarding", + grecs_meta1_token, &grecs_meta1_lval, &grecs_meta1_lloc); + grecs_meta1_char = YYEMPTY; + } } /* Else will try to reuse lookahead token after shifting the error @@ -1812,7 +1662,7 @@ goto grecs_meta1_errorlab; grecs_meta1_error_range[1] = grecs_meta1_lsp[1-grecs_meta1_len]; - /* Do not reclaim the symbols of the rule which action triggered + /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (grecs_meta1_len); grecs_meta1_len = 0; @@ -1825,29 +1675,29 @@ | grecs_meta1_errlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ grecs_meta1_errlab1: - grecs_meta1_errstatus = 3; /* Each real token shifted decrements this. */ + grecs_meta1_errstatus = 3; /* Each real token shifted decrements this. */ for (;;) { grecs_meta1_n = grecs_meta1_pact[grecs_meta1_state]; if (!grecs_meta1_pact_value_is_default (grecs_meta1_n)) - { - grecs_meta1_n += YYTERROR; - if (0 <= grecs_meta1_n && grecs_meta1_n <= YYLAST && grecs_meta1_check[grecs_meta1_n] == YYTERROR) - { - grecs_meta1_n = grecs_meta1_table[grecs_meta1_n]; - if (0 < grecs_meta1_n) - break; - } - } + { + grecs_meta1_n += YYTERROR; + if (0 <= grecs_meta1_n && grecs_meta1_n <= YYLAST && grecs_meta1_check[grecs_meta1_n] == YYTERROR) + { + grecs_meta1_n = grecs_meta1_table[grecs_meta1_n]; + if (0 < grecs_meta1_n) + break; + } + } /* Pop the current state because it cannot handle the error token. */ if (grecs_meta1_ssp == grecs_meta1_ss) - YYABORT; + YYABORT; grecs_meta1_error_range[1] = *grecs_meta1_lsp; grecs_meta1_destruct ("Error: popping", - grecs_meta1_stos[grecs_meta1_state], grecs_meta1_vsp, grecs_meta1_lsp); + grecs_meta1_stos[grecs_meta1_state], grecs_meta1_vsp, grecs_meta1_lsp); YYPOPSTACK (1); grecs_meta1_state = *grecs_meta1_ssp; YY_STACK_PRINT (grecs_meta1_ss, grecs_meta1_ssp); @@ -1903,14 +1753,14 @@ grecs_meta1_destruct ("Cleanup: discarding lookahead", grecs_meta1_token, &grecs_meta1_lval, &grecs_meta1_lloc); } - /* Do not reclaim the symbols of the rule which action triggered + /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (grecs_meta1_len); YY_STACK_PRINT (grecs_meta1_ss, grecs_meta1_ssp); while (grecs_meta1_ssp != grecs_meta1_ss) { grecs_meta1_destruct ("Cleanup: popping", - grecs_meta1_stos[*grecs_meta1_ssp], grecs_meta1_vsp, grecs_meta1_lsp); + grecs_meta1_stos[*grecs_meta1_ssp], grecs_meta1_vsp, grecs_meta1_lsp); YYPOPSTACK (1); } #ifndef grecs_meta1_overflow @@ -1921,13 +1771,9 @@ if (grecs_meta1_msg != grecs_meta1_msgbuf) YYSTACK_FREE (grecs_meta1_msg); #endif - /* Make sure YYID is used. */ - return YYID (grecs_meta1_result); + return grecs_meta1_result; } - - -/* Line 2055 of yacc.c */ -#line 191 "meta1-gram.y" +#line 191 "meta1-gram.y" /* yacc.c:1906 */ int grecs_meta1_error(char const *s) diff -Nru dico-2.9/grecs/src/meta1-lex.c dico-2.10/grecs/src/meta1-lex.c --- dico-2.9/grecs/src/meta1-lex.c 2018-07-25 13:34:34.000000000 +0000 +++ dico-2.10/grecs/src/meta1-lex.c 2020-09-03 04:37:37.000000000 +0000 @@ -44,8 +44,8 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 37 +#define YY_FLEX_MINOR_VERSION 6 +#define YY_FLEX_SUBMINOR_VERSION 0 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -212,7 +212,15 @@ /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -244,6 +252,7 @@ #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) + #define YY_LINENO_REWIND_TO(ptr) /* Return all but the first "n" matched characters back to the input stream. */ #define grecs_meta1_less(n) \ @@ -447,13 +456,21 @@ int grecs_meta1_lineno = 1; extern char *grecs_meta1_text; +#ifdef grecs_meta1_text_ptr +#undef grecs_meta1_text_ptr +#endif #define grecs_meta1_text_ptr grecs_meta1_text +/* %% [1.5] DFA */ + /* %if-c-only Standard (non-C++) definition */ static grecs_meta1__state_type grecs_meta1__get_previous_state (void ); static grecs_meta1__state_type grecs_meta1__try_NUL_trans (grecs_meta1__state_type current_state ); static int grecs_meta1__get_next_buffer (void ); +#if defined(__GNUC__) && __GNUC__ >= 3 +__attribute__((__noreturn__)) +#endif static void grecs_meta1__fatal_error (grecs_meta1_const char msg[] ); /* %endif */ @@ -490,7 +507,7 @@ 15, 13, 0 } ; -static grecs_meta1_const flex_int32_t grecs_meta1__ec[256] = +static grecs_meta1_const YY_CHAR grecs_meta1__ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, @@ -522,13 +539,13 @@ 1, 1, 1, 1, 1 } ; -static grecs_meta1_const flex_int32_t grecs_meta1__meta[17] = +static grecs_meta1_const YY_CHAR grecs_meta1__meta[17] = { 0, 1, 1, 2, 1, 1, 3, 1, 4, 4, 5, 5, 5, 5, 4, 1, 4 } ; -static grecs_meta1_const flex_int16_t grecs_meta1__base[68] = +static grecs_meta1_const flex_uint16_t grecs_meta1__base[68] = { 0, 0, 0, 14, 15, 19, 32, 60, 136, 51, 136, 15, 48, 0, 136, 44, 38, 45, 0, 136, 18, @@ -550,7 +567,7 @@ 53, 53, 53, 53, 53, 53, 53 } ; -static grecs_meta1_const flex_int16_t grecs_meta1__nxt[153] = +static grecs_meta1_const flex_uint16_t grecs_meta1__nxt[153] = { 0, 8, 9, 10, 11, 12, 13, 14, 13, 15, 16, 17, 17, 13, 13, 8, 13, 19, 19, 27, 20, @@ -630,7 +647,7 @@ grecs_meta1_lloc.end = grecs_current_locus_point; \ } while (0); -#line 634 "meta1-lex.c" +#line 651 "meta1-lex.c" #define INITIAL 0 #define COMMENT 1 @@ -678,11 +695,11 @@ FILE *grecs_meta1_get_in (void ); -void grecs_meta1_set_in (FILE * in_str ); +void grecs_meta1_set_in (FILE * _in_str ); FILE *grecs_meta1_get_out (void ); -void grecs_meta1_set_out (FILE * out_str ); +void grecs_meta1_set_out (FILE * _out_str ); grecs_meta1__size_t grecs_meta1_get_leng (void ); @@ -690,7 +707,7 @@ int grecs_meta1_get_lineno (void ); -void grecs_meta1_set_lineno (int line_number ); +void grecs_meta1_set_lineno (int _line_number ); /* %if-bison-bridge */ /* %endif */ @@ -709,6 +726,9 @@ /* %not-for-header */ +#ifndef YY_NO_UNPUT + +#endif /* %ok-for-header */ /* %endif */ @@ -741,7 +761,12 @@ /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -854,7 +879,7 @@ /* Code executed at the end of each rule. */ #ifndef YY_BREAK -#define YY_BREAK break; +#define YY_BREAK /*LINTED*/break; #endif /* %% [6.0] YY_RULE_SETUP definition goes here */ @@ -867,16 +892,10 @@ */ YY_DECL { - register grecs_meta1__state_type grecs_meta1__current_state; - register char *grecs_meta1__cp, *grecs_meta1__bp; - register int grecs_meta1__act; + grecs_meta1__state_type grecs_meta1__current_state; + char *grecs_meta1__cp, *grecs_meta1__bp; + int grecs_meta1__act; -/* %% [7.0] user's declarations go here */ -#line 48 "meta1-lex.l" - - /* C-style comments */ -#line 879 "meta1-lex.c" - if ( !(grecs_meta1__init) ) { (grecs_meta1__init) = 1; @@ -911,7 +930,14 @@ grecs_meta1__load_buffer_state( ); } - while ( 1 ) /* loops until end-of-file is reached */ + { +/* %% [7.0] user's declarations go here */ +#line 48 "meta1-lex.l" + + /* C-style comments */ +#line 939 "meta1-lex.c" + + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { /* %% [8.0] grecs_meta1_more()-related code goes here */ grecs_meta1__cp = (grecs_meta1__c_buf_p); @@ -929,7 +955,7 @@ grecs_meta1__match: do { - register YY_CHAR grecs_meta1__c = grecs_meta1__ec[YY_SC_TO_UI(*grecs_meta1__cp)]; + YY_CHAR grecs_meta1__c = grecs_meta1__ec[YY_SC_TO_UI(*grecs_meta1__cp)] ; if ( grecs_meta1__accept[grecs_meta1__current_state] ) { (grecs_meta1__last_accepting_state) = grecs_meta1__current_state; @@ -1137,7 +1163,7 @@ #line 107 "meta1-lex.l" ECHO; YY_BREAK -#line 1141 "meta1-lex.c" +#line 1167 "meta1-lex.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(COMMENT): case YY_STATE_EOF(STR): @@ -1164,7 +1190,11 @@ * back-up) that will match for the new input source. */ (grecs_meta1__n_chars) = YY_CURRENT_BUFFER_LVALUE->grecs_meta1__n_chars; +/* %if-c-only */ YY_CURRENT_BUFFER_LVALUE->grecs_meta1__input_file = grecs_meta1_in; +/* %endif */ +/* %if-c++-only */ +/* %endif */ YY_CURRENT_BUFFER_LVALUE->grecs_meta1__buffer_status = YY_BUFFER_NORMAL; } @@ -1271,6 +1301,7 @@ "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ + } /* end of user's declarations */ } /* end of grecs_meta1_lex */ /* %ok-for-header */ @@ -1294,9 +1325,9 @@ /* %if-c++-only */ /* %endif */ { - register char *dest = YY_CURRENT_BUFFER_LVALUE->grecs_meta1__ch_buf; - register char *source = (grecs_meta1_text_ptr); - register int number_to_move, i; + char *dest = YY_CURRENT_BUFFER_LVALUE->grecs_meta1__ch_buf; + char *source = (grecs_meta1_text_ptr); + grecs_meta1__size_t number_to_move, i; int ret_val; if ( (grecs_meta1__c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->grecs_meta1__ch_buf[(grecs_meta1__n_chars) + 1] ) @@ -1325,7 +1356,7 @@ /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) ((grecs_meta1__c_buf_p) - (grecs_meta1_text_ptr)) - 1; + number_to_move = (grecs_meta1__size_t) ((grecs_meta1__c_buf_p) - (grecs_meta1_text_ptr)) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -1434,8 +1465,8 @@ /* %if-c++-only */ /* %endif */ { - register grecs_meta1__state_type grecs_meta1__current_state; - register char *grecs_meta1__cp; + grecs_meta1__state_type grecs_meta1__current_state; + char *grecs_meta1__cp; /* %% [15.0] code to get the start state into grecs_meta1__current_state goes here */ grecs_meta1__current_state = (grecs_meta1__start); @@ -1443,7 +1474,7 @@ for ( grecs_meta1__cp = (grecs_meta1_text_ptr) + YY_MORE_ADJ; grecs_meta1__cp < (grecs_meta1__c_buf_p); ++grecs_meta1__cp ) { /* %% [16.0] code to find the next state goes here */ - register YY_CHAR grecs_meta1__c = (*grecs_meta1__cp ? grecs_meta1__ec[YY_SC_TO_UI(*grecs_meta1__cp)] : 1); + YY_CHAR grecs_meta1__c = (*grecs_meta1__cp ? grecs_meta1__ec[YY_SC_TO_UI(*grecs_meta1__cp)] : 1); if ( grecs_meta1__accept[grecs_meta1__current_state] ) { (grecs_meta1__last_accepting_state) = grecs_meta1__current_state; @@ -1472,11 +1503,11 @@ /* %if-c++-only */ /* %endif */ { - register int grecs_meta1__is_jam; + int grecs_meta1__is_jam; /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */ - register char *grecs_meta1__cp = (grecs_meta1__c_buf_p); + char *grecs_meta1__cp = (grecs_meta1__c_buf_p); - register YY_CHAR grecs_meta1__c = 1; + YY_CHAR grecs_meta1__c = 1; if ( grecs_meta1__accept[grecs_meta1__current_state] ) { (grecs_meta1__last_accepting_state) = grecs_meta1__current_state; @@ -1494,9 +1525,11 @@ return grecs_meta1__is_jam ? 0 : grecs_meta1__current_state; } +#ifndef YY_NO_UNPUT /* %if-c-only */ /* %endif */ +#endif /* %if-c-only */ #ifndef YY_NO_INPUT @@ -1602,6 +1635,9 @@ grecs_meta1__load_buffer_state( ); } +/* %if-c++-only */ +/* %endif */ + /** Switch to a different input buffer. * @param new_buffer The new input buffer. * @@ -1649,7 +1685,11 @@ { (grecs_meta1__n_chars) = YY_CURRENT_BUFFER_LVALUE->grecs_meta1__n_chars; (grecs_meta1_text_ptr) = (grecs_meta1__c_buf_p) = YY_CURRENT_BUFFER_LVALUE->grecs_meta1__buf_pos; +/* %if-c-only */ grecs_meta1_in = YY_CURRENT_BUFFER_LVALUE->grecs_meta1__input_file; +/* %endif */ +/* %if-c++-only */ +/* %endif */ (grecs_meta1__hold_char) = *(grecs_meta1__c_buf_p); } @@ -1671,7 +1711,7 @@ if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in grecs_meta1__create_buffer()" ); - b->grecs_meta1__buf_size = size; + b->grecs_meta1__buf_size = (grecs_meta1__size_t)size; /* grecs_meta1__ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. @@ -1687,6 +1727,9 @@ return b; } +/* %if-c++-only */ +/* %endif */ + /** Destroy the buffer. * @param b a buffer created with grecs_meta1__create_buffer() * @@ -1725,7 +1768,11 @@ grecs_meta1__flush_buffer(b ); +/* %if-c-only */ b->grecs_meta1__input_file = file; +/* %endif */ +/* %if-c++-only */ +/* %endif */ b->grecs_meta1__fill_buffer = 1; /* If b is the current buffer, then grecs_meta1__init_buffer was _probably_ @@ -1860,7 +1907,7 @@ * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; + num_to_alloc = 1; // After all that talk, this was set to 1 anyways... (grecs_meta1__buffer_stack) = (struct grecs_meta1__buffer_state**)grecs_meta1_alloc (num_to_alloc * sizeof(struct grecs_meta1__buffer_state*) ); @@ -1877,7 +1924,7 @@ if ((grecs_meta1__buffer_stack_top) >= ((grecs_meta1__buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; + grecs_meta1__size_t grow_size = 8 /* arbitrary grow size */; num_to_alloc = (grecs_meta1__buffer_stack_max) + grow_size; (grecs_meta1__buffer_stack) = (struct grecs_meta1__buffer_state**)grecs_meta1_realloc @@ -1960,7 +2007,7 @@ YY_BUFFER_STATE b; char *buf; grecs_meta1__size_t n; - int i; + grecs_meta1__size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _grecs_meta1_bytes_len + 2; @@ -1993,7 +2040,7 @@ /* %if-c-only */ static void grecs_meta1__fatal_error (grecs_meta1_const char* msg ) { - (void) fprintf( stderr, "%s\n", msg ); + (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* %endif */ @@ -2069,29 +2116,29 @@ /* %endif */ /** Set the current line number. - * @param line_number + * @param _line_number line number * */ -void grecs_meta1_set_lineno (int line_number ) +void grecs_meta1_set_lineno (int _line_number ) { - grecs_meta1_lineno = line_number; + grecs_meta1_lineno = _line_number; } /** Set the input stream. This does not discard the current * input buffer. - * @param in_str A readable stream. + * @param _in_str A readable stream. * * @see grecs_meta1__switch_to_buffer */ -void grecs_meta1_set_in (FILE * in_str ) +void grecs_meta1_set_in (FILE * _in_str ) { - grecs_meta1_in = in_str ; + grecs_meta1_in = _in_str ; } -void grecs_meta1_set_out (FILE * out_str ) +void grecs_meta1_set_out (FILE * _out_str ) { - grecs_meta1_out = out_str ; + grecs_meta1_out = _out_str ; } int grecs_meta1_get_debug (void) @@ -2099,9 +2146,9 @@ return grecs_meta1__flex_debug; } -void grecs_meta1_set_debug (int bdebug ) +void grecs_meta1_set_debug (int _bdebug ) { - grecs_meta1__flex_debug = bdebug ; + grecs_meta1__flex_debug = _bdebug ; } /* %endif */ @@ -2174,7 +2221,8 @@ #ifndef grecs_meta1_text_ptr static void grecs_meta1__flex_strncpy (char* s1, grecs_meta1_const char * s2, int n ) { - register int i; + + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } @@ -2183,7 +2231,7 @@ #ifdef YY_NEED_STRLEN static int grecs_meta1__flex_strlen (grecs_meta1_const char * s ) { - register int n; + int n; for ( n = 0; s[n]; ++n ) ; @@ -2193,11 +2241,12 @@ void *grecs_meta1_alloc (grecs_meta1__size_t size ) { - return (void *) malloc( size ); + return (void *) malloc( size ); } void *grecs_meta1_realloc (void * ptr, grecs_meta1__size_t size ) { + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -2210,7 +2259,7 @@ void grecs_meta1_free (void * ptr ) { - free( (char *) ptr ); /* see grecs_meta1_realloc() for (char *) cast */ + free( (char *) ptr ); /* see grecs_meta1_realloc() for (char *) cast */ } /* %if-tables-serialization definitions */ diff -Nru dico-2.9/grecs/src/tree.c dico-2.10/grecs/src/tree.c --- dico-2.9/grecs/src/tree.c 2018-09-21 06:25:35.000000000 +0000 +++ dico-2.10/grecs/src/tree.c 2019-07-23 05:47:38.000000000 +0000 @@ -62,6 +62,19 @@ grecs_free(val); } +const char * +grecs_value_type_string(int t) +{ + static const char *types[] = { + [GRECS_TYPE_STRING] = N_("string"), + [GRECS_TYPE_LIST] = N_("list"), + [GRECS_TYPE_ARRAY] = N_("one or more arguments") + }; + if (t >= 0 && t < sizeof(types) / sizeof(types[0])) + return types[t]; + return N_("unrecognized type; please report"); +} + struct grecs_node * grecs_node_create(enum grecs_node_type type, grecs_locus_t *loc) { @@ -286,14 +299,32 @@ }; static struct grecs_keyword * -find_keyword(struct grecs_keyword *cursect, const char *ident) +find_keyword(struct grecs_keyword *cursect, grecs_node_t *node) { - struct grecs_keyword *kwp; - if (cursect && cursect->kwd && cursect != &fake) { - for (kwp = cursect->kwd; kwp->ident; kwp++) - if (strcmp(kwp->ident, ident) == 0) - return kwp; + struct grecs_keyword *found = NULL, *kwp; + char const *msg; + + for (kwp = cursect->kwd; kwp->ident; kwp++) { + if (strcmp(kwp->ident, node->ident) == 0) { + found = kwp; + if (kwp->callback + || (node->down + ? kwp->type == grecs_type_section + : kwp->type != grecs_type_section)) + return kwp; + } + } + if (found) { + if (found->type == grecs_type_section) { + msg = N_("section keyword used as a scalar"); + } else { + msg = N_("scalar keyword used as a section"); + } + } else { + msg = N_("unknown keyword"); + } + grecs_error(&node->idloc, 0, "%s", gettext(msg)); } else { return &fake; } @@ -915,21 +946,17 @@ switch (op) { case grecs_tree_recurse_set: - kwp = find_keyword(clos->cursect, node->ident); - if (!kwp) { - grecs_error(&node->idloc, 0, _("Unknown keyword")); + kwp = find_keyword(clos->cursect, node); + if (!kwp) return grecs_tree_recurse_skip; - } grecs_process_ident(kwp, node->v.value, CURRENT_BASE(clos), &node->idloc); break; case grecs_tree_recurse_pre: - kwp = find_keyword(clos->cursect, node->ident); - if (!kwp) { - grecs_error(&node->locus, 0, _("Unknown keyword")); + kwp = find_keyword(clos->cursect, node); + if (!kwp) return grecs_tree_recurse_skip; - } stmt_begin(clos, kwp, node); break; @@ -1136,13 +1163,9 @@ } else { struct grecs_keyword *kwp = NULL; if (clos->cursect) { - kwp = find_keyword(clos->cursect, node->ident); - if (!kwp) { - grecs_error(&node->locus, 0, - _("%s: unknown keyword"), - node->ident); + kwp = find_keyword(clos->cursect, node); + if (!kwp) return grecs_tree_recurse_skip; - } if (kwp->flags & GRECS_INAC) return grecs_tree_recurse_skip; if (!(kwp->flags & GRECS_MULT) && diff -Nru dico-2.9/grecs/src/wordsplit.c dico-2.10/grecs/src/wordsplit.c --- dico-2.9/grecs/src/wordsplit.c 2019-02-18 19:01:25.000000000 +0000 +++ dico-2.10/grecs/src/wordsplit.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,2546 +0,0 @@ -/* wordsplit - a word splitter - Copyright (C) 2009-2018 Sergey Poznyakoff - - 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. - - You should have received a copy of the GNU General Public License along - with this program. If not, see . */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if ENABLE_NLS -# include -#else -# define gettext(msgid) msgid -#endif -#define _(msgid) gettext (msgid) -#define N_(msgid) msgid - -#include - -#define ISWS(c) ((c)==' '||(c)=='\t'||(c)=='\n') -#define ISDELIM(ws,c) \ - (strchr ((ws)->ws_delim, (c)) != NULL) -#define ISPUNCT(c) (strchr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",(c))!=NULL) -#define ISUPPER(c) ('A' <= ((unsigned) (c)) && ((unsigned) (c)) <= 'Z') -#define ISLOWER(c) ('a' <= ((unsigned) (c)) && ((unsigned) (c)) <= 'z') -#define ISALPHA(c) (ISUPPER(c) || ISLOWER(c)) -#define ISDIGIT(c) ('0' <= ((unsigned) (c)) && ((unsigned) (c)) <= '9') -#define ISXDIGIT(c) (strchr("abcdefABCDEF", c)!=NULL) -#define ISALNUM(c) (ISALPHA(c) || ISDIGIT(c)) -#define ISPRINT(c) (' ' <= ((unsigned) (c)) && ((unsigned) (c)) <= 127) - -#define ISVARBEG(c) (ISALPHA(c) || c == '_') -#define ISVARCHR(c) (ISALNUM(c) || c == '_') - -#define WSP_RETURN_DELIMS(wsp) \ - ((wsp)->ws_flags & WRDSF_RETURN_DELIMS || ((wsp)->ws_options & WRDSO_MAXWORDS)) - -#define ALLOC_INIT 128 -#define ALLOC_INCR 128 - -static void -_wsplt_alloc_die (struct wordsplit *wsp) -{ - wsp->ws_error ("%s", _("memory exhausted")); - abort (); -} - -static void -_wsplt_error (const char *fmt, ...) -{ - va_list ap; - - va_start (ap, fmt); - vfprintf (stderr, fmt, ap); - va_end (ap); - fputc ('\n', stderr); -} - -static void wordsplit_free_nodes (struct wordsplit *); - -static int -_wsplt_seterr (struct wordsplit *wsp, int ec) -{ - wsp->ws_errno = ec; - if (wsp->ws_flags & WRDSF_SHOWERR) - wordsplit_perror (wsp); - return ec; -} - -static int -_wsplt_nomem (struct wordsplit *wsp) -{ - errno = ENOMEM; - wsp->ws_errno = WRDSE_NOSPACE; - if (wsp->ws_flags & WRDSF_ENOMEMABRT) - wsp->ws_alloc_die (wsp); - if (wsp->ws_flags & WRDSF_SHOWERR) - wordsplit_perror (wsp); - if (!(wsp->ws_flags & WRDSF_REUSE)) - wordsplit_free (wsp); - wordsplit_free_nodes (wsp); - return wsp->ws_errno; -} - -static int wordsplit_run (const char *command, size_t length, - struct wordsplit *wsp, - int flags, int lvl); - -static int wordsplit_init (struct wordsplit *wsp, const char *input, size_t len, - int flags); -static int wordsplit_process_list (struct wordsplit *wsp, size_t start); -static int wordsplit_finish (struct wordsplit *wsp); - -static int -_wsplt_subsplit (struct wordsplit *wsp, struct wordsplit *wss, - char const *str, int len, - int flags, int finalize) -{ - int rc; - - wss->ws_delim = wsp->ws_delim; - wss->ws_debug = wsp->ws_debug; - wss->ws_error = wsp->ws_error; - wss->ws_alloc_die = wsp->ws_alloc_die; - - if (!(flags & WRDSF_NOVAR)) - { - wss->ws_env = wsp->ws_env; - wss->ws_getvar = wsp->ws_getvar; - flags |= wsp->ws_flags & (WRDSF_ENV | WRDSF_ENV_KV | WRDSF_GETVAR); - } - if (!(flags & WRDSF_NOCMD)) - { - wss->ws_command = wsp->ws_command; - } - - if ((flags & (WRDSF_NOVAR|WRDSF_NOCMD)) != (WRDSF_NOVAR|WRDSF_NOCMD)) - { - wss->ws_closure = wsp->ws_closure; - flags |= wsp->ws_flags & WRDSF_CLOSURE; - } - - wss->ws_options = wsp->ws_options; - - flags |= WRDSF_DELIM - | WRDSF_ALLOC_DIE - | WRDSF_ERROR - | WRDSF_DEBUG - | (wsp->ws_flags & (WRDSF_SHOWDBG | WRDSF_SHOWERR | WRDSF_OPTIONS)); - - rc = wordsplit_init (wss, str, len, flags); - if (rc) - return rc; - wss->ws_lvl = wsp->ws_lvl + 1; - rc = wordsplit_process_list (wss, 0); - if (rc) - { - wordsplit_free_nodes (wss); - return rc; - } - if (finalize) - { - rc = wordsplit_finish (wss); - wordsplit_free_nodes (wss); - } - return rc; -} - -static void -_wsplt_seterr_sub (struct wordsplit *wsp, struct wordsplit *wss) -{ - if (wsp->ws_errno == WRDSE_USERERR) - free (wsp->ws_usererr); - wsp->ws_errno = wss->ws_errno; - if (wss->ws_errno == WRDSE_USERERR) - { - wsp->ws_usererr = wss->ws_usererr; - wss->ws_errno = WRDSE_EOF; - wss->ws_usererr = NULL; - } -} - -static void -wordsplit_init0 (struct wordsplit *wsp) -{ - if (wsp->ws_flags & WRDSF_REUSE) - { - if (!(wsp->ws_flags & WRDSF_APPEND)) - wordsplit_free_words (wsp); - wordsplit_clearerr (wsp); - } - else - { - wsp->ws_wordv = NULL; - wsp->ws_wordc = 0; - wsp->ws_wordn = 0; - } - - wsp->ws_errno = 0; -} - -char wordsplit_c_escape_tab[] = "\\\\\"\"a\ab\bf\fn\nr\rt\tv\v"; - -static int -wordsplit_init (struct wordsplit *wsp, const char *input, size_t len, - int flags) -{ - wsp->ws_flags = flags; - - if (!(wsp->ws_flags & WRDSF_ALLOC_DIE)) - wsp->ws_alloc_die = _wsplt_alloc_die; - if (!(wsp->ws_flags & WRDSF_ERROR)) - wsp->ws_error = _wsplt_error; - - if (!(wsp->ws_flags & WRDSF_NOVAR)) - { - /* These will be initialized on first variable assignment */ - wsp->ws_envidx = wsp->ws_envsiz = 0; - wsp->ws_envbuf = NULL; - } - - if (!(wsp->ws_flags & WRDSF_NOCMD)) - { - if (!wsp->ws_command) - { - _wsplt_seterr (wsp, WRDSE_USAGE); - errno = EINVAL; - return wsp->ws_errno; - } - } - - if (wsp->ws_flags & WRDSF_SHOWDBG) - { - if (!(wsp->ws_flags & WRDSF_DEBUG)) - { - if (wsp->ws_flags & WRDSF_ERROR) - wsp->ws_debug = wsp->ws_error; - else if (wsp->ws_flags & WRDSF_SHOWERR) - wsp->ws_debug = _wsplt_error; - else - wsp->ws_flags &= ~WRDSF_SHOWDBG; - } - } - - wsp->ws_input = input; - wsp->ws_len = len; - - if (!(wsp->ws_flags & WRDSF_DOOFFS)) - wsp->ws_offs = 0; - - if (!(wsp->ws_flags & WRDSF_DELIM)) - wsp->ws_delim = " \t\n"; - - if (!(wsp->ws_flags & WRDSF_COMMENT)) - wsp->ws_comment = NULL; - - if (!(wsp->ws_flags & WRDSF_CLOSURE)) - wsp->ws_closure = NULL; - - if (!(wsp->ws_flags & WRDSF_OPTIONS)) - wsp->ws_options = 0; - - if (wsp->ws_flags & WRDSF_ESCAPE) - { - if (!wsp->ws_escape[WRDSX_WORD]) - wsp->ws_escape[WRDSX_WORD] = ""; - if (!wsp->ws_escape[WRDSX_QUOTE]) - wsp->ws_escape[WRDSX_QUOTE] = ""; - } - else - { - if (wsp->ws_flags & WRDSF_CESCAPES) - { - wsp->ws_escape[WRDSX_WORD] = wordsplit_c_escape_tab; - wsp->ws_escape[WRDSX_QUOTE] = wordsplit_c_escape_tab; - wsp->ws_options |= WRDSO_OESC_QUOTE | WRDSO_OESC_WORD - | WRDSO_XESC_QUOTE | WRDSO_XESC_WORD; - } - else - { - wsp->ws_escape[WRDSX_WORD] = ""; - wsp->ws_escape[WRDSX_QUOTE] = "\\\\\"\""; - wsp->ws_options |= WRDSO_BSKEEP_QUOTE; - } - } - - wsp->ws_endp = 0; - wsp->ws_wordi = 0; - - if (wsp->ws_flags & WRDSF_REUSE) - wordsplit_free_nodes (wsp); - wsp->ws_head = wsp->ws_tail = NULL; - - wordsplit_init0 (wsp); - - return 0; -} - -static int -alloc_space (struct wordsplit *wsp, size_t count) -{ - size_t offs = (wsp->ws_flags & WRDSF_DOOFFS) ? wsp->ws_offs : 0; - char **ptr; - size_t newalloc; - - if (wsp->ws_wordv == NULL) - { - newalloc = offs + count > ALLOC_INIT ? count : ALLOC_INIT; - ptr = calloc (newalloc, sizeof (ptr[0])); - } - else if (wsp->ws_wordn < offs + wsp->ws_wordc + count) - { - newalloc = offs + wsp->ws_wordc + - (count > ALLOC_INCR ? count : ALLOC_INCR); - ptr = realloc (wsp->ws_wordv, newalloc * sizeof (ptr[0])); - } - else - return 0; - - if (ptr) - { - wsp->ws_wordn = newalloc; - wsp->ws_wordv = ptr; - } - else - return _wsplt_nomem (wsp); - return 0; -} - - -/* Node state flags */ -#define _WSNF_NULL 0x01 /* null node (a noop) */ -#define _WSNF_WORD 0x02 /* node contains word in v.word */ -#define _WSNF_QUOTE 0x04 /* text is quoted */ -#define _WSNF_NOEXPAND 0x08 /* text is not subject to expansion */ -#define _WSNF_JOIN 0x10 /* node must be joined with the next node */ -#define _WSNF_SEXP 0x20 /* is a sed expression */ -#define _WSNF_DELIM 0x40 /* node is a delimiter */ - -#define _WSNF_EMPTYOK 0x0100 /* special flag indicating that - wordsplit_add_segm must add the - segment even if it is empty */ - -struct wordsplit_node -{ - struct wordsplit_node *prev; /* Previous element */ - struct wordsplit_node *next; /* Next element */ - int flags; /* Node flags */ - union - { - struct - { - size_t beg; /* Start of word in ws_input */ - size_t end; /* End of word in ws_input */ - } segm; - char *word; - } v; -}; - -static const char * -wsnode_flagstr (int flags) -{ - static char retbuf[7]; - char *p = retbuf; - - if (flags & _WSNF_WORD) - *p++ = 'w'; - else if (flags & _WSNF_NULL) - *p++ = 'n'; - else - *p++ = '-'; - if (flags & _WSNF_QUOTE) - *p++ = 'q'; - else - *p++ = '-'; - if (flags & _WSNF_NOEXPAND) - *p++ = 'E'; - else - *p++ = '-'; - if (flags & _WSNF_JOIN) - *p++ = 'j'; - else - *p++ = '-'; - if (flags & _WSNF_SEXP) - *p++ = 's'; - else - *p++ = '-'; - if (flags & _WSNF_DELIM) - *p++ = 'd'; - else - *p++ = '-'; - *p = 0; - return retbuf; -} - -static const char * -wsnode_ptr (struct wordsplit *wsp, struct wordsplit_node *p) -{ - if (p->flags & _WSNF_NULL) - return ""; - else if (p->flags & _WSNF_WORD) - return p->v.word; - else - return wsp->ws_input + p->v.segm.beg; -} - -static size_t -wsnode_len (struct wordsplit_node *p) -{ - if (p->flags & _WSNF_NULL) - return 0; - else if (p->flags & _WSNF_WORD) - return strlen (p->v.word); - else - return p->v.segm.end - p->v.segm.beg; -} - -static int -wsnode_new (struct wordsplit *wsp, struct wordsplit_node **pnode) -{ - struct wordsplit_node *node = calloc (1, sizeof (*node)); - if (!node) - return _wsplt_nomem (wsp); - *pnode = node; - return 0; -} - -static void -wsnode_free (struct wordsplit_node *p) -{ - if (p->flags & _WSNF_WORD) - free (p->v.word); - free (p); -} - -static void -wsnode_append (struct wordsplit *wsp, struct wordsplit_node *node) -{ - node->next = NULL; - node->prev = wsp->ws_tail; - if (wsp->ws_tail) - wsp->ws_tail->next = node; - else - wsp->ws_head = node; - wsp->ws_tail = node; -} - -static void -wsnode_remove (struct wordsplit *wsp, struct wordsplit_node *node) -{ - struct wordsplit_node *p; - - p = node->prev; - if (p) - { - p->next = node->next; - if (!node->next) - p->flags &= ~_WSNF_JOIN; - } - else - wsp->ws_head = node->next; - - p = node->next; - if (p) - p->prev = node->prev; - else - wsp->ws_tail = node->prev; - - node->next = node->prev = NULL; -} - -static struct wordsplit_node * -wsnode_tail (struct wordsplit_node *p) -{ - while (p && p->next) - p = p->next; - return p; -} - -static void -wsnode_insert (struct wordsplit *wsp, struct wordsplit_node *node, - struct wordsplit_node *anchor, int before) -{ - if (!wsp->ws_head) - { - node->next = node->prev = NULL; - wsp->ws_head = wsp->ws_tail = node; - } - else if (before) - { - if (anchor->prev) - wsnode_insert (wsp, node, anchor->prev, 0); - else - { - struct wordsplit_node *tail = wsnode_tail (node); - node->prev = NULL; - tail->next = anchor; - anchor->prev = tail; - wsp->ws_head = node; - } - } - else - { - struct wordsplit_node *p; - struct wordsplit_node *tail = wsnode_tail (node); - - p = anchor->next; - if (p) - p->prev = tail; - else - wsp->ws_tail = tail; - tail->next = p; - node->prev = anchor; - anchor->next = node; - } -} - -static int -wordsplit_add_segm (struct wordsplit *wsp, size_t beg, size_t end, int flg) -{ - struct wordsplit_node *node; - int rc; - - if (end == beg && !(flg & _WSNF_EMPTYOK)) - return 0; - rc = wsnode_new (wsp, &node); - if (rc) - return rc; - node->flags = flg & ~(_WSNF_WORD | _WSNF_EMPTYOK); - node->v.segm.beg = beg; - node->v.segm.end = end; - wsnode_append (wsp, node); - return 0; -} - -static void -wordsplit_free_nodes (struct wordsplit *wsp) -{ - struct wordsplit_node *p; - - for (p = wsp->ws_head; p;) - { - struct wordsplit_node *next = p->next; - wsnode_free (p); - p = next; - } - wsp->ws_head = wsp->ws_tail = NULL; -} - -static void -wordsplit_dump_nodes (struct wordsplit *wsp) -{ - struct wordsplit_node *p; - int n = 0; - - for (p = wsp->ws_head, n = 0; p; p = p->next, n++) - { - if (p->flags & _WSNF_WORD) - wsp->ws_debug ("(%02d) %4d: %p: %#04x (%s):%s;", - wsp->ws_lvl, - n, p, p->flags, wsnode_flagstr (p->flags), p->v.word); - else - wsp->ws_debug ("(%02d) %4d: %p: %#04x (%s):%.*s;", - wsp->ws_lvl, - n, p, p->flags, wsnode_flagstr (p->flags), - (int) (p->v.segm.end - p->v.segm.beg), - wsp->ws_input + p->v.segm.beg); - } -} - -static int -coalesce_segment (struct wordsplit *wsp, struct wordsplit_node *node) -{ - struct wordsplit_node *p, *end; - size_t len = 0; - char *buf, *cur; - int stop; - - if (!(node->flags & _WSNF_JOIN)) - return 0; - - for (p = node; p && (p->flags & _WSNF_JOIN); p = p->next) - { - len += wsnode_len (p); - } - if (p) - len += wsnode_len (p); - end = p; - - buf = malloc (len + 1); - if (!buf) - return _wsplt_nomem (wsp); - cur = buf; - - p = node; - for (stop = 0; !stop;) - { - struct wordsplit_node *next = p->next; - const char *str = wsnode_ptr (wsp, p); - size_t slen = wsnode_len (p); - - memcpy (cur, str, slen); - cur += slen; - if (p != node) - { - node->flags |= p->flags & _WSNF_QUOTE; - wsnode_remove (wsp, p); - stop = p == end; - wsnode_free (p); - } - p = next; - } - - *cur = 0; - - node->flags &= ~_WSNF_JOIN; - - if (node->flags & _WSNF_WORD) - free (node->v.word); - else - node->flags |= _WSNF_WORD; - node->v.word = buf; - return 0; -} - -static void wordsplit_string_unquote_copy (struct wordsplit *ws, int inquote, - char *dst, const char *src, - size_t n); - -static int -wsnode_quoteremoval (struct wordsplit *wsp) -{ - struct wordsplit_node *p; - - for (p = wsp->ws_head; p; p = p->next) - { - const char *str = wsnode_ptr (wsp, p); - size_t slen = wsnode_len (p); - int unquote; - - if (wsp->ws_flags & WRDSF_QUOTE) - unquote = !(p->flags & _WSNF_NOEXPAND); - else - unquote = 0; - - if (unquote) - { - if (!(p->flags & _WSNF_WORD)) - { - char *newstr = malloc (slen + 1); - if (!newstr) - return _wsplt_nomem (wsp); - memcpy (newstr, str, slen); - newstr[slen] = 0; - p->v.word = newstr; - p->flags |= _WSNF_WORD; - } - - wordsplit_string_unquote_copy (wsp, p->flags & _WSNF_QUOTE, - p->v.word, str, slen); - } - } - return 0; -} - -static int -wsnode_coalesce (struct wordsplit *wsp) -{ - struct wordsplit_node *p; - - for (p = wsp->ws_head; p; p = p->next) - { - if (p->flags & _WSNF_JOIN) - if (coalesce_segment (wsp, p)) - return 1; - } - return 0; -} - -static int -wsnode_tail_coalesce (struct wordsplit *wsp, struct wordsplit_node *p) -{ - if (p->next) - { - struct wordsplit_node *np = p; - while (np && np->next) - { - np->flags |= _WSNF_JOIN; - np = np->next; - } - if (coalesce_segment (wsp, p)) - return 1; - } - return 0; -} - -static size_t skip_delim (struct wordsplit *wsp); - -static int -wordsplit_finish (struct wordsplit *wsp) -{ - struct wordsplit_node *p; - size_t n; - int delim; - - /* Postprocess delimiters. It would be rather simple, if it weren't for - the incremental operation. - - Nodes of type _WSNF_DELIM get inserted to the node list if either - WRDSF_RETURN_DELIMS flag or WRDSO_MAXWORDS option is set. - - The following cases should be distinguished: - - 1. If both WRDSF_SQUEEZE_DELIMS and WRDSF_RETURN_DELIMS are set, compress - any runs of similar delimiter nodes to a single node. The nodes are - 'similar' if they point to the same delimiter character. - - If WRDSO_MAXWORDS option is set, stop compressing when - ws_wordi + 1 == ws_maxwords, and coalesce the rest of nodes into - a single last node. - - 2. If WRDSO_MAXWORDS option is set, but WRDSF_RETURN_DELIMS is not, - remove any delimiter nodes. Stop operation when - ws_wordi + 1 == ws_maxwords, and coalesce the rest of nodes into - a single last node. - - 3. If incremental operation is in progress, restart the loop any time - a delimiter node is about to be returned, unless WRDSF_RETURN_DELIMS - is set. - */ - again: - delim = 0; /* Delimiter being processed (if any) */ - n = 0; /* Number of words processed so far */ - p = wsp->ws_head; /* Current node */ - - while (p) - { - struct wordsplit_node *next = p->next; - if (p->flags & _WSNF_DELIM) - { - if (wsp->ws_flags & WRDSF_RETURN_DELIMS) - { - if (wsp->ws_flags & WRDSF_SQUEEZE_DELIMS) - { - char const *s = wsnode_ptr (wsp, p); - if (delim) - { - if (delim == *s) - { - wsnode_remove (wsp, p); - p = next; - continue; - } - else - { - delim = 0; - n++; /* Count this node; it will be returned */ - } - } - else - { - delim = *s; - p = next; - continue; - } - } - } - else if (wsp->ws_options & WRDSO_MAXWORDS) - { - wsnode_remove (wsp, p); - p = next; - continue; - } - } - else - { - if (delim) - { - /* Last node was a delimiter or a compressed run of delimiters; - Count it, and clear the delimiter marker */ - n++; - delim = 0; - } - if (wsp->ws_options & WRDSO_MAXWORDS) - { - if (wsp->ws_wordi + n + 1 == wsp->ws_maxwords) - break; - } - } - n++; - if (wsp->ws_flags & WRDSF_INCREMENTAL) - p = NULL; /* Break the loop */ - else - p = next; - } - - if (p) - { - /* We're here if WRDSO_MAXWORDS is in effect and wsp->ws_maxwords - words have already been collected. Reconstruct a single final - node from the remaining nodes. */ - if (wsnode_tail_coalesce (wsp, p)) - return wsp->ws_errno; - n++; - } - - if (n == 0 && (wsp->ws_flags & WRDSF_INCREMENTAL)) - { - /* The loop above have eliminated all nodes. Restart the - processing, if there's any input left. */ - if (wsp->ws_endp < wsp->ws_len) - { - int rc; - if (wsp->ws_flags & WRDSF_SHOWDBG) - wsp->ws_debug (_("Restarting")); - rc = wordsplit_process_list (wsp, skip_delim (wsp)); - if (rc) - return rc; - } - else - { - wsp->ws_error = WRDSE_EOF; - return WRDSE_EOF; - } - goto again; - } - - if (alloc_space (wsp, n + 1)) - return wsp->ws_errno; - - while (wsp->ws_head) - { - const char *str = wsnode_ptr (wsp, wsp->ws_head); - size_t slen = wsnode_len (wsp->ws_head); - char *newstr = malloc (slen + 1); - - /* Assign newstr first, even if it is NULL. This way - wordsplit_free will work even if we return - nomem later. */ - wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc] = newstr; - if (!newstr) - return _wsplt_nomem (wsp); - memcpy (newstr, str, slen); - newstr[slen] = 0; - - wsnode_remove (wsp, wsp->ws_head); - - wsp->ws_wordc++; - wsp->ws_wordi++; - - if (wsp->ws_flags & WRDSF_INCREMENTAL) - break; - } - wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc] = NULL; - return 0; -} - -int -wordsplit_append (wordsplit_t *wsp, int argc, char **argv) -{ - int rc; - size_t i; - - rc = alloc_space (wsp, wsp->ws_wordc + argc + 1); - if (rc) - return rc; - for (i = 0; i < argc; i++) - { - char *newstr = strdup (argv[i]); - if (!newstr) - { - while (i > 0) - { - free (wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc + i - 1]); - wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc + i - 1] = NULL; - i--; - } - return _wsplt_nomem (wsp); - } - wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc + i] = newstr; - } - wsp->ws_wordc += i; - wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc] = NULL; - return 0; -} - -/* Variable expansion */ -static int -node_split_prefix (struct wordsplit *wsp, - struct wordsplit_node **ptail, - struct wordsplit_node *node, - size_t beg, size_t len, int flg) -{ - struct wordsplit_node *newnode; - - if (len == 0) - return 0; - if (wsnode_new (wsp, &newnode)) - return 1; - wsnode_insert (wsp, newnode, *ptail, 0); - if (node->flags & _WSNF_WORD) - { - const char *str = wsnode_ptr (wsp, node); - char *newstr = malloc (len + 1); - if (!newstr) - return _wsplt_nomem (wsp); - memcpy (newstr, str + beg, len); - newstr[len] = 0; - newnode->flags = _WSNF_WORD; - newnode->v.word = newstr; - } - else - { - newnode->v.segm.beg = node->v.segm.beg + beg; - newnode->v.segm.end = newnode->v.segm.beg + len; - } - newnode->flags |= flg; - *ptail = newnode; - return 0; -} - -static int -find_closing_paren (const char *str, size_t i, size_t len, size_t *poff, - char const *paren) -{ - enum { st_init, st_squote, st_dquote } state = st_init; - size_t level = 1; - - for (; i < len; i++) - { - switch (state) - { - case st_init: - switch (str[i]) - { - default: - if (str[i] == paren[0]) - { - level++; - break; - } - else if (str[i] == paren[1]) - { - if (--level == 0) - { - *poff = i; - return 0; - } - break; - } - break; - - case '"': - state = st_dquote; - break; - - case '\'': - state = st_squote; - break; - } - break; - - case st_squote: - if (str[i] == '\'') - state = st_init; - break; - - case st_dquote: - if (str[i] == '\\') - i++; - else if (str[i] == '"') - state = st_init; - break; - } - } - return 1; -} - -static int -wordsplit_find_env (struct wordsplit *wsp, const char *name, size_t len, - char const **ret) -{ - size_t i; - - if (!(wsp->ws_flags & WRDSF_ENV)) - return WRDSE_UNDEF; - - if (wsp->ws_flags & WRDSF_ENV_KV) - { - /* A key-value pair environment */ - for (i = 0; wsp->ws_env[i]; i++) - { - size_t elen = strlen (wsp->ws_env[i]); - if (elen == len && memcmp (wsp->ws_env[i], name, elen) == 0) - { - *ret = wsp->ws_env[i + 1]; - return WRDSE_OK; - } - /* Skip the value. Break the loop if it is NULL. */ - i++; - if (wsp->ws_env[i] == NULL) - break; - } - } - else if (wsp->ws_env) - { - /* Usual (A=B) environment. */ - for (i = 0; wsp->ws_env[i]; i++) - { - size_t j; - const char *var = wsp->ws_env[i]; - - for (j = 0; j < len; j++) - if (name[j] != var[j]) - break; - if (j == len && var[j] == '=') - { - *ret = var + j + 1; - return WRDSE_OK; - } - } - } - return WRDSE_UNDEF; -} - -static int -wsplt_assign_var (struct wordsplit *wsp, const char *name, size_t namelen, - char *value) -{ - int n = (wsp->ws_flags & WRDSF_ENV_KV) ? 2 : 1; - char *v; - - if (wsp->ws_envidx + n >= wsp->ws_envsiz) - { - size_t sz; - char **newenv; - - if (!wsp->ws_envbuf) - { - if (wsp->ws_flags & WRDSF_ENV) - { - size_t i = 0, j; - - if (wsp->ws_env) - { - for (; wsp->ws_env[i]; i++) - ; - } - - sz = i + n + 1; - - newenv = calloc (sz, sizeof(newenv[0])); - if (!newenv) - return _wsplt_nomem (wsp); - - for (j = 0; j < i; j++) - { - newenv[j] = strdup (wsp->ws_env[j]); - if (!newenv[j]) - { - for (; j > 1; j--) - free (newenv[j-1]); - free (newenv[j-1]); - return _wsplt_nomem (wsp); - } - } - newenv[j] = NULL; - - wsp->ws_envbuf = newenv; - wsp->ws_envidx = i; - wsp->ws_envsiz = sz; - wsp->ws_env = (const char**) wsp->ws_envbuf; - } - else - { - newenv = calloc (WORDSPLIT_ENV_INIT, sizeof(newenv[0])); - if (!newenv) - return _wsplt_nomem (wsp); - wsp->ws_envbuf = newenv; - wsp->ws_envidx = 0; - wsp->ws_envsiz = WORDSPLIT_ENV_INIT; - wsp->ws_env = (const char**) wsp->ws_envbuf; - wsp->ws_flags |= WRDSF_ENV; - } - } - else - { - wsp->ws_envsiz *= 2; - newenv = realloc (wsp->ws_envbuf, - wsp->ws_envsiz * sizeof (wsp->ws_envbuf[0])); - if (!newenv) - return _wsplt_nomem (wsp); - wsp->ws_envbuf = newenv; - wsp->ws_env = (const char**) wsp->ws_envbuf; - } - } - - if (wsp->ws_flags & WRDSF_ENV_KV) - { - /* A key-value pair environment */ - char *p = malloc (namelen + 1); - if (!p) - return _wsplt_nomem (wsp); - memcpy (p, name, namelen); - p[namelen] = 0; - - v = strdup (value); - if (!v) - { - free (p); - return _wsplt_nomem (wsp); - } - wsp->ws_env[wsp->ws_envidx++] = p; - wsp->ws_env[wsp->ws_envidx++] = v; - } - else - { - v = malloc (namelen + strlen(value) + 2); - if (!v) - return _wsplt_nomem (wsp); - memcpy (v, name, namelen); - v[namelen++] = '='; - strcpy(v + namelen, value); - wsp->ws_env[wsp->ws_envidx++] = v; - } - wsp->ws_env[wsp->ws_envidx++] = NULL; - return WRDSE_OK; -} - -static int -expvar (struct wordsplit *wsp, const char *str, size_t len, - struct wordsplit_node **ptail, const char **pend, int flg) -{ - size_t i = 0; - const char *defstr = NULL; - char *value; - const char *vptr; - struct wordsplit_node *newnode; - const char *start = str - 1; - int rc; - struct wordsplit ws; - - if (ISVARBEG (str[0])) - { - for (i = 1; i < len; i++) - if (!ISVARCHR (str[i])) - break; - *pend = str + i - 1; - } - else if (str[0] == '{') - { - str++; - len--; - for (i = 1; i < len; i++) - { - if (str[i] == ':') - { - size_t j; - - defstr = str + i + 1; - if (find_closing_paren (str, i + 1, len, &j, "{}")) - return _wsplt_seterr (wsp, WRDSE_CBRACE); - *pend = str + j; - break; - } - else if (str[i] == '}') - { - defstr = NULL; - *pend = str + i; - break; - } - else if (strchr ("-+?=", str[i])) - { - size_t j; - - defstr = str + i; - if (find_closing_paren (str, i, len, &j, "{}")) - return _wsplt_seterr (wsp, WRDSE_CBRACE); - *pend = str + j; - break; - } - } - if (i == len) - return _wsplt_seterr (wsp, WRDSE_CBRACE); - } - else - { - if (wsnode_new (wsp, &newnode)) - return 1; - wsnode_insert (wsp, newnode, *ptail, 0); - *ptail = newnode; - newnode->flags = _WSNF_WORD | flg; - newnode->v.word = malloc (3); - if (!newnode->v.word) - return _wsplt_nomem (wsp); - newnode->v.word[0] = '$'; - newnode->v.word[1] = str[0]; - newnode->v.word[2] = 0; - *pend = str; - return 0; - } - - /* Actually expand the variable */ - /* str - start of the variable name - i - its length - defstr - default replacement str */ - - if (defstr && strchr("-+?=", defstr[0]) == 0) - { - rc = WRDSE_UNDEF; - defstr = NULL; - } - else - { - rc = wordsplit_find_env (wsp, str, i, &vptr); - if (rc == WRDSE_OK) - { - if (vptr) - { - value = strdup (vptr); - if (!value) - rc = WRDSE_NOSPACE; - } - else - rc = WRDSE_UNDEF; - } - else if (wsp->ws_flags & WRDSF_GETVAR) - rc = wsp->ws_getvar (&value, str, i, wsp->ws_closure); - else - rc = WRDSE_UNDEF; - - if (rc == WRDSE_OK - && (!value || value[0] == 0) - && defstr && defstr[-1] == ':') - { - free (value); - rc = WRDSE_UNDEF; - } - } - - switch (rc) - { - case WRDSE_OK: - if (defstr && *defstr == '+') - { - size_t size = *pend - ++defstr; - - rc = _wsplt_subsplit (wsp, &ws, defstr, size, - WRDSF_NOSPLIT | WRDSF_WS | WRDSF_QUOTE | - (wsp->ws_flags & - (WRDSF_NOVAR | WRDSF_NOCMD)), 1); - if (rc) - return rc; - free (value); - value = ws.ws_wordv[0]; - ws.ws_wordv[0] = NULL; - wordsplit_free (&ws); - } - break; - - case WRDSE_UNDEF: - if (defstr) - { - size_t size; - if (*defstr == '-' || *defstr == '=') - { - size = *pend - ++defstr; - - rc = _wsplt_subsplit (wsp, &ws, defstr, size, - WRDSF_NOSPLIT | WRDSF_WS | WRDSF_QUOTE | - (wsp->ws_flags & - (WRDSF_NOVAR | WRDSF_NOCMD)), - 1); - if (rc) - return rc; - - value = ws.ws_wordv[0]; - ws.ws_wordv[0] = NULL; - wordsplit_free (&ws); - - if (defstr[-1] == '=') - wsplt_assign_var (wsp, str, i, value); - } - else - { - if (*defstr == '?') - { - size = *pend - ++defstr; - if (size == 0) - wsp->ws_error (_("%.*s: variable null or not set"), - (int) i, str); - else - { - rc = _wsplt_subsplit (wsp, &ws, defstr, size, - WRDSF_NOSPLIT | WRDSF_WS | - WRDSF_QUOTE | - (wsp->ws_flags & - (WRDSF_NOVAR | WRDSF_NOCMD)), - 1); - if (rc == 0) - wsp->ws_error ("%.*s: %s", - (int) i, str, ws.ws_wordv[0]); - else - wsp->ws_error ("%.*s: %.*s", - (int) i, str, (int) size, defstr); - wordsplit_free (&ws); - } - } - value = NULL; - } - } - else if (wsp->ws_flags & WRDSF_UNDEF) - { - _wsplt_seterr (wsp, WRDSE_UNDEF); - return 1; - } - else - { - if (wsp->ws_flags & WRDSF_WARNUNDEF) - wsp->ws_error (_("warning: undefined variable `%.*s'"), - (int) i, str); - if (wsp->ws_flags & WRDSF_KEEPUNDEF) - value = NULL; - else - { - value = strdup (""); - if (!value) - return _wsplt_nomem (wsp); - } - } - break; - - case WRDSE_NOSPACE: - return _wsplt_nomem (wsp); - - case WRDSE_USERERR: - if (wsp->ws_errno == WRDSE_USERERR) - free (wsp->ws_usererr); - wsp->ws_usererr = value; - /* fall through */ - default: - _wsplt_seterr (wsp, rc); - return 1; - } - - if (value) - { - if (flg & _WSNF_QUOTE) - { - if (wsnode_new (wsp, &newnode)) - return 1; - wsnode_insert (wsp, newnode, *ptail, 0); - *ptail = newnode; - newnode->flags = _WSNF_WORD | _WSNF_NOEXPAND | flg; - newnode->v.word = value; - } - else if (*value == 0) - { - free (value); - /* Empty string is a special case */ - if (wsnode_new (wsp, &newnode)) - return 1; - wsnode_insert (wsp, newnode, *ptail, 0); - *ptail = newnode; - newnode->flags = _WSNF_NULL; - } - else - { - struct wordsplit ws; - int rc; - - rc = _wsplt_subsplit (wsp, &ws, value, strlen (value), - WRDSF_NOVAR | WRDSF_NOCMD | - WRDSF_QUOTE - | (WSP_RETURN_DELIMS (wsp) ? WRDSF_RETURN_DELIMS : 0) , - 0); - free (value); - if (rc) - { - _wsplt_seterr_sub (wsp, &ws); - wordsplit_free (&ws); - return 1; - } - wsnode_insert (wsp, ws.ws_head, *ptail, 0); - *ptail = ws.ws_tail; - ws.ws_head = ws.ws_tail = NULL; - wordsplit_free (&ws); - } - } - else if (wsp->ws_flags & WRDSF_KEEPUNDEF) - { - size_t size = *pend - start + 1; - - if (wsnode_new (wsp, &newnode)) - return 1; - wsnode_insert (wsp, newnode, *ptail, 0); - *ptail = newnode; - newnode->flags = _WSNF_WORD | _WSNF_NOEXPAND | flg; - newnode->v.word = malloc (size + 1); - if (!newnode->v.word) - return _wsplt_nomem (wsp); - memcpy (newnode->v.word, start, size); - newnode->v.word[size] = 0; - } - else - { - if (wsnode_new (wsp, &newnode)) - return 1; - wsnode_insert (wsp, newnode, *ptail, 0); - *ptail = newnode; - newnode->flags = _WSNF_NULL; - } - return 0; -} - -static int -begin_var_p (int c) -{ - return c == '{' || ISVARBEG (c); -} - -static int -node_expand (struct wordsplit *wsp, struct wordsplit_node *node, - int (*beg_p) (int), - int (*ws_exp_fn) (struct wordsplit *wsp, - const char *str, size_t len, - struct wordsplit_node **ptail, - const char **pend, - int flg)) -{ - const char *str = wsnode_ptr (wsp, node); - size_t slen = wsnode_len (node); - const char *end = str + slen; - const char *p; - size_t off = 0; - struct wordsplit_node *tail = node; - - for (p = str; p < end; p++) - { - if (*p == '\\') - { - p++; - continue; - } - if (*p == '$' && beg_p (p[1])) - { - size_t n = p - str; - - if (tail != node) - tail->flags |= _WSNF_JOIN; - if (node_split_prefix (wsp, &tail, node, off, n, _WSNF_JOIN)) - return 1; - p++; - if (ws_exp_fn (wsp, p, slen - n, &tail, &p, - node->flags & (_WSNF_JOIN | _WSNF_QUOTE))) - return 1; - off += p - str + 1; - str = p + 1; - } - } - if (p > str) - { - if (tail != node) - tail->flags |= _WSNF_JOIN; - if (node_split_prefix (wsp, &tail, node, off, p - str, - node->flags & (_WSNF_JOIN|_WSNF_QUOTE))) - return 1; - } - if (tail != node) - { - wsnode_remove (wsp, node); - wsnode_free (node); - } - return 0; -} - -/* Remove NULL nodes from the list */ -static void -wsnode_nullelim (struct wordsplit *wsp) -{ - struct wordsplit_node *p; - - for (p = wsp->ws_head; p;) - { - struct wordsplit_node *next = p->next; - if (p->flags & _WSNF_DELIM && p->prev) - p->prev->flags &= ~_WSNF_JOIN; - if (p->flags & _WSNF_NULL) - { - wsnode_remove (wsp, p); - wsnode_free (p); - } - p = next; - } -} - -static int -wordsplit_varexp (struct wordsplit *wsp) -{ - struct wordsplit_node *p; - - for (p = wsp->ws_head; p;) - { - struct wordsplit_node *next = p->next; - if (!(p->flags & (_WSNF_NOEXPAND|_WSNF_DELIM))) - if (node_expand (wsp, p, begin_var_p, expvar)) - return 1; - p = next; - } - - wsnode_nullelim (wsp); - return 0; -} - -static int -begin_cmd_p (int c) -{ - return c == '('; -} - -static int -expcmd (struct wordsplit *wsp, const char *str, size_t len, - struct wordsplit_node **ptail, const char **pend, int flg) -{ - int rc; - size_t j; - char *value; - struct wordsplit_node *newnode; - struct wordsplit ws; - - str++; - len--; - - if (find_closing_paren (str, 0, len, &j, "()")) - { - _wsplt_seterr (wsp, WRDSE_PAREN); - return 1; - } - - *pend = str + j; - rc = _wsplt_subsplit (wsp, &ws, str, j, WRDSF_WS | WRDSF_QUOTE, 1); - if (rc) - { - _wsplt_seterr_sub (wsp, &ws); - wordsplit_free (&ws); - return 1; - } - rc = wsp->ws_command (&value, str, j, ws.ws_wordv, wsp->ws_closure); - wordsplit_free (&ws); - - if (rc == WRDSE_NOSPACE) - return _wsplt_nomem (wsp); - else if (rc) - { - if (rc == WRDSE_USERERR) - { - if (wsp->ws_errno == WRDSE_USERERR) - free (wsp->ws_usererr); - wsp->ws_usererr = value; - } - _wsplt_seterr (wsp, rc); - return 1; - } - - if (value) - { - if (flg & _WSNF_QUOTE) - { - if (wsnode_new (wsp, &newnode)) - return 1; - wsnode_insert (wsp, newnode, *ptail, 0); - *ptail = newnode; - newnode->flags = _WSNF_WORD | _WSNF_NOEXPAND | flg; - newnode->v.word = value; - } - else if (*value == 0) - { - free (value); - /* Empty string is a special case */ - if (wsnode_new (wsp, &newnode)) - return 1; - wsnode_insert (wsp, newnode, *ptail, 0); - *ptail = newnode; - newnode->flags = _WSNF_NULL; - } - else - { - struct wordsplit ws; - int rc; - - rc = _wsplt_subsplit (wsp, &ws, value, strlen (value), - WRDSF_NOVAR | WRDSF_NOCMD - | WRDSF_WS | WRDSF_QUOTE - | (WSP_RETURN_DELIMS (wsp) ? WRDSF_RETURN_DELIMS : 0), - 0); - free (value); - if (rc) - { - _wsplt_seterr_sub (wsp, &ws); - wordsplit_free (&ws); - return 1; - } - wsnode_insert (wsp, ws.ws_head, *ptail, 0); - *ptail = ws.ws_tail; - ws.ws_head = ws.ws_tail = NULL; - wordsplit_free (&ws); - } - } - else - { - if (wsnode_new (wsp, &newnode)) - return 1; - wsnode_insert (wsp, newnode, *ptail, 0); - *ptail = newnode; - newnode->flags = _WSNF_NULL; - } - return 0; -} - -static int -wordsplit_cmdexp (struct wordsplit *wsp) -{ - struct wordsplit_node *p; - - for (p = wsp->ws_head; p;) - { - struct wordsplit_node *next = p->next; - if (!(p->flags & _WSNF_NOEXPAND)) - if (node_expand (wsp, p, begin_cmd_p, expcmd)) - return 1; - p = next; - } - - wsnode_nullelim (wsp); - return 0; -} - -/* Strip off any leading and trailing whitespace. This function is called - right after the initial scanning, therefore it assumes that every - node in the list is a text reference node. */ -static int -wordsplit_trimws (struct wordsplit *wsp) -{ - struct wordsplit_node *p; - - for (p = wsp->ws_head; p; p = p->next) - { - size_t n; - - if (!(p->flags & _WSNF_QUOTE)) - { - /* Skip leading whitespace: */ - for (n = p->v.segm.beg; n < p->v.segm.end && ISWS (wsp->ws_input[n]); - n++) - ; - p->v.segm.beg = n; - } - - while (p->next && (p->flags & _WSNF_JOIN)) - p = p->next; - - if (p->flags & _WSNF_QUOTE) - continue; - - /* Trim trailing whitespace */ - for (n = p->v.segm.end; - n > p->v.segm.beg && ISWS (wsp->ws_input[n - 1]); n--); - p->v.segm.end = n; - if (p->v.segm.beg == p->v.segm.end) - p->flags |= _WSNF_NULL; - } - - wsnode_nullelim (wsp); - return 0; -} - -static int -wordsplit_tildexpand (struct wordsplit *wsp) -{ - struct wordsplit_node *p; - char *uname = NULL; - size_t usize = 0; - - for (p = wsp->ws_head; p; p = p->next) - { - const char *str; - - if (p->flags & _WSNF_QUOTE) - continue; - - str = wsnode_ptr (wsp, p); - if (str[0] == '~') - { - size_t i, size, dlen; - size_t slen = wsnode_len (p); - struct passwd *pw; - char *newstr; - - for (i = 1; i < slen && str[i] != '/'; i++) - ; - if (i == slen) - continue; - if (i > 1) - { - if (i > usize) - { - char *p = realloc (uname, i); - if (!p) - { - free (uname); - return _wsplt_nomem (wsp); - } - uname = p; - usize = i; - } - --i; - memcpy (uname, str + 1, i); - uname[i] = 0; - pw = getpwnam (uname); - } - else - pw = getpwuid (getuid ()); - - if (!pw) - continue; - - dlen = strlen (pw->pw_dir); - size = slen - i + dlen; - newstr = malloc (size); - if (!newstr) - { - free (uname); - return _wsplt_nomem (wsp); - } - --size; - - memcpy (newstr, pw->pw_dir, dlen); - memcpy (newstr + dlen, str + i + 1, slen - i - 1); - newstr[size] = 0; - if (p->flags & _WSNF_WORD) - free (p->v.word); - p->v.word = newstr; - p->flags |= _WSNF_WORD; - } - } - free (uname); - return 0; -} - -static int -isglob (const char *s, int l) -{ - while (l--) - { - if (strchr ("*?[", *s++)) - return 1; - } - return 0; -} - -static int -wordsplit_pathexpand (struct wordsplit *wsp) -{ - struct wordsplit_node *p, *next; - char *pattern = NULL; - size_t patsize = 0; - size_t slen; - int flags = 0; - -#ifdef GLOB_PERIOD - if (wsp->ws_options & WRDSO_DOTGLOB) - flags = GLOB_PERIOD; -#endif - - for (p = wsp->ws_head; p; p = next) - { - const char *str; - - next = p->next; - - if (p->flags & _WSNF_QUOTE) - continue; - - str = wsnode_ptr (wsp, p); - slen = wsnode_len (p); - - if (isglob (str, slen)) - { - int i; - glob_t g; - struct wordsplit_node *prev; - - if (slen + 1 > patsize) - { - char *p = realloc (pattern, slen + 1); - if (!p) - return _wsplt_nomem (wsp); - pattern = p; - patsize = slen + 1; - } - memcpy (pattern, str, slen); - pattern[slen] = 0; - - switch (glob (pattern, flags, NULL, &g)) - { - case 0: - break; - - case GLOB_NOSPACE: - free (pattern); - return _wsplt_nomem (wsp); - - case GLOB_NOMATCH: - if (wsp->ws_options & WRDSO_NULLGLOB) - { - wsnode_remove (wsp, p); - wsnode_free (p); - } - else if (wsp->ws_options & WRDSO_FAILGLOB) - { - char buf[128]; - if (wsp->ws_errno == WRDSE_USERERR) - free (wsp->ws_usererr); - snprintf (buf, sizeof (buf), _("no files match pattern %s"), - pattern); - free (pattern); - wsp->ws_usererr = strdup (buf); - if (!wsp->ws_usererr) - return _wsplt_nomem (wsp); - else - return _wsplt_seterr (wsp, WRDSE_USERERR); - } - continue; - - default: - free (pattern); - return _wsplt_seterr (wsp, WRDSE_GLOBERR); - } - - prev = p; - for (i = 0; i < g.gl_pathc; i++) - { - struct wordsplit_node *newnode; - char *newstr; - - if (wsnode_new (wsp, &newnode)) - return 1; - newstr = strdup (g.gl_pathv[i]); - if (!newstr) - return _wsplt_nomem (wsp); - newnode->v.word = newstr; - newnode->flags |= _WSNF_WORD|_WSNF_QUOTE; - wsnode_insert (wsp, newnode, prev, 0); - prev = newnode; - } - globfree (&g); - - wsnode_remove (wsp, p); - wsnode_free (p); - } - } - free (pattern); - return 0; -} - -static int -skip_sed_expr (const char *command, size_t i, size_t len) -{ - int state; - - do - { - int delim; - - if (command[i] == ';') - i++; - if (!(command[i] == 's' && i + 3 < len && ISPUNCT (command[i + 1]))) - break; - - delim = command[++i]; - state = 1; - for (i++; i < len; i++) - { - if (state == 3) - { - if (command[i] == delim || !ISALNUM (command[i])) - break; - } - else if (command[i] == '\\') - i++; - else if (command[i] == delim) - state++; - } - } - while (state == 3 && i < len && command[i] == ';'); - return i; -} - -/* wsp->ws_endp points to a delimiter character. If RETURN_DELIMS - is true, return its value, otherwise return the index past it. */ -static inline size_t -skip_delim_internal (struct wordsplit *wsp, int return_delims) -{ - return return_delims ? wsp->ws_endp : wsp->ws_endp + 1; -} - -static inline size_t -skip_delim (struct wordsplit *wsp) -{ - return skip_delim_internal (wsp, WSP_RETURN_DELIMS (wsp)); -} - -static inline size_t -skip_delim_real (struct wordsplit *wsp) -{ - return skip_delim_internal (wsp, wsp->ws_flags & WRDSF_RETURN_DELIMS); -} - -#define _WRDS_EOF 0 -#define _WRDS_OK 1 -#define _WRDS_ERR 2 - -static int -scan_qstring (struct wordsplit *wsp, size_t start, size_t *end) -{ - size_t j; - const char *command = wsp->ws_input; - size_t len = wsp->ws_len; - char q = command[start]; - - for (j = start + 1; j < len && command[j] != q; j++) - if (q == '"' && command[j] == '\\') - j++; - if (j < len && command[j] == q) - { - int flags = _WSNF_QUOTE | _WSNF_EMPTYOK; - if (q == '\'') - flags |= _WSNF_NOEXPAND; - if (wordsplit_add_segm (wsp, start + 1, j, flags)) - return _WRDS_ERR; - *end = j; - } - else - { - wsp->ws_endp = start; - _wsplt_seterr (wsp, WRDSE_QUOTE); - return _WRDS_ERR; - } - return 0; -} - -static int -scan_word (struct wordsplit *wsp, size_t start, int consume_all) -{ - size_t len = wsp->ws_len; - const char *command = wsp->ws_input; - const char *comment = wsp->ws_comment; - int join = 0; - int flags = 0; - struct wordsplit_node *np = wsp->ws_tail; - - size_t i = start; - - if (i >= len) - { - wsp->ws_errno = WRDSE_EOF; - return _WRDS_EOF; - } - - start = i; - - if (wsp->ws_flags & WRDSF_SED_EXPR - && command[i] == 's' && i + 3 < len && ISPUNCT (command[i + 1])) - { - flags = _WSNF_SEXP; - i = skip_sed_expr (command, i, len); - } - else if (consume_all || !ISDELIM (wsp, command[i])) - { - while (i < len) - { - if (comment && strchr (comment, command[i]) != NULL) - { - size_t j; - for (j = i + 1; j < len && command[j] != '\n'; j++) - ; - if (wordsplit_add_segm (wsp, start, i, 0)) - return _WRDS_ERR; - wsp->ws_endp = j; - return _WRDS_OK; - } - - if (wsp->ws_flags & WRDSF_QUOTE) - { - if (command[i] == '\\') - { - if (++i == len) - break; - i++; - continue; - } - - if (((wsp->ws_flags & WRDSF_SQUOTE) && command[i] == '\'') || - ((wsp->ws_flags & WRDSF_DQUOTE) && command[i] == '"')) - { - if (join && wsp->ws_tail) - wsp->ws_tail->flags |= _WSNF_JOIN; - if (wordsplit_add_segm (wsp, start, i, _WSNF_JOIN)) - return _WRDS_ERR; - if (scan_qstring (wsp, i, &i)) - return _WRDS_ERR; - start = i + 1; - join = 1; - } - } - - if (command[i] == '$') - { - if (!(wsp->ws_flags & WRDSF_NOVAR) - && command[i+1] == '{' - && find_closing_paren (command, i + 2, len, &i, "{}") == 0) - continue; - if (!(wsp->ws_flags & WRDSF_NOCMD) - && command[i+1] == '(' - && find_closing_paren (command, i + 2, len, &i, "()") == 0) - continue; - } - - if (!consume_all && ISDELIM (wsp, command[i])) - break; - else - i++; - } - } - else if (WSP_RETURN_DELIMS (wsp)) - { - i++; - flags |= _WSNF_DELIM; - } - else if (!(wsp->ws_flags & WRDSF_SQUEEZE_DELIMS)) - flags |= _WSNF_EMPTYOK; - - if (join && i > start && wsp->ws_tail) - wsp->ws_tail->flags |= _WSNF_JOIN; - if (wordsplit_add_segm (wsp, start, i, flags)) - return _WRDS_ERR; - wsp->ws_endp = i; - if (wsp->ws_flags & WRDSF_INCREMENTAL) - return _WRDS_EOF; - - if (consume_all) - { - if (!np) - np = wsp->ws_head; - while (np) - { - np->flags |= _WSNF_QUOTE; - np = np->next; - } - } - - return _WRDS_OK; -} - -#define to_num(c) \ - (ISDIGIT(c) ? c - '0' : (ISXDIGIT(c) ? toupper(c) - 'A' + 10 : 255 )) - -static int -xtonum (int *pval, const char *src, int base, int cnt) -{ - int i, val; - - for (i = 0, val = 0; i < cnt; i++, src++) - { - int n = *(unsigned char *) src; - if (n > 127 || (n = to_num (n)) >= base) - break; - val = val * base + n; - } - *pval = val; - return i; -} - -size_t -wordsplit_c_quoted_length (const char *str, int quote_hex, int *quote) -{ - size_t len = 0; - - *quote = 0; - for (; *str; str++) - { - if (strchr (" \"", *str)) - *quote = 1; - - if (*str == ' ') - len++; - else if (*str == '"') - len += 2; - else if (*str != '\t' && *str != '\\' && ISPRINT (*str)) - len++; - else if (quote_hex) - len += 3; - else - { - if (wordsplit_c_quote_char (*str)) - len += 2; - else - len += 4; - } - } - return len; -} - -static int -wsplt_unquote_char (const char *transtab, int c) -{ - while (*transtab && transtab[1]) - { - if (*transtab++ == c) - return *transtab; - ++transtab; - } - return 0; -} - -static int -wsplt_quote_char (const char *transtab, int c) -{ - for (; *transtab && transtab[1]; transtab += 2) - { - if (transtab[1] == c) - return *transtab; - } - return 0; -} - -int -wordsplit_c_unquote_char (int c) -{ - return wsplt_unquote_char (wordsplit_c_escape_tab, c); -} - -int -wordsplit_c_quote_char (int c) -{ - return wsplt_quote_char (wordsplit_c_escape_tab, c); -} - -void -wordsplit_string_unquote_copy (struct wordsplit *ws, int inquote, - char *dst, const char *src, size_t n) -{ - int i = 0; - int c; - - inquote = !!inquote; - while (i < n) - { - if (src[i] == '\\') - { - ++i; - if (WRDSO_ESC_TEST (ws, inquote, WRDSO_XESC) - && (src[i] == 'x' || src[i] == 'X')) - { - if (n - i < 2) - { - *dst++ = '\\'; - *dst++ = src[i++]; - } - else - { - int off = xtonum (&c, src + i + 1, - 16, 2); - if (off == 0) - { - *dst++ = '\\'; - *dst++ = src[i++]; - } - else - { - *dst++ = c; - i += off + 1; - } - } - } - else if (WRDSO_ESC_TEST (ws, inquote, WRDSO_OESC) - && (unsigned char) src[i] < 128 && ISDIGIT (src[i])) - { - if (n - i < 1) - { - *dst++ = '\\'; - *dst++ = src[i++]; - } - else - { - int off = xtonum (&c, src + i, 8, 3); - if (off == 0) - { - *dst++ = '\\'; - *dst++ = src[i++]; - } - else - { - *dst++ = c; - i += off; - } - } - } - else if ((c = wsplt_unquote_char (ws->ws_escape[inquote], src[i]))) - { - *dst++ = c; - ++i; - } - else - { - if (WRDSO_ESC_TEST (ws, inquote, WRDSO_BSKEEP)) - *dst++ = '\\'; - *dst++ = src[i++]; - } - } - else - *dst++ = src[i++]; - } - *dst = 0; -} - -void -wordsplit_c_quote_copy (char *dst, const char *src, int quote_hex) -{ - for (; *src; src++) - { - if (*src == '"') - { - *dst++ = '\\'; - *dst++ = *src; - } - else if (*src != '\t' && *src != '\\' && ISPRINT (*src)) - *dst++ = *src; - else - { - char tmp[4]; - - if (quote_hex) - { - snprintf (tmp, sizeof tmp, "%%%02X", *(unsigned char *) src); - memcpy (dst, tmp, 3); - dst += 3; - } - else - { - int c = wordsplit_c_quote_char (*src); - *dst++ = '\\'; - if (c) - *dst++ = c; - else - { - snprintf (tmp, sizeof tmp, "%03o", *(unsigned char *) src); - memcpy (dst, tmp, 3); - dst += 3; - } - } - } - } -} - - -/* This structure describes a single expansion phase */ -struct exptab -{ - char const *descr; /* Textual description (for debugging) */ - int flag; /* WRDSF_ bit that controls this phase */ - int opt; /* Entry-specific options (see EXPOPT_ flags below */ - int (*expansion) (struct wordsplit *wsp); /* expansion function */ -}; - -/* The following options control expansions: */ -/* Normally the exptab entry is run if its flag bit is set in struct - wordsplit. The EXPOPT_NEG option negates this test so that expansion - is performed if its associated flag bit is not set in struct wordsplit. */ -#define EXPOPT_NEG 0x01 -/* All bits in flag must be set in order for entry to match */ -#define EXPORT_ALLOF 0x02 -/* Coalesce the input list before running the expansion. */ -#define EXPOPT_COALESCE 0x04 - -static struct exptab exptab[] = { - { N_("WS trimming"), WRDSF_WS, 0, - wordsplit_trimws }, - { N_("command substitution"), WRDSF_NOCMD, EXPOPT_NEG|EXPOPT_COALESCE, - wordsplit_cmdexp }, - { N_("coalesce list"), 0, EXPOPT_NEG|EXPOPT_COALESCE, - NULL }, - { N_("tilde expansion"), WRDSF_PATHEXPAND, 0, - wordsplit_tildexpand }, - { N_("variable expansion"), WRDSF_NOVAR, EXPOPT_NEG, - wordsplit_varexp }, - { N_("quote removal"), 0, EXPOPT_NEG, - wsnode_quoteremoval }, - { N_("coalesce list"), 0, EXPOPT_NEG|EXPOPT_COALESCE, - NULL }, - { N_("path expansion"), WRDSF_PATHEXPAND, 0, - wordsplit_pathexpand }, - { NULL } -}; - -static inline int -exptab_matches(struct exptab *p, struct wordsplit *wsp) -{ - int result; - - result = (wsp->ws_flags & p->flag); - if (p->opt & EXPORT_ALLOF) - result = result == p->flag; - if (p->opt & EXPOPT_NEG) - result = !result; - - return result; -} - -static int -wordsplit_process_list (struct wordsplit *wsp, size_t start) -{ - struct exptab *p; - - if (wsp->ws_flags & WRDSF_SHOWDBG) - wsp->ws_debug (_("(%02d) Input:%.*s;"), - wsp->ws_lvl, (int) wsp->ws_len, wsp->ws_input); - - if ((wsp->ws_flags & WRDSF_NOSPLIT) - || ((wsp->ws_options & WRDSO_MAXWORDS) - && wsp->ws_wordi + 1 == wsp->ws_maxwords)) - { - /* Treat entire input as a single word */ - if (scan_word (wsp, start, 1) == _WRDS_ERR) - return wsp->ws_errno; - } - else - { - int rc; - - while ((rc = scan_word (wsp, start, 0)) == _WRDS_OK) - start = skip_delim (wsp); - /* Make sure tail element is not joinable */ - if (wsp->ws_tail) - wsp->ws_tail->flags &= ~_WSNF_JOIN; - if (rc == _WRDS_ERR) - return wsp->ws_errno; - } - - if (wsp->ws_flags & WRDSF_SHOWDBG) - { - wsp->ws_debug ("(%02d) %s", wsp->ws_lvl, _("Initial list:")); - wordsplit_dump_nodes (wsp); - } - - for (p = exptab; p->descr; p++) - { - if (exptab_matches(p, wsp)) - { - if (p->opt & EXPOPT_COALESCE) - { - if (wsnode_coalesce (wsp)) - break; - if (wsp->ws_flags & WRDSF_SHOWDBG) - { - wsp->ws_debug ("(%02d) %s", wsp->ws_lvl, - _("Coalesced list:")); - wordsplit_dump_nodes (wsp); - } - } - if (p->expansion) - { - if (p->expansion (wsp)) - break; - if (wsp->ws_flags & WRDSF_SHOWDBG) - { - wsp->ws_debug ("(%02d) %s", wsp->ws_lvl, _(p->descr)); - wordsplit_dump_nodes (wsp); - } - } - } - } - return wsp->ws_errno; -} - -static int -wordsplit_run (const char *command, size_t length, struct wordsplit *wsp, - int flags, int lvl) -{ - int rc; - size_t start; - - if (!command) - { - if (!(flags & WRDSF_INCREMENTAL)) - return _wsplt_seterr (wsp, WRDSE_USAGE); - - if (wsp->ws_head) - return wordsplit_finish (wsp); - - start = skip_delim_real (wsp); - if (wsp->ws_endp == wsp->ws_len) - return _wsplt_seterr (wsp, WRDSE_NOINPUT); - - wsp->ws_flags |= WRDSF_REUSE; - wordsplit_init0 (wsp); - } - else - { - start = 0; - rc = wordsplit_init (wsp, command, length, flags); - if (rc) - return rc; - wsp->ws_lvl = lvl; - } - - rc = wordsplit_process_list (wsp, start); - if (rc) - return rc; - return wordsplit_finish (wsp); -} - -int -wordsplit_len (const char *command, size_t length, struct wordsplit *wsp, - int flags) -{ - return wordsplit_run (command, length, wsp, flags, 0); -} - -int -wordsplit (const char *command, struct wordsplit *ws, int flags) -{ - return wordsplit_len (command, command ? strlen (command) : 0, ws, flags); -} - -void -wordsplit_free_words (struct wordsplit *ws) -{ - size_t i; - - for (i = 0; i < ws->ws_wordc; i++) - { - char *p = ws->ws_wordv[ws->ws_offs + i]; - if (p) - { - free (p); - ws->ws_wordv[ws->ws_offs + i] = NULL; - } - } - ws->ws_wordc = 0; -} - -void -wordsplit_free_envbuf (struct wordsplit *ws) -{ - if (ws->ws_flags & WRDSF_NOCMD) - return; - if (ws->ws_envbuf) - { - size_t i; - - for (i = 0; ws->ws_envbuf[i]; i++) - free (ws->ws_envbuf[i]); - free (ws->ws_envbuf); - ws->ws_envidx = ws->ws_envsiz = 0; - ws->ws_envbuf = NULL; - } -} - -void -wordsplit_clearerr (struct wordsplit *ws) -{ - if (ws->ws_errno == WRDSE_USERERR) - free (ws->ws_usererr); - ws->ws_usererr = NULL; - ws->ws_errno = WRDSE_OK; -} - -void -wordsplit_free (struct wordsplit *ws) -{ - wordsplit_free_nodes (ws); - wordsplit_free_words (ws); - free (ws->ws_wordv); - ws->ws_wordv = NULL; - wordsplit_free_envbuf (ws); -} - -int -wordsplit_get_words (struct wordsplit *ws, size_t *wordc, char ***wordv) -{ - char **p = realloc (ws->ws_wordv, - (ws->ws_wordc + 1) * sizeof (ws->ws_wordv[0])); - if (!p) - return -1; - *wordv = p; - *wordc = ws->ws_wordc; - - ws->ws_wordv = NULL; - ws->ws_wordc = 0; - ws->ws_wordn = 0; - - return 0; -} - -const char *_wordsplit_errstr[] = { - N_("no error"), - N_("missing closing quote"), - N_("memory exhausted"), - N_("invalid wordsplit usage"), - N_("unbalanced curly brace"), - N_("undefined variable"), - N_("input exhausted"), - N_("unbalanced parenthesis"), - N_("globbing error") -}; -int _wordsplit_nerrs = - sizeof (_wordsplit_errstr) / sizeof (_wordsplit_errstr[0]); - -const char * -wordsplit_strerror (struct wordsplit *ws) -{ - if (ws->ws_errno == WRDSE_USERERR) - return ws->ws_usererr; - if (ws->ws_errno < _wordsplit_nerrs) - return _wordsplit_errstr[ws->ws_errno]; - return N_("unknown error"); -} - -void -wordsplit_perror (struct wordsplit *wsp) -{ - switch (wsp->ws_errno) - { - case WRDSE_QUOTE: - wsp->ws_error (_("missing closing %c (start near #%lu)"), - wsp->ws_input[wsp->ws_endp], - (unsigned long) wsp->ws_endp); - break; - - default: - wsp->ws_error ("%s", wordsplit_strerror (wsp)); - } -} - diff -Nru dico-2.9/grecs/tests/Makefile.am dico-2.10/grecs/tests/Makefile.am --- dico-2.9/grecs/tests/Makefile.am 2019-02-18 19:01:25.000000000 +0000 +++ dico-2.10/grecs/tests/Makefile.am 2020-06-14 10:25:41.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of grecs - Gray's Extensible Configuration System -# Copyright (C) 2007-2016 Sergey Poznyakoff +# Copyright (C) 2007-2019 Sergey Poznyakoff # # Grecs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -125,7 +125,6 @@ strcat.at\ testsuite.at\ vercmp.at\ - wordsplit.at\ @GRECS_DISTCK_AT@ TESTSUITE = $(srcdir)/testsuite @@ -139,10 +138,10 @@ atconfig: $(top_builddir)/config.status cd $(top_builddir) && ./config.status tests/$@ -clean-local: +clean-local: clean-wordsplit test ! -f $(TESTSUITE) || $(SHELL) $(TESTSUITE) --clean -check-local: atconfig atlocal $(TESTSUITE) $(noinst_PROGRAMS) +check-local: check-wordsplit atconfig atlocal $(TESTSUITE) $(noinst_PROGRAMS) $(SHELL) $(TESTSUITE) # Run the test suite on the *installed* tree. @@ -155,15 +154,60 @@ gcfenum\ gcfpeek\ gcfset\ - gcfver\ - wsp + gcfver if GRECS_COND_JSON noinst_PROGRAMS += json endif -LDADD = @GRECS_LDADD@ $(LIBINTL) @GRECS_HOST_PROJECT_LDADD@ -AM_CPPFLAGS = @GRECS_INCLUDES@ @GRECS_HOST_PROJECT_INCLUDES@ +LDADD = @GRECS_LDADD@ $(LIBINTL) $(LIBICONV) @GRECS_HOST_PROJECT_LDADD@ +AM_CPPFLAGS = @GRECS_INCLUDES@ @GRECS_HOST_PROJECT_INCLUDES@ -I$(srcdir) + +# Wordsplit testsuite +WSTEST = $(srcdir)/wstest +EXTRA_DIST += wstest wstest.at wspackage.m4 wordsplit-version.h +$(WSTEST): wstest.at $(top_srcdir)/@GRECS_SUBDIR@/wordsplit/wordsplit.at $(srcdir)/wspackage.m4 + $(AM_V_GEN)$(AUTOTEST) -I $(srcdir) \ + -I $(top_srcdir)/@GRECS_SUBDIR@/wordsplit \ + wspackage.m4 \ + wstest.at \ + wordsplit.at \ + -o $(WSTEST).tmp + $(AM_V_at)mv $(WSTEST).tmp $(WSTEST) + +$(srcdir)/wspackage.m4: $(top_srcdir)/configure.ac $(top_srcdir)/@GRECS_SUBDIR@/am/grecs.m4 + $(AM_V_GEN){\ + if test -e $(top_srcdir)/@GRECS_SUBDIR@/wordsplit/.git; then \ + wsversion=$$(cd $(top_srcdir)/@GRECS_SUBDIR@/wordsplit; git describe); \ + else \ + wsversion="unknown"; \ + fi;\ + echo 'm4_define([AT_PACKAGE_NAME], [wordsplit])'; \ + echo 'm4_define([AT_PACKAGE_TARNAME], [wordsplit])'; \ + echo "m4_define([AT_PACKAGE_VERSION], [$$wsversion])"; \ + echo 'm4_define([AT_PACKAGE_STRING], [AT_PACKAGE_TARNAME AT_PACKAGE_VERSION])'; \ + echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \ + } > $(srcdir)/wspackage.m4 + +$(srcdir)/wordsplit-version.h: $(srcdir)/wspackage.m4 + $(AM_V_GEN){ echo "m4_divert(-1)";\ + echo "m4_changequote([,])";\ + echo "m4_changecom([//])";\ + echo "m4_include($(srcdir)/wspackage.m4)";\ + echo 'm4_divert(0)#define WORDSPLIT_VERSION "AT_PACKAGE_VERSION"'; } | \ + $(M4) -P - > $(srcdir)/wordsplit-version.h + +noinst_PROGRAMS += wsp +wsp_SOURCES = +nodist_wsp_SOURCES = wsp.c +wsp.o: $(srcdir)/wordsplit-version.h +VPATH += $(top_srcdir)/@GRECS_SUBDIR@/wordsplit + +clean-wordsplit: + test ! -f $(WSTEST) || $(SHELL) $(WSTEST) --clean + +check-wordsplit: atconfig atlocal $(WSTEST) $(noinst_PROGRAMS) + $(SHELL) $(WSTEST) diff -Nru dico-2.9/grecs/tests/Makefile.in dico-2.10/grecs/tests/Makefile.in --- dico-2.9/grecs/tests/Makefile.in 2019-04-24 06:43:57.000000000 +0000 +++ dico-2.10/grecs/tests/Makefile.in 2020-09-04 04:04:55.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of grecs - Gray's Extensible Configuration System -# Copyright (C) 2007-2016 Sergey Poznyakoff +# Copyright (C) 2007-2019 Sergey Poznyakoff # # Grecs is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -30,7 +30,6 @@ # You should have received a copy of the GNU General Public License # along with Grecs. If not, see . -VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ @@ -110,8 +109,8 @@ @GRECS_COND_GIT_PARSER_TRUE@am__append_4 = ENABLE_GIT_PARSER @GRECS_COND_JSON_TRUE@am__append_5 = ENABLE_JSON noinst_PROGRAMS = distck$(EXEEXT) gcffmt$(EXEEXT) gcfenum$(EXEEXT) \ - gcfpeek$(EXEEXT) gcfset$(EXEEXT) gcfver$(EXEEXT) wsp$(EXEEXT) \ - $(am__EXEEXT_1) + gcfpeek$(EXEEXT) gcfset$(EXEEXT) gcfver$(EXEEXT) \ + $(am__EXEEXT_1) wsp$(EXEEXT) @GRECS_COND_JSON_TRUE@am__append_6 = json subdir = grecs/tests ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -121,8 +120,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -154,15 +153,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -211,7 +210,7 @@ distck_OBJECTS = distck.$(OBJEXT) distck_LDADD = $(LDADD) am__DEPENDENCIES_1 = -distck_DEPENDENCIES = $(am__DEPENDENCIES_1) +distck_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent @@ -219,31 +218,32 @@ gcfenum_SOURCES = gcfenum.c gcfenum_OBJECTS = gcfenum.$(OBJEXT) gcfenum_LDADD = $(LDADD) -gcfenum_DEPENDENCIES = $(am__DEPENDENCIES_1) +gcfenum_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) gcffmt_SOURCES = gcffmt.c gcffmt_OBJECTS = gcffmt.$(OBJEXT) gcffmt_LDADD = $(LDADD) -gcffmt_DEPENDENCIES = $(am__DEPENDENCIES_1) +gcffmt_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) gcfpeek_SOURCES = gcfpeek.c gcfpeek_OBJECTS = gcfpeek.$(OBJEXT) gcfpeek_LDADD = $(LDADD) -gcfpeek_DEPENDENCIES = $(am__DEPENDENCIES_1) +gcfpeek_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) gcfset_SOURCES = gcfset.c gcfset_OBJECTS = gcfset.$(OBJEXT) gcfset_LDADD = $(LDADD) -gcfset_DEPENDENCIES = $(am__DEPENDENCIES_1) +gcfset_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) gcfver_SOURCES = gcfver.c gcfver_OBJECTS = gcfver.$(OBJEXT) gcfver_LDADD = $(LDADD) -gcfver_DEPENDENCIES = $(am__DEPENDENCIES_1) +gcfver_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) json_SOURCES = json.c json_OBJECTS = json.$(OBJEXT) json_LDADD = $(LDADD) -json_DEPENDENCIES = $(am__DEPENDENCIES_1) -wsp_SOURCES = wsp.c -wsp_OBJECTS = wsp.$(OBJEXT) +json_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am_wsp_OBJECTS = +nodist_wsp_OBJECTS = wsp.$(OBJEXT) +wsp_OBJECTS = $(am_wsp_OBJECTS) $(nodist_wsp_OBJECTS) wsp_LDADD = $(LDADD) -wsp_DEPENDENCIES = $(am__DEPENDENCIES_1) +wsp_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -279,9 +279,9 @@ am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = distck.c gcfenum.c gcffmt.c gcfpeek.c gcfset.c gcfver.c \ - json.c wsp.c + json.c $(wsp_SOURCES) $(nodist_wsp_SOURCES) DIST_SOURCES = distck.c gcfenum.c gcffmt.c gcfpeek.c gcfset.c gcfver.c \ - json.c wsp.c + json.c $(wsp_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -309,6 +309,7 @@ am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/atlocal.in \ $(top_srcdir)/build-aux/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +VPATH = @srcdir@ $(top_srcdir)/@GRECS_SUBDIR@/wordsplit ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALLOCA_H = @ALLOCA_H@ @@ -317,7 +318,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -652,6 +652,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -965,9 +966,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -1296,20 +1299,10 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -EXTRA_DIST = \ - $(TESTSUITE_AT)\ - testsuite\ - package.m4\ - gcf1.conf\ - bind.conf\ - bind.keys\ - bind.int.conf\ - bind.ext.conf\ - bind.dlz\ - dhcpd.conf\ - meta1.conf\ - git.conf - +EXTRA_DIST = $(TESTSUITE_AT) testsuite package.m4 gcf1.conf bind.conf \ + bind.keys bind.int.conf bind.ext.conf bind.dlz dhcpd.conf \ + meta1.conf git.conf wstest wstest.at wspackage.m4 \ + wordsplit-version.h DISTCLEANFILES = atconfig $(check_SCRIPTS) MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE) PARSER_DEFS = $(am__append_1) $(am__append_2) $(am__append_3) \ @@ -1364,14 +1357,18 @@ strcat.at\ testsuite.at\ vercmp.at\ - wordsplit.at\ @GRECS_DISTCK_AT@ TESTSUITE = $(srcdir)/testsuite M4 = m4 AUTOTEST = $(AUTOM4TE) --language=autotest -LDADD = @GRECS_LDADD@ $(LIBINTL) @GRECS_HOST_PROJECT_LDADD@ -AM_CPPFLAGS = @GRECS_INCLUDES@ @GRECS_HOST_PROJECT_INCLUDES@ +LDADD = @GRECS_LDADD@ $(LIBINTL) $(LIBICONV) @GRECS_HOST_PROJECT_LDADD@ +AM_CPPFLAGS = @GRECS_INCLUDES@ @GRECS_HOST_PROJECT_INCLUDES@ -I$(srcdir) + +# Wordsplit testsuite +WSTEST = $(srcdir)/wstest +wsp_SOURCES = +nodist_wsp_SOURCES = wsp.c all: all-am .SUFFIXES: @@ -1723,11 +1720,48 @@ atconfig: $(top_builddir)/config.status cd $(top_builddir) && ./config.status tests/$@ -clean-local: +clean-local: clean-wordsplit test ! -f $(TESTSUITE) || $(SHELL) $(TESTSUITE) --clean -check-local: atconfig atlocal $(TESTSUITE) $(noinst_PROGRAMS) +check-local: check-wordsplit atconfig atlocal $(TESTSUITE) $(noinst_PROGRAMS) $(SHELL) $(TESTSUITE) +$(WSTEST): wstest.at $(top_srcdir)/@GRECS_SUBDIR@/wordsplit/wordsplit.at $(srcdir)/wspackage.m4 + $(AM_V_GEN)$(AUTOTEST) -I $(srcdir) \ + -I $(top_srcdir)/@GRECS_SUBDIR@/wordsplit \ + wspackage.m4 \ + wstest.at \ + wordsplit.at \ + -o $(WSTEST).tmp + $(AM_V_at)mv $(WSTEST).tmp $(WSTEST) + +$(srcdir)/wspackage.m4: $(top_srcdir)/configure.ac $(top_srcdir)/@GRECS_SUBDIR@/am/grecs.m4 + $(AM_V_GEN){\ + if test -e $(top_srcdir)/@GRECS_SUBDIR@/wordsplit/.git; then \ + wsversion=$$(cd $(top_srcdir)/@GRECS_SUBDIR@/wordsplit; git describe); \ + else \ + wsversion="unknown"; \ + fi;\ + echo 'm4_define([AT_PACKAGE_NAME], [wordsplit])'; \ + echo 'm4_define([AT_PACKAGE_TARNAME], [wordsplit])'; \ + echo "m4_define([AT_PACKAGE_VERSION], [$$wsversion])"; \ + echo 'm4_define([AT_PACKAGE_STRING], [AT_PACKAGE_TARNAME AT_PACKAGE_VERSION])'; \ + echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \ + } > $(srcdir)/wspackage.m4 + +$(srcdir)/wordsplit-version.h: $(srcdir)/wspackage.m4 + $(AM_V_GEN){ echo "m4_divert(-1)";\ + echo "m4_changequote([,])";\ + echo "m4_changecom([//])";\ + echo "m4_include($(srcdir)/wspackage.m4)";\ + echo 'm4_divert(0)#define WORDSPLIT_VERSION "AT_PACKAGE_VERSION"'; } | \ + $(M4) -P - > $(srcdir)/wordsplit-version.h +wsp.o: $(srcdir)/wordsplit-version.h + +clean-wordsplit: + test ! -f $(WSTEST) || $(SHELL) $(WSTEST) --clean + +check-wordsplit: atconfig atlocal $(WSTEST) $(noinst_PROGRAMS) + $(SHELL) $(WSTEST) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru dico-2.9/grecs/tests/package.m4 dico-2.10/grecs/tests/package.m4 --- dico-2.9/grecs/tests/package.m4 2019-04-24 06:44:58.000000000 +0000 +++ dico-2.10/grecs/tests/package.m4 2020-09-04 04:06:34.000000000 +0000 @@ -1,7 +1,7 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [GNU dico]) m4_define([AT_PACKAGE_TARNAME], [dico]) -m4_define([AT_PACKAGE_VERSION], [2.9]) -m4_define([AT_PACKAGE_STRING], [GNU dico 2.9]) +m4_define([AT_PACKAGE_VERSION], [2.10]) +m4_define([AT_PACKAGE_STRING], [GNU dico 2.10]) m4_define([AT_PACKAGE_BUGREPORT], [bug-dico@gnu.org]) m4_define([GRECS_DISTCK_AT], []) diff -Nru dico-2.9/grecs/tests/set.at dico-2.10/grecs/tests/set.at --- dico-2.9/grecs/tests/set.at 2018-06-03 08:11:12.000000000 +0000 +++ dico-2.10/grecs/tests/set.at 2019-07-23 05:47:38.000000000 +0000 @@ -32,7 +32,7 @@ scalar = 25 logging: 0/local2/baz/0 ], -[:25.1-8: Unknown keyword +[:25.1-8: unknown keyword ]) -AT_CLEANUP \ No newline at end of file +AT_CLEANUP diff -Nru dico-2.9/grecs/tests/testsuite dico-2.10/grecs/tests/testsuite --- dico-2.9/grecs/tests/testsuite 2019-04-24 06:44:58.000000000 +0000 +++ dico-2.10/grecs/tests/testsuite 2020-09-04 04:06:34.000000000 +0000 @@ -588,119 +588,44 @@ # As many question marks as there are digits in the last test group number. # Used to normalize the test group numbers so that `ls' lists them in # numerical order. -at_format='???' +at_format='??' # Description of all the test groups. -at_help_all="1;wordsplit.at:58;simple input;wordsplit wsp wordsplit000 wsp000 wsp-simple; -2;wordsplit.at:67;quoted space;wordsplit wsp wordsplit001 wsp000 wsp-quoted; -3;wordsplit.at:74;tab character;wordsplit wsp wordsplit002 wsp000 wsp-tab; -4;wordsplit.at:83;octal and hex escapes;wordsplit wsp wordsplit003 wsp000 wsp-escape wsp-escape000; -5;wordsplit.at:90;octal and hex escapes 2;wordsplit wsp wordsplit004 wsp000 wsp-escape wsp-escape001; -6;wordsplit.at:99;escape representation;wordsplit wsp wordsplit005 wsp000 wsp-escape wsp-escape002; -7;wordsplit.at:111;append;wordsplit wsp wordsplit006 wsp000 wsp-append; -8;wordsplit.at:136;dooffs;wordsplit wsp wordsplit007 wsp000 wsp-doofs; -9;wordsplit.at:149;variable substitutions: single var;wordsplit wsp wordsplit008 wsp000 wsp-var wsp-var000; -10;wordsplit.at:160;variable substitutions: concatenated vars;wordsplit wsp wordsplit009 wsp000 wsp-var wsp-var001; -11;wordsplit.at:172;variable substitutions: field splitting;wordsplit wsp wordsplit010 wsp000 wsp-var wsp-var002; -12;wordsplit.at:184;variable substitutions: double-quoted variable;wordsplit wsp wordsplit011 wsp000 wsp-var wsp-var003; -13;wordsplit.at:195;variable substitutions: single-quoted variable;wordsplit wsp wordsplit012 wsp000 wsp-var wsp-var004; -14;wordsplit.at:206;undefined variables 1;wordsplit wsp wordsplit013 wsp000 wsp-var wsp-var005; -15;wordsplit.at:217;undefined variables 2;wordsplit wsp wordsplit014 wsp000 wsp-var wsp-var006; -16;wordsplit.at:229;warn about undefined variables;wordsplit wsp wordsplit015 wsp000 wsp-var wsp-var007; -17;wordsplit.at:238;bail out on undefined variables;wordsplit wsp wordsplit016 wsp000 wsp-var wsp-var008; -18;wordsplit.at:245;disable variable expansion;wordsplit wsp wordsplit017 wsp000 wsp-var wsp-var009; -19;wordsplit.at:254;K/V environment;wordsplit wsp wordsplit018 wsp000 wsp-var wsp-var010 wsp-env-kv wsp-env_kv; -20;wordsplit.at:265;nosplit with expansion;wordsplit wsp wordsplit019 wsp000 wsp-var wsp-var011 wsp-var-nosplit; -21;wordsplit.at:274;nosplit without expansion;wordsplit wsp wordsplit020 wsp000 wsp-var wsp-var012; -22;wordsplit.at:283;default value (defined);wordsplit wsp wordsplit021 wsp000 wsp-var wsp-var013; -23;wordsplit.at:292;default value;wordsplit wsp wordsplit022 wsp000 wsp-var wsp-var014; -24;wordsplit.at:299;default value (defined);wordsplit wsp wordsplit023 wsp000 wsp-var wsp-var015; -25;wordsplit.at:308;default value (:- null);wordsplit wsp wordsplit024 wsp000 wsp-var wsp-var016; -26;wordsplit.at:317;default value (- null);wordsplit wsp wordsplit025 wsp000 wsp-var wsp-var017; -27;wordsplit.at:325;default value (- null, unset);wordsplit wsp wordsplit026 wsp000 wsp-var wsp-var018; -28;wordsplit.at:332;assign default values;wordsplit wsp wordsplit027 wsp000 wsp-var wsp-var019; -29;wordsplit.at:343;default error message (var defined);wordsplit wsp wordsplit028 wsp000 wsp-var wsp-var020; -30;wordsplit.at:354;default error message;wordsplit wsp wordsplit029 wsp000 wsp-var wsp-var021; -31;wordsplit.at:362;custom error message (defined);wordsplit wsp wordsplit030 wsp000 wsp-var wsp-var022 wsp-custom-err wsp-custom-err00; -32;wordsplit.at:373;custom error message;wordsplit wsp wordsplit031 wsp000 wsp-var wsp-var023 wsp-custom-err wsp-custom-err01; -33;wordsplit.at:383;alternate value (defined);wordsplit wsp wordsplit032 wsp000 wsp-var wsp-var024 wsp-alt wsp-alt00; -34;wordsplit.at:394;alternate value;wordsplit wsp wordsplit033 wsp000 wsp-var wsp-var025 wsp-alt wsp-alt01; -35;wordsplit.at:404;getvar;wordsplit wsp wordsplit034 wsp000 wsp-var wsp-var026 wsp-getvar; -36;wordsplit.at:418;getvar and env;wordsplit wsp wordsplit035 wsp000 wsp-var wsp-var027 wsp-getvar; -37;wordsplit.at:434;getvar, alternate value;wordsplit wsp wordsplit036 wsp000 wsp-var wsp-var028 wsp-getvar; -38;wordsplit.at:445;ignore quotes;wordsplit wsp wordsplit037 wsp000 wsp-ignore-quotes; -39;wordsplit.at:455;custom delimiters (squeeze);wordsplit wsp wordsplit038 wsp000 wsp-delim wsp-delim000; -40;wordsplit.at:467;custom delimiters (no squeeze);wordsplit wsp wordsplit039 wsp000 wsp-delim wsp-delim001; -41;wordsplit.at:480;custom, with returned delimiters;wordsplit wsp wordsplit040 wsp000 wsp-delim wsp-delim002; -42;wordsplit.at:496;custom, with returned & squeezed delimiters;wordsplit wsp wordsplit041 wsp000 wsp-delim wsp-delim003; -43;wordsplit.at:515;sed expressions;wordsplit wsp wordsplit042 wsp000 wsp-sed wsp-sed000; -44;wordsplit.at:526;C escapes on;wordsplit wsp wordsplit043 wsp000 wcp-c-escape; -45;wordsplit.at:536;C escapes off;wordsplit wsp wordsplit044 wsp000 wcp-c-escape-off; -46;wordsplit.at:546;ws elimination;wordsplit wsp wordsplit045 wsp000 wsp-ws-elim; -47;wordsplit.at:556;ws elimination + return delim;wordsplit wsp wordsplit046 wsp000 wsp-ws-elim-ret; -48;wordsplit.at:570;empty quotes;wordsplit wsp wordsplit047 wsp000 wsp-empty-quotes; -49;wordsplit.at:577;delimiter following empty quotes;wordsplit wsp wordsplit048 wsp000; -50;wordsplit.at:587;suppress ws trimming within quotes;wordsplit wsp wordsplit049 wsp000; -51;wordsplit.at:600;unescape;wordsplit wsp wordsplit050 wsp000 wsp-unescape wsp-unescape-simple; -52;wordsplit.at:611;unescape: word/quote;wordsplit wsp wordsplit051 wsp000 wsp-unescape wsp-unescape-word; -53;wordsplit.at:625;dquote;wordsplit wsp wordsplit052 wsp000; -54;wordsplit.at:635;squote;wordsplit wsp wordsplit053 wsp000; -55;wordsplit.at:647;incremental;wordsplit wsp wordsplit054 wsp000 wsp-incr wsp-incr000; -56;wordsplit.at:665;incremental append;wordsplit wsp wordsplit055 wsp000 wsp-incr wsp-incr001; -57;wordsplit.at:686;incremental ws;wordsplit wsp wordsplit056 wsp000 wsp-incr wsp-incr002; -58;wordsplit.at:705;incremental nosplit;wordsplit wsp wordsplit057 wsp000 wsp-incr wsp-incr003; -59;wordsplit.at:715;simple command substitution;wordsplit wsp wordsplit058 wsp000 wsp-incr wsp-incr004; -60;wordsplit.at:725;quoted command substitution;wordsplit wsp wordsplit059 wsp000 wsp-incr wsp-incr005; -61;wordsplit.at:734;coalesced command substitution;wordsplit wsp wordsplit060 wsp000 wsp-incr wsp-incr006; -62;wordsplit.at:742;quoted coalesced command substitution;wordsplit wsp wordsplit061 wsp000 wsp-incr wsp-incr007; -63;wordsplit.at:749;variable and command substitution;wordsplit wsp wordsplit062 wsp000 wsp-incr wsp-incr008; -64;wordsplit.at:760;variable expansion and command substitution in quotes;wordsplit wsp wordsplit063 wsp000 wsp-incr wsp-incr009; -65;wordsplit.at:767;nested commands;wordsplit wsp wordsplit064 wsp000 wsp-incr wsp-incr010; -66;wordsplit.at:778;pathname expansion;wordsplit wsp wsp-path wsp-path-1; -67;wordsplit.at:800;pathname expansion: no match;wordsplit wsp wsp-path wsp-path-2; -68;wordsplit.at:820;pathname expansion: nullglob;wordsplit wsp wsp-path wsp-path-3; -69;wordsplit.at:839;pathname expansion: failglob;wordsplit wsp wsp-path wsp-path-4; -70;wordsplit.at:856;append;wordsplit wsp wordsplit065 wsp000 wsp-incr wsp-incr011; -71;wordsplit.at:868;append + dooffs + env;wordsplit wsp wordsplit066 wsp000 wsp-incr wsp-incr012; -72;wordsplit.at:885;maxwords;wordsplit wsp wordsplit067 wsp000 wsp-incr wsp-incr013; -73;wordsplit.at:895;maxwords return_delims;wordsplit wsp wordsplit068 wsp000 wsp-incr wsp-incr014; -74;wordsplit.at:910;maxwords return_delims -squeeze_delims;wordsplit wsp wordsplit069 wsp000 wsp-incr wsp-incr015; -75;wordsplit.at:925;maxwords incremental;wordsplit wsp wordsplit070 wsp000 wsp-incr wsp-incr016; -76;format00.at:17;Default format;format format00; -77;format01.at:17;Locus;format format01; -78;format02.at:17;Custom delimiter;format format02; -79;stradj.at:17;String location adjustment;format option stradj; -80;strcat.at:17;String concatenation;format option strcat concat; -81;enum.at:17;Enumerate nodes;enum; -82;peek00.at:17;Peek;peek peek00; -83;peek01.at:17;Nested nodes;peek peek01; -84;peek02.at:17;Block nodes;peek peek02; -85;peek03.at:17;Nested blocks;peek peek03; -86;glob00.at:17;Leading wildcard;peek peek04 glob glob00; -87;glob01.at:17;Trailing wildcard;peek peek05 glob glob01; -88;glob02.at:17;Intermediate wildcard;peek peek05 glob glob02; -89;glob03.at:17;Multiple wildcards;peek peek06 glob glob03; -90;glob04.at:17;Subtree - asterisk;peek peek07 glob glob04; -91;glob05.at:17;Subtree - percent;peek peek08 glob glob05; -92;reduce00.at:17;Simple statement;reduce reduce00; -93;reduce01.at:17;Block statement;reduce reduce01; -94;reduce02.at:17;Nested block statement;reduce reduce02; -95;reduce03.at:17;Table driven reduction;reduce reduce03; -96;sort00.at:17;Sort;sort sort00; -97;sort01.at:17;Stable sort;sort sort01; -98;incl00.at:17;Include path;include incl00; -99;incl01.at:17;Recursive inclusion;include incl01; -100;incl02.at:17;Include once;include incl02; -101;incl03.at:17;Wildcard inclusion;include incl03; -102;join.at:17;Join;join; -103;cfhelp.at:17;Help;help; -104;set.at:17;Set values;set; -105;vercmp.at:17;Version comparator;vercmp; -106;grecs00.at:17;C comments in GRECS-style parser;parser grecs grecs00; -107;empty.at:17;Empty input file;parser empty; -108;locus00.at:17;Scalar value;locus scalar locus00; -109;locus01.at:17;Multiline strings;locus multiline locus01; -110;locus02.at:17;Adjacent quoted strings;locus adjacent locus02; -111;path-locus.at:17;Path;locus path; +at_help_all="1;format00.at:17;Default format;format format00; +2;format01.at:17;Locus;format format01; +3;format02.at:17;Custom delimiter;format format02; +4;stradj.at:17;String location adjustment;format option stradj; +5;strcat.at:17;String concatenation;format option strcat concat; +6;enum.at:17;Enumerate nodes;enum; +7;peek00.at:17;Peek;peek peek00; +8;peek01.at:17;Nested nodes;peek peek01; +9;peek02.at:17;Block nodes;peek peek02; +10;peek03.at:17;Nested blocks;peek peek03; +11;glob00.at:17;Leading wildcard;peek peek04 glob glob00; +12;glob01.at:17;Trailing wildcard;peek peek05 glob glob01; +13;glob02.at:17;Intermediate wildcard;peek peek05 glob glob02; +14;glob03.at:17;Multiple wildcards;peek peek06 glob glob03; +15;glob04.at:17;Subtree - asterisk;peek peek07 glob glob04; +16;glob05.at:17;Subtree - percent;peek peek08 glob glob05; +17;reduce00.at:17;Simple statement;reduce reduce00; +18;reduce01.at:17;Block statement;reduce reduce01; +19;reduce02.at:17;Nested block statement;reduce reduce02; +20;reduce03.at:17;Table driven reduction;reduce reduce03; +21;sort00.at:17;Sort;sort sort00; +22;sort01.at:17;Stable sort;sort sort01; +23;incl00.at:17;Include path;include incl00; +24;incl01.at:17;Recursive inclusion;include incl01; +25;incl02.at:17;Include once;include incl02; +26;incl03.at:17;Wildcard inclusion;include incl03; +27;join.at:17;Join;join; +28;cfhelp.at:17;Help;help; +29;set.at:17;Set values;set; +30;vercmp.at:17;Version comparator;vercmp; +31;grecs00.at:17;C comments in GRECS-style parser;parser grecs grecs00; +32;empty.at:17;Empty input file;parser empty; +33;locus00.at:17;Scalar value;locus scalar locus00; +34;locus01.at:17;Multiline strings;locus multiline locus01; +35;locus02.at:17;Adjacent quoted strings;locus adjacent locus02; +36;path-locus.at:17;Path;locus path; " # List of the all the test groups. at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'` @@ -714,7 +639,7 @@ for at_grp do eval at_value=\$$at_grp - if test $at_value -lt 1 || test $at_value -gt 111; then + if test $at_value -lt 1 || test $at_value -gt 36; then $as_echo "invalid test group: $at_value" >&2 exit 1 fi @@ -1013,7 +938,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -GNU dico 2.9 test suite test groups: +GNU dico 2.10 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -1054,7 +979,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (GNU dico 2.9)" && + $as_echo "$as_me (GNU dico 2.10)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1071,39 +996,36 @@ * ) at_print_banners=false ;; esac # Text for banner N, set to a single space once printed. -# Banner 1. wordsplit.at:17 +# Banner 1. testsuite.at:50 # Category starts at test group 1. -at_banner_text_1="Wordsplit" -# Banner 2. testsuite.at:52 -# Category starts at test group 76. -at_banner_text_2="Formats" -# Banner 3. testsuite.at:57 -# Category starts at test group 79. -at_banner_text_3="Options" -# Banner 4. testsuite.at:61 -# Category starts at test group 81. -at_banner_text_4="Enumeration" -# Banner 5. testsuite.at:64 -# Category starts at test group 82. -at_banner_text_5="Peek a node" -# Banner 6. testsuite.at:70 -# Category starts at test group 86. -at_banner_text_6="Globbing" -# Banner 7. testsuite.at:78 -# Category starts at test group 92. -at_banner_text_7="Reduce" -# Banner 8. testsuite.at:84 -# Category starts at test group 96. -at_banner_text_8="Sort" -# Banner 9. testsuite.at:88 -# Category starts at test group 98. -at_banner_text_9="Include" -# Banner 10. testsuite.at:118 -# Category starts at test group 102. -at_banner_text_10="Other operatios" -# Banner 11. testsuite.at:126 -# Category starts at test group 108. -at_banner_text_11="Locations" +at_banner_text_1="Formats" +# Banner 2. testsuite.at:55 +# Category starts at test group 4. +at_banner_text_2="Options" +# Banner 3. testsuite.at:59 +# Category starts at test group 6. +at_banner_text_3="Enumeration" +# Banner 4. testsuite.at:62 +# Category starts at test group 7. +at_banner_text_4="Peek a node" +# Banner 5. testsuite.at:68 +# Category starts at test group 11. +at_banner_text_5="Globbing" +# Banner 6. testsuite.at:76 +# Category starts at test group 17. +at_banner_text_6="Reduce" +# Banner 7. testsuite.at:82 +# Category starts at test group 21. +at_banner_text_7="Sort" +# Banner 8. testsuite.at:86 +# Category starts at test group 23. +at_banner_text_8="Include" +# Banner 9. testsuite.at:116 +# Category starts at test group 27. +at_banner_text_9="Other operatios" +# Banner 10. testsuite.at:124 +# Category starts at test group 33. +at_banner_text_10="Locations" # Take any -C into account. if $at_change_dir ; then @@ -1263,13 +1185,13 @@ exec 5>>"$at_suite_log" # Banners and logs. -$as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" +$as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" { - $as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" + $as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" echo $as_echo "$as_me: command line was:" @@ -2003,3335 +1925,135 @@ $at_fail_count failed unexpectedly." ;; # Some failures, both expected and unexpected - 0:*:1) at_result="$at_result $at_were run, -$at_total_fail_count failed ($at_xfail_count expected failure)." ;; - 0:*:*) at_result="$at_result $at_were run, -$at_total_fail_count failed ($at_xfail_count expected failures)." ;; - - # No unexpected failures, but some xpasses - *:0:*) at_result="$at_result $at_were run, -$at_xpass_count passed unexpectedly." ;; - - # No expected failures, but failures and xpasses - *:1:0) at_result="$at_result $at_were run, -$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;; - *:*:0) at_result="$at_result $at_were run, -$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;; - - # All of them. - *:*:1) at_result="$at_result $at_were run, -$at_xpass_count passed unexpectedly, -$at_total_fail_count failed ($at_xfail_count expected failure)." ;; - *:*:*) at_result="$at_result $at_were run, -$at_xpass_count passed unexpectedly, -$at_total_fail_count failed ($at_xfail_count expected failures)." ;; - esac - - if test $at_skip_count = 0 && test $at_run_count -gt 1; then - at_result="All $at_result" - fi -fi - -# Now put skips in the mix. -case $at_skip_count in - 0) ;; - 1) at_result="$at_result -1 test was skipped." ;; - *) at_result="$at_result -$at_skip_count tests were skipped." ;; -esac - -if test $at_unexpected_count = 0; then - echo "$at_color$at_result$at_std" - echo "$at_result" >&5 -else - echo "${at_color}ERROR: $at_result$at_std" >&2 - echo "ERROR: $at_result" >&5 - { - echo - $as_echo "## ------------------------ ## -## Summary of the failures. ## -## ------------------------ ##" - - # Summary of failed and skipped tests. - if test $at_fail_count != 0; then - echo "Failed tests:" - $SHELL "$at_myself" $at_fail_list --list - echo - fi - if test $at_skip_count != 0; then - echo "Skipped tests:" - $SHELL "$at_myself" $at_skip_list --list - echo - fi - if test $at_xpass_count != 0; then - echo "Unexpected passes:" - $SHELL "$at_myself" $at_xpass_list --list - echo - fi - if test $at_fail_count != 0; then - $as_echo "## ---------------------- ## -## Detailed failed tests. ## -## ---------------------- ##" - echo - for at_group in $at_fail_list - do - at_group_normalized=$at_group - - eval 'while :; do - case $at_group_normalized in #( - '"$at_format"'*) break;; - esac - at_group_normalized=0$at_group_normalized - done' - - cat "$at_suite_dir/$at_group_normalized/$as_me.log" - echo - done - echo - fi - if test -n "$at_top_srcdir"; then - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## ${at_top_build_prefix}config.log ## -_ASBOX - sed 's/^/| /' ${at_top_build_prefix}config.log - echo - fi - } >&5 - - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## $as_me.log was created. ## -_ASBOX - - echo - if $at_debug_p; then - at_msg='per-test log files' - else - at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'" - fi - $as_echo "Please send $at_msg and all information you think might help: - - To: - Subject: [GNU dico 2.9] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} - -You may investigate any problem if you feel able to do so, in which -case the test suite provides a good starting point. Its output may -be found below \`${at_testdir+${at_testdir}/}$as_me.dir'. -" - exit 1 -fi - -exit 0 - -## ------------- ## -## Actual tests. ## -## ------------- ## -#AT_START_1 -at_fn_group_banner 1 'wordsplit.at:58' \ - "simple input" " " 1 -at_xfail=no -( - $as_echo "1. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:58: - wsp <<'EOT' -1 2 3 -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:58" -( $at_check_trace; - wsp <<'EOT' -1 2 3 -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: 1 -1: 2 -2: 3 -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:58" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_1 -#AT_START_2 -at_fn_group_banner 2 'wordsplit.at:67' \ - "quoted space" " " 1 -at_xfail=no -( - $as_echo "2. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:67: - wsp <<'EOT' -quoted\\ space -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:67" -( $at_check_trace; - wsp <<'EOT' -quoted\ space -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: \"quoted space\" -TOTAL: 1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:67" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_2 -#AT_START_3 -at_fn_group_banner 3 'wordsplit.at:74' \ - "tab character" " " 1 -at_xfail=no -( - $as_echo "3. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:74: - wsp <<'EOT' -a \"tab character\" -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:74" -( $at_check_trace; - wsp <<'EOT' -a "tab character" -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 2 -0: a -1: tab\\tcharacter -TOTAL: 2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:74" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_3 -#AT_START_4 -at_fn_group_banner 4 'wordsplit.at:83' \ - "octal and hex escapes" " " 1 -at_xfail=no -( - $as_echo "4. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:83: - wsp <<'EOT' -\\157\\143\\164\\141\\154\\40and\\x20\\x68\\x65\\x78 -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:83" -( $at_check_trace; - wsp <<'EOT' -\157\143\164\141\154\40and\x20\x68\x65\x78 -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: \"octal and hex\" -TOTAL: 1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:83" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_4 -#AT_START_5 -at_fn_group_banner 5 'wordsplit.at:90' \ - "octal and hex escapes 2" " " 1 -at_xfail=no -( - $as_echo "5. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:90: - wsp <<'EOT' -\\157\\143\\164\\141\\154\\40 and \\x20\\x68\\x65\\x78 -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:90" -( $at_check_trace; - wsp <<'EOT' -\157\143\164\141\154\40 and \x20\x68\x65\x78 -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: \"octal \" -1: and -2: \" hex\" -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:90" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_5 -#AT_START_6 -at_fn_group_banner 6 'wordsplit.at:99' \ - "escape representation" " " 1 -at_xfail=no -( - $as_echo "6. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:99: - wsp <<'EOT' -A\\x3-\\48\\39 -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:99" -( $at_check_trace; - wsp <<'EOT' -A\x3-\48\39 -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: A\\003-\\0048\\0039 -TOTAL: 1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:99" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_6 -#AT_START_7 -at_fn_group_banner 7 'wordsplit.at:111' \ - "append" " " 1 -at_xfail=no -( - $as_echo "7. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:111: - wsp append <<'EOT' -jeden dwa trzy -cztery -piec szesc -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:111" -( $at_check_trace; - wsp append <<'EOT' -jeden dwa trzy -cztery -piec szesc -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: jeden -1: dwa -2: trzy -TOTAL: 3 -NF: 4 -0: jeden -1: dwa -2: trzy -3: cztery -TOTAL: 1 -NF: 6 -0: jeden -1: dwa -2: trzy -3: cztery -4: piec -5: szesc -TOTAL: 2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:111" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_7 -#AT_START_8 -at_fn_group_banner 8 'wordsplit.at:136' \ - "dooffs" " " 1 -at_xfail=no -( - $as_echo "8. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:136: - wsp dooffs 3 jeden dwa trzy <<'EOT' -cztery piec -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:136" -( $at_check_trace; - wsp dooffs 3 jeden dwa trzy <<'EOT' -cztery piec -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 2 (3) -(0): jeden -(1): dwa -(2): trzy -3: cztery -4: piec -TOTAL: 2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:136" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_8 -#AT_START_9 -at_fn_group_banner 9 'wordsplit.at:149' \ - "variable substitutions: single var" " " 1 -at_xfail=no -( - $as_echo "9. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:149: -FOO=bar wsp <<'EOT' -a \$FOO test -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:149" -( $at_check_trace; -FOO=bar wsp <<'EOT' -a $FOO test -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: a -1: bar -2: test -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:149" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_9 -#AT_START_10 -at_fn_group_banner 10 'wordsplit.at:160' \ - "variable substitutions: concatenated vars" " " 1 -at_xfail=no -( - $as_echo "10. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:160: -FOO=str BAR=ing wsp <<'EOT' -a \$FOO\${BAR}ent test -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:160" -( $at_check_trace; -FOO=str BAR=ing wsp <<'EOT' -a $FOO${BAR}ent test -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: a -1: stringent -2: test -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:160" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_10 -#AT_START_11 -at_fn_group_banner 11 'wordsplit.at:172' \ - "variable substitutions: field splitting" " " 1 -at_xfail=no -( - $as_echo "11. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:172: -FOO=\"variable substitution\" wsp <<'EOT' -a \$FOO test -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:172" -( $at_check_trace; -FOO="variable substitution" wsp <<'EOT' -a $FOO test -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 4 -0: a -1: variable -2: substitution -3: test -TOTAL: 4 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:172" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_11 -#AT_START_12 -at_fn_group_banner 12 'wordsplit.at:184' \ - "variable substitutions: double-quoted variable" " " 1 -at_xfail=no -( - $as_echo "12. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:184: -FOO=\"variable substitution\" wsp <<'EOT' -a \"\$FOO\" test -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:184" -( $at_check_trace; -FOO="variable substitution" wsp <<'EOT' -a "$FOO" test -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: a -1: \"variable substitution\" -2: test -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:184" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_12 -#AT_START_13 -at_fn_group_banner 13 'wordsplit.at:195' \ - "variable substitutions: single-quoted variable" " " 1 -at_xfail=no -( - $as_echo "13. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:195: -FOO=\"variable substitution\" wsp <<'EOT' -a '\$FOO' test -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:195" -( $at_check_trace; -FOO="variable substitution" wsp <<'EOT' -a '$FOO' test -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: a -1: \$FOO -2: test -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:195" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_13 -#AT_START_14 -at_fn_group_banner 14 'wordsplit.at:206' \ - "undefined variables 1" " " 1 -at_xfail=no -( - $as_echo "14. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:206: -unset FOO; wsp <<'EOT' -a \$FOO test a\${FOO}b -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:206" -( $at_check_trace; -unset FOO; wsp <<'EOT' -a $FOO test a${FOO}b -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: a -1: test -2: ab -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:206" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_14 -#AT_START_15 -at_fn_group_banner 15 'wordsplit.at:217' \ - "undefined variables 2" " " 1 -at_xfail=no -( - $as_echo "15. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:217: -unset FOO; wsp keepundef <<'EOT' -a \$FOO test a\${FOO}b -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:217" -( $at_check_trace; -unset FOO; wsp keepundef <<'EOT' -a $FOO test a${FOO}b -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 4 -0: a -1: \$FOO -2: test -3: a\${FOO}b -TOTAL: 4 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:217" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_15 -#AT_START_16 -at_fn_group_banner 16 'wordsplit.at:229' \ - "warn about undefined variables" " " 1 -at_xfail=no -( - $as_echo "16. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:229: -unset FOO; wsp warnundef <<'EOT' -\$FOO -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:229" -( $at_check_trace; -unset FOO; wsp warnundef <<'EOT' -$FOO -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo >>"$at_stderr"; $as_echo "warning: undefined variable \`FOO' -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 0 -TOTAL: 0 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:229" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_16 -#AT_START_17 -at_fn_group_banner 17 'wordsplit.at:238' \ - "bail out on undefined variables" " " 1 -at_xfail=no -( - $as_echo "17. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:238: -unset FOO; wsp undef <<'EOT' -\$FOO -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:238" -( $at_check_trace; -unset FOO; wsp undef <<'EOT' -$FOO -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo >>"$at_stderr"; $as_echo "undefined variable -" | \ - $at_diff - "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:238" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_17 -#AT_START_18 -at_fn_group_banner 18 'wordsplit.at:245' \ - "disable variable expansion" " " 1 -at_xfail=no -( - $as_echo "18. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:245: -FOO=bar wsp novar <<'EOT' -\$FOO -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:245" -( $at_check_trace; -FOO=bar wsp novar <<'EOT' -$FOO -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: \$FOO -TOTAL: 1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:245" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_18 -#AT_START_19 -at_fn_group_banner 19 'wordsplit.at:254' \ - "K/V environment" " " 1 -at_xfail=no -( - $as_echo "19. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:254: -FOO=bar BAZ=qux wsp env_kv <<'EOT' -\$FOO a\$BAZ -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:254" -( $at_check_trace; -FOO=bar BAZ=qux wsp env_kv <<'EOT' -$FOO a$BAZ -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 2 -0: bar -1: aqux -TOTAL: 2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:254" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_19 -#AT_START_20 -at_fn_group_banner 20 'wordsplit.at:265' \ - "nosplit with expansion" " " 1 -at_xfail=no -( - $as_echo "20. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:265: -FOO=\"variable expansion\" wsp nosplit <<'EOT' -a \$FOO test -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:265" -( $at_check_trace; -FOO="variable expansion" wsp nosplit <<'EOT' -a $FOO test -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: \"a variable expansion test\\n\" -TOTAL: 1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:265" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_20 -#AT_START_21 -at_fn_group_banner 21 'wordsplit.at:274' \ - "nosplit without expansion" " " 1 -at_xfail=no -( - $as_echo "21. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:274: -FOO=\"variable expansion\" wsp nosplit novar <<'EOT' -a \$FOO test -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:274" -( $at_check_trace; -FOO="variable expansion" wsp nosplit novar <<'EOT' -a $FOO test -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: \"a \$FOO test\\n\" -TOTAL: 1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:274" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_21 -#AT_START_22 -at_fn_group_banner 22 'wordsplit.at:283' \ - "default value (defined)" " " 1 -at_xfail=no -( - $as_echo "22. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:283: -FOO=qux wsp <<'EOT' -\${FOO:-bar} -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:283" -( $at_check_trace; -FOO=qux wsp <<'EOT' -${FOO:-bar} -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: qux -TOTAL: 1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:283" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_22 -#AT_START_23 -at_fn_group_banner 23 'wordsplit.at:292' \ - "default value" " " 1 -at_xfail=no -( - $as_echo "23. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:292: - wsp <<'EOT' -\${FOO:-bar} -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:292" -( $at_check_trace; - wsp <<'EOT' -${FOO:-bar} -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: bar -TOTAL: 1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:292" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_23 -#AT_START_24 -at_fn_group_banner 24 'wordsplit.at:299' \ - "default value (defined)" " " 1 -at_xfail=no -( - $as_echo "24. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:299: -FOO=qux wsp <<'EOT' -\${FOO:-bar} -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:299" -( $at_check_trace; -FOO=qux wsp <<'EOT' -${FOO:-bar} -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: qux -TOTAL: 1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:299" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_24 -#AT_START_25 -at_fn_group_banner 25 'wordsplit.at:308' \ - "default value (:- null)" " " 1 -at_xfail=no -( - $as_echo "25. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:308: -FOO= wsp <<'EOT' -\${FOO:-bar} -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:308" -( $at_check_trace; -FOO= wsp <<'EOT' -${FOO:-bar} -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: bar -TOTAL: 1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:308" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_25 -#AT_START_26 -at_fn_group_banner 26 'wordsplit.at:317' \ - "default value (- null)" " " 1 -at_xfail=no -( - $as_echo "26. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:317: -FOO= wsp <<'EOT' -\${FOO-bar} -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:317" -( $at_check_trace; -FOO= wsp <<'EOT' -${FOO-bar} -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 0 -TOTAL: 0 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:317" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_26 -#AT_START_27 -at_fn_group_banner 27 'wordsplit.at:325' \ - "default value (- null, unset)" " " 1 -at_xfail=no -( - $as_echo "27. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:325: - wsp <<'EOT' -\${FOO-bar} -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:325" -( $at_check_trace; - wsp <<'EOT' -${FOO-bar} -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: bar -TOTAL: 1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:325" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_27 -#AT_START_28 -at_fn_group_banner 28 'wordsplit.at:332' \ - "assign default values" " " 1 -at_xfail=no -( - $as_echo "28. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:332: - wsp <<'EOT' -\${FOO=bar} -\$FOO -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:332" -( $at_check_trace; - wsp <<'EOT' -${FOO=bar} -$FOO -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: bar -TOTAL: 1 -NF: 1 -0: bar -TOTAL: 1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:332" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_28 -#AT_START_29 -at_fn_group_banner 29 'wordsplit.at:343' \ - "default error message (var defined)" " " 1 -at_xfail=no -( - $as_echo "29. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:343: -FOO=bar wsp <<'EOT' -a \${FOO:?} test -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:343" -( $at_check_trace; -FOO=bar wsp <<'EOT' -a ${FOO:?} test -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: a -1: bar -2: test -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:343" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_29 -#AT_START_30 -at_fn_group_banner 30 'wordsplit.at:354' \ - "default error message" " " 1 -at_xfail=no -( - $as_echo "30. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:354: - wsp <<'EOT' -\${FOO:?} -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:354" -( $at_check_trace; - wsp <<'EOT' -${FOO:?} -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo >>"$at_stderr"; $as_echo "FOO: variable null or not set -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 0 -TOTAL: 0 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:354" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_30 -#AT_START_31 -at_fn_group_banner 31 'wordsplit.at:362' \ - "custom error message (defined)" " " 1 -at_xfail=no -( - $as_echo "31. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:362: -FOO=bar wsp <<'EOT' -a \${FOO:?please define it} test -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:362" -( $at_check_trace; -FOO=bar wsp <<'EOT' -a ${FOO:?please define it} test -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: a -1: bar -2: test -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:362" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_31 -#AT_START_32 -at_fn_group_banner 32 'wordsplit.at:373' \ - "custom error message" " " 1 -at_xfail=no -( - $as_echo "32. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:373: - wsp <<'EOT' -a \${FOO:?please define it} test -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:373" -( $at_check_trace; - wsp <<'EOT' -a ${FOO:?please define it} test -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo >>"$at_stderr"; $as_echo "FOO: please define it -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 2 -0: a -1: test -TOTAL: 2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:373" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_32 -#AT_START_33 -at_fn_group_banner 33 'wordsplit.at:383' \ - "alternate value (defined)" " " 1 -at_xfail=no -( - $as_echo "33. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:383: -FOO=bar wsp <<'EOT' -a \${FOO:+isset} test -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:383" -( $at_check_trace; -FOO=bar wsp <<'EOT' -a ${FOO:+isset} test -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: a -1: isset -2: test -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:383" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_33 -#AT_START_34 -at_fn_group_banner 34 'wordsplit.at:394' \ - "alternate value" " " 1 -at_xfail=no -( - $as_echo "34. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:394: -unset FOO; wsp <<'EOT' -a \${FOO:+isset} test -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:394" -( $at_check_trace; -unset FOO; wsp <<'EOT' -a ${FOO:+isset} test -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 2 -0: a -1: test -TOTAL: 2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:394" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_34 -#AT_START_35 -at_fn_group_banner 35 'wordsplit.at:404' \ - "getvar" " " 1 -at_xfail=no -( - $as_echo "35. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:404: unset foo; unset x - wsp foo=bar x=quux <<'EOT' -begin \$foo \$x end -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:404" -( $at_check_trace; unset foo; unset x - wsp foo=bar x=quux <<'EOT' -begin $foo $x end -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 4 -0: begin -1: bar -2: quux -3: end -TOTAL: 4 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:404" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_35 -#AT_START_36 -at_fn_group_banner 36 'wordsplit.at:418' \ - "getvar and env" " " 1 -at_xfail=no -( - $as_echo "36. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:418: unset foo; unset x -TVAR=12 y=zwar wsp foo=bar x=quux y=xur <<'EOT' -begin \$foo \$TVAR \$x \$y end -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:418" -( $at_check_trace; unset foo; unset x -TVAR=12 y=zwar wsp foo=bar x=quux y=xur <<'EOT' -begin $foo $TVAR $x $y end -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 6 -0: begin -1: bar -2: 12 -3: quux -4: zwar -5: end -TOTAL: 6 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:418" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_36 -#AT_START_37 -at_fn_group_banner 37 'wordsplit.at:434' \ - "getvar, alternate value" " " 1 -at_xfail=no -( - $as_echo "37. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:434: - wsp foo=bar <<'EOT' -a \${foo:+isset} -EOT -" -at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:434" -( $at_check_trace; - wsp foo=bar <<'EOT' -a ${foo:+isset} -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 2 -0: a -1: isset -TOTAL: 2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:434" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_37 -#AT_START_38 -at_fn_group_banner 38 'wordsplit.at:445' \ - "ignore quotes" " " 1 -at_xfail=no -( - $as_echo "38. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:445: - wsp -quote <<'EOT' -\"a text\" -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:445" -( $at_check_trace; - wsp -quote <<'EOT' -"a text" -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 2 -0: \"\\\"a\" -1: \"text\\\"\" -TOTAL: 2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:445" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_38 -#AT_START_39 -at_fn_group_banner 39 'wordsplit.at:455' \ - "custom delimiters (squeeze)" " " 1 -at_xfail=no -( - $as_echo "39. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:455: - wsp delim : -ws trimnl <<'EOT' -semicolon: separated::list: of :words -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:455" -( $at_check_trace; - wsp delim : -ws trimnl <<'EOT' -semicolon: separated::list: of :words -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 5 -0: semicolon -1: \" separated\" -2: list -3: \" of \" -4: words -TOTAL: 5 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:455" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_39 -#AT_START_40 -at_fn_group_banner 40 'wordsplit.at:467' \ - "custom delimiters (no squeeze)" " " 1 -at_xfail=no -( - $as_echo "40. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:467: - wsp delim : -ws -squeeze_delims trimnl <<'EOT' -semicolon: separated::list: of :words -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:467" -( $at_check_trace; - wsp delim : -ws -squeeze_delims trimnl <<'EOT' -semicolon: separated::list: of :words -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 6 -0: semicolon -1: \" separated\" -2: \"\" -3: list -4: \" of \" -5: words -TOTAL: 6 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:467" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_40 -#AT_START_41 -at_fn_group_banner 41 'wordsplit.at:480' \ - "custom, with returned delimiters" " " 1 -at_xfail=no -( - $as_echo "41. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:480: - wsp delim : -ws trimnl return_delims <<'EOT' -semicolon: separated::list: of :words -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:480" -( $at_check_trace; - wsp delim : -ws trimnl return_delims <<'EOT' -semicolon: separated::list: of :words -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 9 -0: semicolon -1: : -2: \" separated\" -3: : -4: list -5: : -6: \" of \" -7: : -8: words -TOTAL: 9 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:480" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_41 -#AT_START_42 -at_fn_group_banner 42 'wordsplit.at:496' \ - "custom, with returned & squeezed delimiters" " " 1 -at_xfail=no -( - $as_echo "42. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:496: - wsp delim : -ws trimnl return_delims -squeeze_delims <<'EOT' -semicolon: separated::list: of :words -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:496" -( $at_check_trace; - wsp delim : -ws trimnl return_delims -squeeze_delims <<'EOT' -semicolon: separated::list: of :words -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 10 -0: semicolon -1: : -2: \" separated\" -3: : -4: : -5: list -6: : -7: \" of \" -8: : -9: words -TOTAL: 10 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:496" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_42 -#AT_START_43 -at_fn_group_banner 43 'wordsplit.at:515' \ - "sed expressions" " " 1 -at_xfail=no -( - $as_echo "43. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:515: - wsp sed <<'EOT' -arg1 s/foo/bar/g;s/bar baz/quz quux/ arg2 -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:515" -( $at_check_trace; - wsp sed <<'EOT' -arg1 s/foo/bar/g;s/bar baz/quz quux/ arg2 -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: arg1 -1: \"s/foo/bar/g;s/bar baz/quz quux/\" -2: arg2 -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:515" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_43 -#AT_START_44 -at_fn_group_banner 44 'wordsplit.at:526' \ - "C escapes on" " " 1 -at_xfail=no -( - $as_echo "44. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:526: - wsp cescapes <<'EOT' -a\\ttab form\\ffeed and new\\nline -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:526" -( $at_check_trace; - wsp cescapes <<'EOT' -a\ttab form\ffeed and new\nline -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 4 -0: a\\ttab -1: form\\ffeed -2: and -3: new\\nline -TOTAL: 4 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:526" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_44 -#AT_START_45 -at_fn_group_banner 45 'wordsplit.at:536' \ - "C escapes off" " " 1 -at_xfail=no -( - $as_echo "45. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:536: - wsp -cescapes <<'EOT' -a\\ttab form\\ffeed and new\\nline -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:536" -( $at_check_trace; - wsp -cescapes <<'EOT' -a\ttab form\ffeed and new\nline -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 4 -0: attab -1: formffeed -2: and -3: newnline -TOTAL: 4 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:536" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_45 -#AT_START_46 -at_fn_group_banner 46 'wordsplit.at:546' \ - "ws elimination" " " 1 -at_xfail=no -( - $as_echo "46. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:546: - wsp delim ' ()' ws return_delims <<'EOT' -( list items ) -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:546" -( $at_check_trace; - wsp delim ' ()' ws return_delims <<'EOT' -( list items ) -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 4 -0: ( -1: list -2: items -3: ) -TOTAL: 4 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:546" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_46 -#AT_START_47 -at_fn_group_banner 47 'wordsplit.at:556' \ - "ws elimination + return delim" " " 1 -at_xfail=no -( - $as_echo "47. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:556: - wsp -default novar nocmd delim \":,\" return_delims ws dquote <<'EOT' -\"foo\" : \"bar\", \"quux\" : \"baaz\" -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:556" -( $at_check_trace; - wsp -default novar nocmd delim ":," return_delims ws dquote <<'EOT' -"foo" : "bar", "quux" : "baaz" -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 7 -0: foo -1: : -2: bar -3: , -4: quux -5: : -6: baaz -TOTAL: 7 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:556" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_47 -#AT_START_48 -at_fn_group_banner 48 'wordsplit.at:570' \ - "empty quotes" " " 1 -at_xfail=no -( - $as_echo "48. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:570: - wsp delim : ws return_delims <<'EOT' -t=\"\" -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:570" -( $at_check_trace; - wsp delim : ws return_delims <<'EOT' -t="" -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: t= -TOTAL: 1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:570" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_48 -#AT_START_49 -at_fn_group_banner 49 'wordsplit.at:577' \ - "delimiter following empty quotes" " " 1 -at_xfail=no -( - $as_echo "49. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:577: - wsp delim : ws return_delims <<'EOT' -t=\"\":r -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:577" -( $at_check_trace; - wsp delim : ws return_delims <<'EOT' -t="":r -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: t= -1: : -2: r -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:577" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_49 -#AT_START_50 -at_fn_group_banner 50 'wordsplit.at:587' \ - "suppress ws trimming within quotes" " " 1 -at_xfail=no -( - $as_echo "50. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:587: - wsp default delim , ws return_delims <<'EOT' -nocomponent,nonewline, formatfield=\"In message %{text}, \" -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:587" -( $at_check_trace; - wsp default delim , ws return_delims <<'EOT' -nocomponent,nonewline, formatfield="In message %{text}, " -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 5 -0: nocomponent -1: , -2: nonewline -3: , -4: \"formatfield=In message %{text}, \" -TOTAL: 5 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:587" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_50 -#AT_START_51 -at_fn_group_banner 51 'wordsplit.at:600' \ - "unescape" " " 1 -at_xfail=no -( - $as_echo "51. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:600: - wsp -default novar nocmd quote escape ':+:\\\\\"\"' <<'EOT' -\\Seen \"quote \\\"\" \"bs \\\\\" -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:600" -( $at_check_trace; - wsp -default novar nocmd quote escape ':+:\\""' <<'EOT' -\Seen "quote \"" "bs \\" -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: \\\\Seen -1: \"quote \\\"\" -2: \"bs \\\\\" -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:600" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_51 -#AT_START_52 -at_fn_group_banner 52 'wordsplit.at:611' \ - "unescape: word/quote" " " 1 -at_xfail=no -( - $as_echo "52. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:611: - wsp -default novar nocmd quote escape-word '\\\\\"\"' escape-quote ':+0x:\\\\\"\"' <<'EOT' -\\Seen \"quote \\\"\" \"bs \\\\\" \"3\\x31 \\101\" 3\\x31 \\101 -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:611" -( $at_check_trace; - wsp -default novar nocmd quote escape-word '\\""' escape-quote ':+0x:\\""' <<'EOT' -\Seen "quote \"" "bs \\" "3\x31 \101" 3\x31 \101 -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 6 -0: Seen -1: \"quote \\\"\" -2: \"bs \\\\\" -3: \"31 A\" -4: 3x31 -5: 101 -TOTAL: 6 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:611" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_52 -#AT_START_53 -at_fn_group_banner 53 'wordsplit.at:625' \ - "dquote" " " 1 -at_xfail=no -( - $as_echo "53. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:625: - wsp -default novar nocmd dquote <<'EOT' -a \"quoted example\" isn't it -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:625" -( $at_check_trace; - wsp -default novar nocmd dquote <<'EOT' -a "quoted example" isn't it -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 4 -0: a -1: \"quoted example\" -2: isn't -3: it -TOTAL: 4 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:625" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_53 -#AT_START_54 -at_fn_group_banner 54 'wordsplit.at:635' \ - "squote" " " 1 -at_xfail=no -( - $as_echo "54. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:635: - wsp -default novar nocmd squote <<'EOT' -a 'quoted example' isn\"t it -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:635" -( $at_check_trace; - wsp -default novar nocmd squote <<'EOT' -a 'quoted example' isn"t it -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 4 -0: a -1: \"quoted example\" -2: \"isn\\\"t\" -3: it -TOTAL: 4 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:635" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_54 -#AT_START_55 -at_fn_group_banner 55 'wordsplit.at:647' \ - "incremental" " " 1 -at_xfail=no -( - $as_echo "55. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:647: - wsp incremental <<'EOT' -incremental \"input test\" line - - - -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:647" -( $at_check_trace; - wsp incremental <<'EOT' -incremental "input test" line - - - -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo >>"$at_stderr"; $as_echo "input exhausted -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: incremental -TOTAL: 1 -NF: 1 -0: \"input test\" -TOTAL: 2 -NF: 1 -0: line -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:647" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_55 -#AT_START_56 -at_fn_group_banner 56 'wordsplit.at:665' \ - "incremental append" " " 1 -at_xfail=no -( - $as_echo "56. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:665: - wsp incremental append <<'EOT' -incremental \"input test\" line - - - -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:665" -( $at_check_trace; - wsp incremental append <<'EOT' -incremental "input test" line - - - -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo >>"$at_stderr"; $as_echo "input exhausted -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: incremental -TOTAL: 1 -NF: 2 -0: incremental -1: \"input test\" -TOTAL: 2 -NF: 3 -0: incremental -1: \"input test\" -2: line -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:665" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_56 -#AT_START_57 -at_fn_group_banner 57 'wordsplit.at:686' \ - "incremental ws" " " 1 -at_xfail=no -( - $as_echo "57. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:686: - wsp return_delims -squeeze_delims incremental ws <<'EOT' -a list test - - - -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:686" -( $at_check_trace; - wsp return_delims -squeeze_delims incremental ws <<'EOT' -a list test - - - -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo >>"$at_stderr"; $as_echo "input exhausted -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: a -TOTAL: 1 -NF: 1 -0: list -TOTAL: 2 -NF: 1 -0: test -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:686" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_57 -#AT_START_58 -at_fn_group_banner 58 'wordsplit.at:705' \ - "incremental nosplit" " " 1 -at_xfail=no -( - $as_echo "58. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:705: - wsp incremental nosplit <<'EOT' -incremental \"input test\" line - -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:705" -( $at_check_trace; - wsp incremental nosplit <<'EOT' -incremental "input test" line - -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo >>"$at_stderr"; $as_echo "input exhausted -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: \"incremental input test line\" -TOTAL: 1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:705" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_58 -#AT_START_59 -at_fn_group_banner 59 'wordsplit.at:715' \ - "simple command substitution" " " 1 -at_xfail=no -( - $as_echo "59. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:715: - wsp -nocmd <<'EOT' -begin \$(words a b) end -EOT -" -at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:715" -( $at_check_trace; - wsp -nocmd <<'EOT' -begin $(words a b) end -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 4 -0: begin -1: a -2: b -3: end -TOTAL: 4 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:715" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_59 -#AT_START_60 -at_fn_group_banner 60 'wordsplit.at:725' \ - "quoted command substitution" " " 1 -at_xfail=no -( - $as_echo "60. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:725: - wsp -nocmd <<'EOT' -begin \"\$(words a b)\" end -EOT -" -at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:725" -( $at_check_trace; - wsp -nocmd <<'EOT' -begin "$(words a b)" end -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: begin -1: \"a b\" -2: end -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:725" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_60 -#AT_START_61 -at_fn_group_banner 61 'wordsplit.at:734' \ - "coalesced command substitution" " " 1 -at_xfail=no -( - $as_echo "61. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:734: - wsp -nocmd <<'EOT' -begin(\$(words a b))end -EOT -" -at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:734" -( $at_check_trace; - wsp -nocmd <<'EOT' -begin($(words a b))end -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 2 -0: begin(a -1: b)end -TOTAL: 2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:734" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_61 -#AT_START_62 -at_fn_group_banner 62 'wordsplit.at:742' \ - "quoted coalesced command substitution" " " 1 -at_xfail=no -( - $as_echo "62. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:742: - wsp -nocmd <<'EOT' -\"begin(\$(words a b))end\" -EOT -" -at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:742" -( $at_check_trace; - wsp -nocmd <<'EOT' -"begin($(words a b))end" -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: \"begin(a b)end\" -TOTAL: 1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:742" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_62 -#AT_START_63 -at_fn_group_banner 63 'wordsplit.at:749' \ - "variable and command substitution" " " 1 -at_xfail=no -( - $as_echo "63. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:749: -X=a Y=b wsp -nocmd -novar <<'EOT' -begin \$X \$(words \$X \$Y) end -EOT -" -at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:749" -( $at_check_trace; -X=a Y=b wsp -nocmd -novar <<'EOT' -begin $X $(words $X $Y) end -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 5 -0: begin -1: a -2: a -3: b -4: end -TOTAL: 5 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:749" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_63 -#AT_START_64 -at_fn_group_banner 64 'wordsplit.at:760' \ - "variable expansion and command substitution in quotes" "" 1 -at_xfail=no -( - $as_echo "64. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:760: -X=a Y=b BEGIN=begin wsp -nocmd -novar <<'EOT' -\"\${BEGIN}(\$(words \$X \$Y))end\" -EOT -" -at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:760" -( $at_check_trace; -X=a Y=b BEGIN=begin wsp -nocmd -novar <<'EOT' -"${BEGIN}($(words $X $Y))end" -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: \"begin(a b)end\" -TOTAL: 1 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:760" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_64 -#AT_START_65 -at_fn_group_banner 65 'wordsplit.at:767' \ - "nested commands" " " 1 -at_xfail=no -( - $as_echo "65. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:767: -SUFFIX=put wsp -nocmd -novar <<'EOT' -\$(words output \$(words in\$SUFFIX text) end) -EOT -" -at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:767" -( $at_check_trace; -SUFFIX=put wsp -nocmd -novar <<'EOT' -$(words output $(words in$SUFFIX text) end) -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 4 -0: output -1: input -2: text -3: end -TOTAL: 4 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:767" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_65 -#AT_START_66 -at_fn_group_banner 66 'wordsplit.at:778' \ - "pathname expansion" " " 1 -at_xfail=no -( - $as_echo "66. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:780: -mkdir dir -> dir/1.c -> dir/2.c -> dir/3.b - -wsp pathexpand<<'EOT' -begin dir/*.c end -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:780" -( $at_check_trace; -mkdir dir -> dir/1.c -> dir/2.c -> dir/3.b - -wsp pathexpand<<'EOT' -begin dir/*.c end -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 4 -0: begin -1: dir/1.c -2: dir/2.c -3: end -TOTAL: 4 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:780" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_66 -#AT_START_67 -at_fn_group_banner 67 'wordsplit.at:800' \ - "pathname expansion: no match" " " 1 -at_xfail=no -( - $as_echo "67. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:802: -mkdir dir -> dir/1.c -> dir/2.b - -wsp pathexpand<<'EOT' -begin dir/*.d end -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:802" -( $at_check_trace; -mkdir dir -> dir/1.c -> dir/2.b - -wsp pathexpand<<'EOT' -begin dir/*.d end -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: begin -1: dir/*.d -2: end -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:802" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_67 -#AT_START_68 -at_fn_group_banner 68 'wordsplit.at:820' \ - "pathname expansion: nullglob" " " 1 -at_xfail=no -( - $as_echo "68. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:822: -mkdir dir -> dir/1.c -> dir/2.b - -wsp pathexpand nullglob<<'EOT' -begin dir/*.d end -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:822" -( $at_check_trace; -mkdir dir -> dir/1.c -> dir/2.b - -wsp pathexpand nullglob<<'EOT' -begin dir/*.d end -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 2 -0: begin -1: end -TOTAL: 2 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:822" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_68 -#AT_START_69 -at_fn_group_banner 69 'wordsplit.at:839' \ - "pathname expansion: failglob" " " 1 -at_xfail=no -( - $as_echo "69. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:841: -mkdir dir -> dir/1.c -> dir/2.b - -wsp pathexpand failglob<<'EOT' -begin dir/*.d end -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:841" -( $at_check_trace; -mkdir dir -> dir/1.c -> dir/2.b - -wsp pathexpand failglob<<'EOT' -begin dir/*.d end -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo >>"$at_stderr"; $as_echo "no files match pattern dir/*.d -" | \ - $at_diff - "$at_stderr" || at_failed=: -at_fn_diff_devnull "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:841" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_69 -#AT_START_70 -at_fn_group_banner 70 'wordsplit.at:856' \ - "append" " " 1 -at_xfail=no -( - $as_echo "70. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:856: - wsp -- extra arguments follow <<'EOT' -some words and -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:856" -( $at_check_trace; - wsp -- extra arguments follow <<'EOT' -some words and -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 6 -0: some -1: words -2: and -3: extra -4: arguments -5: follow -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:856" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_70 -#AT_START_71 -at_fn_group_banner 71 'wordsplit.at:868' \ - "append + dooffs + env" " " 1 -at_xfail=no -( - $as_echo "71. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:868: - wsp -env dooffs 2 preface words V=2 -- extra arguments follow <<'EOT' -some words and var=\$V -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:868" -( $at_check_trace; - wsp -env dooffs 2 preface words V=2 -- extra arguments follow <<'EOT' -some words and var=$V -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 7 (2) -(0): preface -(1): words -2: some -3: words -4: and -5: var=2 -6: extra -7: arguments -8: follow -TOTAL: 4 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:868" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_71 -#AT_START_72 -at_fn_group_banner 72 'wordsplit.at:885' \ - "maxwords" " " 1 -at_xfail=no -( - $as_echo "72. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:885: - wsp trimnl maxwords 3 <<'EOT' -ws_maxwords limits the number of returned words -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:885" -( $at_check_trace; - wsp trimnl maxwords 3 <<'EOT' -ws_maxwords limits the number of returned words -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 3 -0: ws_maxwords -1: limits -2: \"the number of returned words\" -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:885" -$at_failed && at_fn_log_failure -$at_traceon; } - - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_72 -#AT_START_73 -at_fn_group_banner 73 'wordsplit.at:895' \ - "maxwords return_delims" " " 1 -at_xfail=no -( - $as_echo "73. $at_setup_line: testing $at_desc ..." - $at_traceon - - -{ set +x -$as_echo "$at_srcdir/wordsplit.at:895: - wsp trimnl maxwords 8 return_delims delim :- <<'EOT' -foo:::bar-:baz-quux:ux:zu -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:895" -( $at_check_trace; - wsp trimnl maxwords 8 return_delims delim :- <<'EOT' -foo:::bar-:baz-quux:ux:zu -EOT - -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 8 -0: foo -1: : -2: bar -3: - -4: : -5: baz -6: - -7: quux:ux:zu -TOTAL: 8 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:895" -$at_failed && at_fn_log_failure -$at_traceon; } + 0:*:1) at_result="$at_result $at_were run, +$at_total_fail_count failed ($at_xfail_count expected failure)." ;; + 0:*:*) at_result="$at_result $at_were run, +$at_total_fail_count failed ($at_xfail_count expected failures)." ;; - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_73 -#AT_START_74 -at_fn_group_banner 74 'wordsplit.at:910' \ - "maxwords return_delims -squeeze_delims" " " 1 -at_xfail=no -( - $as_echo "74. $at_setup_line: testing $at_desc ..." - $at_traceon + # No unexpected failures, but some xpasses + *:0:*) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly." ;; + # No expected failures, but failures and xpasses + *:1:0) at_result="$at_result $at_were run, +$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;; + *:*:0) at_result="$at_result $at_were run, +$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;; -{ set +x -$as_echo "$at_srcdir/wordsplit.at:910: - wsp trimnl maxwords 8 return_delims -squeeze_delims delim :- <<'EOT' -foo:::bar-:baz:qux- -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:910" -( $at_check_trace; - wsp trimnl maxwords 8 return_delims -squeeze_delims delim :- <<'EOT' -foo:::bar-:baz:qux- -EOT + # All of them. + *:*:1) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly, +$at_total_fail_count failed ($at_xfail_count expected failure)." ;; + *:*:*) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly, +$at_total_fail_count failed ($at_xfail_count expected failures)." ;; + esac -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -at_fn_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 8 -0: foo -1: : -2: : -3: : -4: bar -5: - -6: : -7: baz:qux- -TOTAL: 8 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:910" -$at_failed && at_fn_log_failure -$at_traceon; } + if test $at_skip_count = 0 && test $at_run_count -gt 1; then + at_result="All $at_result" + fi +fi - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_74 -#AT_START_75 -at_fn_group_banner 75 'wordsplit.at:925' \ - "maxwords incremental" " " 1 -at_xfail=no -( - $as_echo "75. $at_setup_line: testing $at_desc ..." - $at_traceon +# Now put skips in the mix. +case $at_skip_count in + 0) ;; + 1) at_result="$at_result +1 test was skipped." ;; + *) at_result="$at_result +$at_skip_count tests were skipped." ;; +esac +if test $at_unexpected_count = 0; then + echo "$at_color$at_result$at_std" + echo "$at_result" >&5 +else + echo "${at_color}ERROR: $at_result$at_std" >&2 + echo "ERROR: $at_result" >&5 + { + echo + $as_echo "## ------------------------ ## +## Summary of the failures. ## +## ------------------------ ##" -{ set +x -$as_echo "$at_srcdir/wordsplit.at:925: - wsp trimnl maxwords 3 incremental <<'EOT' -foo bar baz qux uz + # Summary of failed and skipped tests. + if test $at_fail_count != 0; then + echo "Failed tests:" + $SHELL "$at_myself" $at_fail_list --list + echo + fi + if test $at_skip_count != 0; then + echo "Skipped tests:" + $SHELL "$at_myself" $at_skip_list --list + echo + fi + if test $at_xpass_count != 0; then + echo "Unexpected passes:" + $SHELL "$at_myself" $at_xpass_list --list + echo + fi + if test $at_fail_count != 0; then + $as_echo "## ---------------------- ## +## Detailed failed tests. ## +## ---------------------- ##" + echo + for at_group in $at_fail_list + do + at_group_normalized=$at_group + eval 'while :; do + case $at_group_normalized in #( + '"$at_format"'*) break;; + esac + at_group_normalized=0$at_group_normalized + done' + cat "$at_suite_dir/$at_group_normalized/$as_me.log" + echo + done + echo + fi + if test -n "$at_top_srcdir"; then + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## ${at_top_build_prefix}config.log ## +_ASBOX + sed 's/^/| /' ${at_top_build_prefix}config.log + echo + fi + } >&5 -EOT -" -at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:925" -( $at_check_trace; - wsp trimnl maxwords 3 incremental <<'EOT' -foo bar baz qux uz + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## $as_me.log was created. ## +_ASBOX + echo + if $at_debug_p; then + at_msg='per-test log files' + else + at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'" + fi + $as_echo "Please send $at_msg and all information you think might help: + To: + Subject: [GNU dico 2.10] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} -EOT +You may investigate any problem if you feel able to do so, in which +case the test suite provides a good starting point. Its output may +be found below \`${at_testdir+${at_testdir}/}$as_me.dir'. +" + exit 1 +fi -) >>"$at_stdout" 2>>"$at_stderr" 5>&- -at_status=$? at_failed=false -$at_check_filter -echo >>"$at_stderr"; $as_echo "input exhausted -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "NF: 1 -0: foo -TOTAL: 1 -NF: 1 -0: bar -TOTAL: 2 -NF: 1 -0: \"baz qux uz\" -TOTAL: 3 -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:925" -$at_failed && at_fn_log_failure -$at_traceon; } +exit 0 - set +x - $at_times_p && times >"$at_times_file" -) 5>&1 2>&1 7>&- | eval $at_tee_pipe -read at_status <"$at_status_file" -#AT_STOP_75 -#AT_START_76 -at_fn_group_banner 76 'format00.at:17' \ - "Default format" " " 2 +## ------------- ## +## Actual tests. ## +## ------------- ## +#AT_START_1 +at_fn_group_banner 1 'format00.at:17' \ + "Default format" " " 1 at_xfail=no ( - $as_echo "76. $at_setup_line: testing $at_desc ..." + $as_echo "1. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5369,13 +2091,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_76 -#AT_START_77 -at_fn_group_banner 77 'format01.at:17' \ - "Locus" " " 2 +#AT_STOP_1 +#AT_START_2 +at_fn_group_banner 2 'format01.at:17' \ + "Locus" " " 1 at_xfail=no ( - $as_echo "77. $at_setup_line: testing $at_desc ..." + $as_echo "2. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5413,13 +2135,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_77 -#AT_START_78 -at_fn_group_banner 78 'format02.at:17' \ - "Custom delimiter" " " 2 +#AT_STOP_2 +#AT_START_3 +at_fn_group_banner 3 'format02.at:17' \ + "Custom delimiter" " " 1 at_xfail=no ( - $as_echo "78. $at_setup_line: testing $at_desc ..." + $as_echo "3. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5457,13 +2179,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_78 -#AT_START_79 -at_fn_group_banner 79 'stradj.at:17' \ - "String location adjustment" " " 3 +#AT_STOP_3 +#AT_START_4 +at_fn_group_banner 4 'stradj.at:17' \ + "String location adjustment" " " 2 at_xfail=no ( - $as_echo "79. $at_setup_line: testing $at_desc ..." + $as_echo "4. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5507,13 +2229,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_79 -#AT_START_80 -at_fn_group_banner 80 'strcat.at:17' \ - "String concatenation" " " 3 +#AT_STOP_4 +#AT_START_5 +at_fn_group_banner 5 'strcat.at:17' \ + "String concatenation" " " 2 at_xfail=no ( - $as_echo "80. $at_setup_line: testing $at_desc ..." + $as_echo "5. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5546,13 +2268,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_80 -#AT_START_81 -at_fn_group_banner 81 'enum.at:17' \ - "Enumerate nodes" " " 4 +#AT_STOP_5 +#AT_START_6 +at_fn_group_banner 6 'enum.at:17' \ + "Enumerate nodes" " " 3 at_xfail=no ( - $as_echo "81. $at_setup_line: testing $at_desc ..." + $as_echo "6. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5596,13 +2318,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_81 -#AT_START_82 -at_fn_group_banner 82 'peek00.at:17' \ - "Peek" " " 5 +#AT_STOP_6 +#AT_START_7 +at_fn_group_banner 7 'peek00.at:17' \ + "Peek" " " 4 at_xfail=no ( - $as_echo "82. $at_setup_line: testing $at_desc ..." + $as_echo "7. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5627,13 +2349,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_82 -#AT_START_83 -at_fn_group_banner 83 'peek01.at:17' \ - "Nested nodes" " " 5 +#AT_STOP_7 +#AT_START_8 +at_fn_group_banner 8 'peek01.at:17' \ + "Nested nodes" " " 4 at_xfail=no ( - $as_echo "83. $at_setup_line: testing $at_desc ..." + $as_echo "8. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5674,13 +2396,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_83 -#AT_START_84 -at_fn_group_banner 84 'peek02.at:17' \ - "Block nodes" " " 5 +#AT_STOP_8 +#AT_START_9 +at_fn_group_banner 9 'peek02.at:17' \ + "Block nodes" " " 4 at_xfail=no ( - $as_echo "84. $at_setup_line: testing $at_desc ..." + $as_echo "9. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5706,13 +2428,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_84 -#AT_START_85 -at_fn_group_banner 85 'peek03.at:17' \ - "Nested blocks" " " 5 +#AT_STOP_9 +#AT_START_10 +at_fn_group_banner 10 'peek03.at:17' \ + "Nested blocks" " " 4 at_xfail=no ( - $as_echo "85. $at_setup_line: testing $at_desc ..." + $as_echo "10. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5756,13 +2478,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_85 -#AT_START_86 -at_fn_group_banner 86 'glob00.at:17' \ - "Leading wildcard" " " 6 +#AT_STOP_10 +#AT_START_11 +at_fn_group_banner 11 'glob00.at:17' \ + "Leading wildcard" " " 5 at_xfail=no ( - $as_echo "86. $at_setup_line: testing $at_desc ..." + $as_echo "11. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5789,13 +2511,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_86 -#AT_START_87 -at_fn_group_banner 87 'glob01.at:17' \ - "Trailing wildcard" " " 6 +#AT_STOP_11 +#AT_START_12 +at_fn_group_banner 12 'glob01.at:17' \ + "Trailing wildcard" " " 5 at_xfail=no ( - $as_echo "87. $at_setup_line: testing $at_desc ..." + $as_echo "12. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5822,13 +2544,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_87 -#AT_START_88 -at_fn_group_banner 88 'glob02.at:17' \ - "Intermediate wildcard" " " 6 +#AT_STOP_12 +#AT_START_13 +at_fn_group_banner 13 'glob02.at:17' \ + "Intermediate wildcard" " " 5 at_xfail=no ( - $as_echo "88. $at_setup_line: testing $at_desc ..." + $as_echo "13. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5853,13 +2575,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_88 -#AT_START_89 -at_fn_group_banner 89 'glob03.at:17' \ - "Multiple wildcards" " " 6 +#AT_STOP_13 +#AT_START_14 +at_fn_group_banner 14 'glob03.at:17' \ + "Multiple wildcards" " " 5 at_xfail=no ( - $as_echo "89. $at_setup_line: testing $at_desc ..." + $as_echo "14. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5914,13 +2636,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_89 -#AT_START_90 -at_fn_group_banner 90 'glob04.at:17' \ - "Subtree - asterisk" " " 6 +#AT_STOP_14 +#AT_START_15 +at_fn_group_banner 15 'glob04.at:17' \ + "Subtree - asterisk" " " 5 at_xfail=no ( - $as_echo "90. $at_setup_line: testing $at_desc ..." + $as_echo "15. $at_setup_line: testing $at_desc ..." $at_traceon @@ -5964,13 +2686,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_90 -#AT_START_91 -at_fn_group_banner 91 'glob05.at:17' \ - "Subtree - percent" " " 6 +#AT_STOP_15 +#AT_START_16 +at_fn_group_banner 16 'glob05.at:17' \ + "Subtree - percent" " " 5 at_xfail=no ( - $as_echo "91. $at_setup_line: testing $at_desc ..." + $as_echo "16. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6014,13 +2736,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_91 -#AT_START_92 -at_fn_group_banner 92 'reduce00.at:17' \ - "Simple statement" " " 7 +#AT_STOP_16 +#AT_START_17 +at_fn_group_banner 17 'reduce00.at:17' \ + "Simple statement" " " 6 at_xfail=no ( - $as_echo "92. $at_setup_line: testing $at_desc ..." + $as_echo "17. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6051,13 +2773,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_92 -#AT_START_93 -at_fn_group_banner 93 'reduce01.at:17' \ - "Block statement" " " 7 +#AT_STOP_17 +#AT_START_18 +at_fn_group_banner 18 'reduce01.at:17' \ + "Block statement" " " 6 at_xfail=no ( - $as_echo "93. $at_setup_line: testing $at_desc ..." + $as_echo "18. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6101,13 +2823,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_93 -#AT_START_94 -at_fn_group_banner 94 'reduce02.at:17' \ - "Nested block statement" " " 7 +#AT_STOP_18 +#AT_START_19 +at_fn_group_banner 19 'reduce02.at:17' \ + "Nested block statement" " " 6 at_xfail=no ( - $as_echo "94. $at_setup_line: testing $at_desc ..." + $as_echo "19. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6162,13 +2884,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_94 -#AT_START_95 -at_fn_group_banner 95 'reduce03.at:17' \ - "Table driven reduction" " " 7 +#AT_STOP_19 +#AT_START_20 +at_fn_group_banner 20 'reduce03.at:17' \ + "Table driven reduction" " " 6 at_xfail=no ( - $as_echo "95. $at_setup_line: testing $at_desc ..." + $as_echo "20. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6213,13 +2935,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_95 -#AT_START_96 -at_fn_group_banner 96 'sort00.at:17' \ - "Sort" " " 8 +#AT_STOP_20 +#AT_START_21 +at_fn_group_banner 21 'sort00.at:17' \ + "Sort" " " 7 at_xfail=no ( - $as_echo "96. $at_setup_line: testing $at_desc ..." + $as_echo "21. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6277,13 +2999,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_96 -#AT_START_97 -at_fn_group_banner 97 'sort01.at:17' \ - "Stable sort" " " 8 +#AT_STOP_21 +#AT_START_22 +at_fn_group_banner 22 'sort01.at:17' \ + "Stable sort" " " 7 at_xfail=no ( - $as_echo "97. $at_setup_line: testing $at_desc ..." + $as_echo "22. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6321,13 +3043,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_97 -#AT_START_98 -at_fn_group_banner 98 'incl00.at:17' \ - "Include path" " " 9 +#AT_STOP_22 +#AT_START_23 +at_fn_group_banner 23 'incl00.at:17' \ + "Include path" " " 8 at_xfail=no ( - $as_echo "98. $at_setup_line: testing $at_desc ..." + $as_echo "23. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6386,13 +3108,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_98 -#AT_START_99 -at_fn_group_banner 99 'incl01.at:17' \ - "Recursive inclusion" " " 9 +#AT_STOP_23 +#AT_START_24 +at_fn_group_banner 24 'incl01.at:17' \ + "Recursive inclusion" " " 8 at_xfail=no ( - $as_echo "99. $at_setup_line: testing $at_desc ..." + $as_echo "24. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6458,13 +3180,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_99 -#AT_START_100 -at_fn_group_banner 100 'incl02.at:17' \ - "Include once" " " 9 +#AT_STOP_24 +#AT_START_25 +at_fn_group_banner 25 'incl02.at:17' \ + "Include once" " " 8 at_xfail=no ( - $as_echo "100. $at_setup_line: testing $at_desc ..." + $as_echo "25. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6546,13 +3268,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_100 -#AT_START_101 -at_fn_group_banner 101 'incl03.at:17' \ - "Wildcard inclusion" " " 9 +#AT_STOP_25 +#AT_START_26 +at_fn_group_banner 26 'incl03.at:17' \ + "Wildcard inclusion" " " 8 at_xfail=no ( - $as_echo "101. $at_setup_line: testing $at_desc ..." + $as_echo "26. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6629,13 +3351,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_101 -#AT_START_102 -at_fn_group_banner 102 'join.at:17' \ - "Join" " " 10 +#AT_STOP_26 +#AT_START_27 +at_fn_group_banner 27 'join.at:17' \ + "Join" " " 9 at_xfail=no ( - $as_echo "102. $at_setup_line: testing $at_desc ..." + $as_echo "27. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6687,13 +3409,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_102 -#AT_START_103 -at_fn_group_banner 103 'cfhelp.at:17' \ - "Help" " " 10 +#AT_STOP_27 +#AT_START_28 +at_fn_group_banner 28 'cfhelp.at:17' \ + "Help" " " 9 at_xfail=no ( - $as_echo "103. $at_setup_line: testing $at_desc ..." + $as_echo "28. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6769,13 +3491,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_103 -#AT_START_104 -at_fn_group_banner 104 'set.at:17' \ - "Set values" " " 10 +#AT_STOP_28 +#AT_START_29 +at_fn_group_banner 29 'set.at:17' \ + "Set values" " " 9 at_xfail=no ( - $as_echo "104. $at_setup_line: testing $at_desc ..." + $as_echo "29. $at_setup_line: testing $at_desc ..." $at_traceon @@ -6789,7 +3511,7 @@ ) >>"$at_stdout" 2>>"$at_stderr" 5>&- at_status=$? at_failed=false $at_check_filter -echo >>"$at_stderr"; $as_echo ":25.1-8: Unknown keyword +echo >>"$at_stderr"; $as_echo ":25.1-8: unknown keyword " | \ $at_diff - "$at_stderr" || at_failed=: echo >>"$at_stdout"; $as_echo "Global settings: @@ -6814,13 +3536,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_104 -#AT_START_105 -at_fn_group_banner 105 'vercmp.at:17' \ - "Version comparator" " " 10 +#AT_STOP_29 +#AT_START_30 +at_fn_group_banner 30 'vercmp.at:17' \ + "Version comparator" " " 9 at_xfail=no ( - $as_echo "105. $at_setup_line: testing $at_desc ..." + $as_echo "30. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7025,13 +3747,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_105 -#AT_START_106 -at_fn_group_banner 106 'grecs00.at:17' \ - "C comments in GRECS-style parser" " " 10 +#AT_STOP_30 +#AT_START_31 +at_fn_group_banner 31 'grecs00.at:17' \ + "C comments in GRECS-style parser" " " 9 at_xfail=no ( - $as_echo "106. $at_setup_line: testing $at_desc ..." + $as_echo "31. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7078,13 +3800,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_106 -#AT_START_107 -at_fn_group_banner 107 'empty.at:17' \ - "Empty input file" " " 10 +#AT_STOP_31 +#AT_START_32 +at_fn_group_banner 32 'empty.at:17' \ + "Empty input file" " " 9 at_xfail=no ( - $as_echo "107. $at_setup_line: testing $at_desc ..." + $as_echo "32. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7136,13 +3858,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_107 -#AT_START_108 -at_fn_group_banner 108 'locus00.at:17' \ - "Scalar value" " " 11 +#AT_STOP_32 +#AT_START_33 +at_fn_group_banner 33 'locus00.at:17' \ + "Scalar value" " " 10 at_xfail=no ( - $as_echo "108. $at_setup_line: testing $at_desc ..." + $as_echo "33. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7173,13 +3895,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_108 -#AT_START_109 -at_fn_group_banner 109 'locus01.at:17' \ - "Multiline strings" " " 11 +#AT_STOP_33 +#AT_START_34 +at_fn_group_banner 34 'locus01.at:17' \ + "Multiline strings" " " 10 at_xfail=no ( - $as_echo "109. $at_setup_line: testing $at_desc ..." + $as_echo "34. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7214,13 +3936,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_109 -#AT_START_110 -at_fn_group_banner 110 'locus02.at:17' \ - "Adjacent quoted strings" " " 11 +#AT_STOP_34 +#AT_START_35 +at_fn_group_banner 35 'locus02.at:17' \ + "Adjacent quoted strings" " " 10 at_xfail=no ( - $as_echo "110. $at_setup_line: testing $at_desc ..." + $as_echo "35. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7256,13 +3978,13 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_110 -#AT_START_111 -at_fn_group_banner 111 'path-locus.at:17' \ - "Path" " " 11 +#AT_STOP_35 +#AT_START_36 +at_fn_group_banner 36 'path-locus.at:17' \ + "Path" " " 10 at_xfail=no ( - $as_echo "111. $at_setup_line: testing $at_desc ..." + $as_echo "36. $at_setup_line: testing $at_desc ..." $at_traceon @@ -7377,4 +4099,4 @@ $at_times_p && times >"$at_times_file" ) 5>&1 2>&1 7>&- | eval $at_tee_pipe read at_status <"$at_status_file" -#AT_STOP_111 +#AT_STOP_36 diff -Nru dico-2.9/grecs/tests/testsuite.at dico-2.10/grecs/tests/testsuite.at --- dico-2.9/grecs/tests/testsuite.at 2018-06-03 08:11:12.000000000 +0000 +++ dico-2.10/grecs/tests/testsuite.at 2019-07-23 05:47:38.000000000 +0000 @@ -47,8 +47,6 @@ AT_INIT m4_if(GRECS_DISTCK_AT,,,[m4_include(GRECS_DISTCK_AT)]) -m4_include([wordsplit.at]) - AT_BANNER([Formats]) m4_include([format00.at]) m4_include([format01.at]) diff -Nru dico-2.9/grecs/tests/wordsplit.at dico-2.10/grecs/tests/wordsplit.at --- dico-2.9/grecs/tests/wordsplit.at 2019-02-18 19:01:25.000000000 +0000 +++ dico-2.10/grecs/tests/wordsplit.at 1970-01-01 00:00:00.000000000 +0000 @@ -1,950 +0,0 @@ -# This file is part of grecs -*- Autotest -*- -# Copyright (C) 2014-2018 Sergey Poznyakoff -# -# Grecs 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, or (at your option) -# any later version. -# -# Grecs 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 Grecs. If not, see . - -AT_BANNER(Wordsplit) - -m4_pushdef([wspnum],[0]) -m4_pushdef([wspid]) -m4_pushdef([wspgroupnum]) -m4_pushdef([wspgroupname]) - -m4_pushdef([genkw],[dnl -m4_define([wspid],m4_format([wordsplit%03d wsp%03d],wspnum))dnl -m4_if(wspgroupname,,,[m4_define([wspid],wspid[ ]dnl -m4_format(wspgroupname[ ]wspgroupname[%03d],wspgroupnum))dnl -m4_define([wspgroupnum],m4_incr(wspgroupnum))])dnl -m4_define([wspnum],m4_incr(wspnum))dnl -wspid]) - -m4_pushdef([WSPGROUP],[ -m4_define([wspgroupname],$1) -m4_define([wspgroupnum],0)]) - -dnl ------------------------------------------------------------ -dnl TESTWSP([NAME], [KW = `'], [OPTS], [INPUT], [STDOUT = `'], -dnl [STDERR = `'], [ENV], [PROLOGUE]) -dnl -m4_pushdef([TESTWSP],[ -AT_SETUP([$1]) -AT_KEYWORDS([wordsplit wsp ]genkw[ $2]) -AT_CHECK([$8 -$7 wsp $3 <<'EOT' -[$4] -EOT -], -[0], -[$5], -[$6]) -AT_CLEANUP -]) - -dnl ------------------------------------------------------------ -dnl The first part reproduces legacy argcv tests -dnl ------------------------------------------------------------ - -TESTWSP([simple input],[wsp-simple],[], -[1 2 3], -[NF: 3 -0: 1 -1: 2 -2: 3 -TOTAL: 3 -]) - -TESTWSP([quoted space],[wsp-quoted],[], -[quoted\ space], -[NF: 1 -0: "quoted space" -TOTAL: 1 -]) - -TESTWSP([tab character],[wsp-tab],[], -[a "tab character"], -[NF: 2 -0: a -1: tab\tcharacter -TOTAL: 2 -]) - -WSPGROUP(wsp-escape) -TESTWSP([octal and hex escapes],[],[], -[\157\143\164\141\154\40and\x20\x68\x65\x78], -[NF: 1 -0: "octal and hex" -TOTAL: 1 -]) - -TESTWSP([octal and hex escapes 2],[],[], -[\157\143\164\141\154\40 and \x20\x68\x65\x78], -[NF: 3 -0: "octal " -1: and -2: " hex" -TOTAL: 3 -]) - -TESTWSP([escape representation],[],[], -[A\x3-\48\39], -[NF: 1 -0: A\003-\0048\0039 -TOTAL: 1 -]) - -WSPGROUP() - -dnl ------------------------------------------------------------ -dnl Test worsplit-specific behavior -dnl ------------------------------------------------------------ -TESTWSP([append],[wsp-append],[append], -[jeden dwa trzy -cztery -piec szesc], -[NF: 3 -0: jeden -1: dwa -2: trzy -TOTAL: 3 -NF: 4 -0: jeden -1: dwa -2: trzy -3: cztery -TOTAL: 1 -NF: 6 -0: jeden -1: dwa -2: trzy -3: cztery -4: piec -5: szesc -TOTAL: 2 -]) - -TESTWSP([dooffs],[wsp-doofs ],[dooffs 3 jeden dwa trzy], -[cztery piec], -[NF: 2 (3) -(0): jeden -(1): dwa -(2): trzy -3: cztery -4: piec -TOTAL: 2 -]) - -WSPGROUP(wsp-var) - -TESTWSP([variable substitutions: single var],[],[], -[a $FOO test], -[NF: 3 -0: a -1: bar -2: test -TOTAL: 3 -], -[], -[FOO=bar]) - -TESTWSP([variable substitutions: concatenated vars],[], -[], -[a $FOO${BAR}ent test], -[NF: 3 -0: a -1: stringent -2: test -TOTAL: 3 -], -[], -[FOO=str BAR=ing]) - -TESTWSP([variable substitutions: field splitting],[],[], -[a $FOO test], -[NF: 4 -0: a -1: variable -2: substitution -3: test -TOTAL: 4 -], -[], -[FOO="variable substitution"]) - -TESTWSP([variable substitutions: double-quoted variable],[],[], -[a "$FOO" test], -[NF: 3 -0: a -1: "variable substitution" -2: test -TOTAL: 3 -], -[], -[FOO="variable substitution"]) - -TESTWSP([variable substitutions: single-quoted variable],[],[], -[a '$FOO' test], -[NF: 3 -0: a -1: $FOO -2: test -TOTAL: 3 -], -[], -[FOO="variable substitution"]) - -TESTWSP([undefined variables 1],[],[], -[a $FOO test a${FOO}b], -[NF: 3 -0: a -1: test -2: ab -TOTAL: 3 -], -[], -[unset FOO;]) - -TESTWSP([undefined variables 2],[],[keepundef], -[a $FOO test a${FOO}b], -[NF: 4 -0: a -1: $FOO -2: test -3: a${FOO}b -TOTAL: 4 -], -[], -[unset FOO;]) - -TESTWSP([warn about undefined variables],[],[warnundef], -[$FOO], -[NF: 0 -TOTAL: 0 -], -[warning: undefined variable `FOO' -], -[unset FOO;]) - -TESTWSP([bail out on undefined variables],[],[undef], -[$FOO], -[], -[undefined variable -], -[unset FOO;]) - -TESTWSP([disable variable expansion],[],[novar], -[$FOO], -[NF: 1 -0: $FOO -TOTAL: 1 -], -[], -[FOO=bar]) - -TESTWSP([K/V environment],[wsp-env-kv wsp-env_kv], -[env_kv], -[$FOO a$BAZ], -[NF: 2 -0: bar -1: aqux -TOTAL: 2 -], -[], -[FOO=bar BAZ=qux]) - -TESTWSP([nosplit with expansion],[wsp-var-nosplit],[nosplit], -[a $FOO test], -[NF: 1 -0: "a variable expansion test\n" -TOTAL: 1 -], -[], -[FOO="variable expansion"]) - -TESTWSP([nosplit without expansion],[],[nosplit novar], -[a $FOO test], -[NF: 1 -0: "a $FOO test\n" -TOTAL: 1 -], -[], -[FOO="variable expansion"]) - -TESTWSP([default value (defined)],[],[], -[${FOO:-bar}], -[NF: 1 -0: qux -TOTAL: 1 -], -[], -[FOO=qux]) - -TESTWSP([default value],[],[], -[${FOO:-bar}], -[NF: 1 -0: bar -TOTAL: 1 -]) - -TESTWSP([default value (defined)],[],[], -[${FOO:-bar}], -[NF: 1 -0: qux -TOTAL: 1 -], -[], -[FOO=qux]) - -TESTWSP([default value (:- null)],[],[], -[${FOO:-bar}], -[NF: 1 -0: bar -TOTAL: 1 -], -[], -[FOO=]) - -TESTWSP([default value (- null)],[],[], -[${FOO-bar}], -[NF: 0 -TOTAL: 0 -], -[], -[FOO=]) - -TESTWSP([default value (- null, unset)],[],[], -[${FOO-bar}], -[NF: 1 -0: bar -TOTAL: 1 -]) - -TESTWSP([assign default values],[],[], -[${FOO=bar} -$FOO], -[NF: 1 -0: bar -TOTAL: 1 -NF: 1 -0: bar -TOTAL: 1 -]) - -TESTWSP([default error message (var defined)],[],[], -[a ${FOO:?} test], -[NF: 3 -0: a -1: bar -2: test -TOTAL: 3 -], -[], -[FOO=bar]) - -TESTWSP([default error message],[],[], -[${FOO:?}], -[NF: 0 -TOTAL: 0 -], -[FOO: variable null or not set -]) - -TESTWSP([custom error message (defined)],[wsp-custom-err wsp-custom-err00],[], -[a ${FOO:?please define it} test], -[NF: 3 -0: a -1: bar -2: test -TOTAL: 3 -], -[], -[FOO=bar]) - -TESTWSP([custom error message],[wsp-custom-err wsp-custom-err01],[], -[a ${FOO:?please define it} test], -[NF: 2 -0: a -1: test -TOTAL: 2 -], -[FOO: please define it -]) - -TESTWSP([alternate value (defined)],[wsp-alt wsp-alt00],[], -[a ${FOO:+isset} test], -[NF: 3 -0: a -1: isset -2: test -TOTAL: 3 -], -[], -[FOO=bar]) - -TESTWSP([alternate value],[wsp-alt wsp-alt01],[], -[a ${FOO:+isset} test], -[NF: 2 -0: a -1: test -TOTAL: 2 -], -[], -[unset FOO;]) - -TESTWSP([getvar],[wsp-getvar], -[foo=bar x=quux], -[begin $foo $x end], -[NF: 4 -0: begin -1: bar -2: quux -3: end -TOTAL: 4 -], -[], -[], -[unset foo; unset x]) - -TESTWSP([getvar and env],[wsp-getvar], -[foo=bar x=quux y=xur], -[begin $foo $TVAR $x $y end], -[NF: 6 -0: begin -1: bar -2: 12 -3: quux -4: zwar -5: end -TOTAL: 6 -], -[], -[TVAR=12 y=zwar], -[unset foo; unset x]) - -TESTWSP([getvar, alternate value],[wsp-getvar], -[foo=bar], -[a ${foo:+isset}], -[NF: 2 -0: a -1: isset -TOTAL: 2 -]) - -WSPGROUP() - -TESTWSP([ignore quotes],[wsp-ignore-quotes ],[-quote], -["a text"], -[NF: 2 -0: "\"a" -1: "text\"" -TOTAL: 2 -]) - -WSPGROUP(wsp-delim) - -TESTWSP([custom delimiters (squeeze)],[], -[delim : -ws trimnl], -[semicolon: separated::list: of :words], -[NF: 5 -0: semicolon -1: " separated" -2: list -3: " of " -4: words -TOTAL: 5 -]) - -TESTWSP([custom delimiters (no squeeze)],[], -[delim : -ws -squeeze_delims trimnl], -[semicolon: separated::list: of :words], -[NF: 6 -0: semicolon -1: " separated" -2: "" -3: list -4: " of " -5: words -TOTAL: 6 -]) - -TESTWSP([custom, with returned delimiters],[], -[delim : -ws trimnl return_delims], -[semicolon: separated::list: of :words], -[NF: 9 -0: semicolon -1: : -2: " separated" -3: : -4: list -5: : -6: " of " -7: : -8: words -TOTAL: 9 -]) - -TESTWSP([custom, with returned & squeezed delimiters],[], -[delim : -ws trimnl return_delims -squeeze_delims], -[semicolon: separated::list: of :words], -[NF: 10 -0: semicolon -1: : -2: " separated" -3: : -4: : -5: list -6: : -7: " of " -8: : -9: words -TOTAL: 10 -]) - -WSPGROUP(wsp-sed) - -TESTWSP([sed expressions],[],[sed], -[arg1 s/foo/bar/g;s/bar baz/quz quux/ arg2], -[NF: 3 -0: arg1 -1: "s/foo/bar/g;s/bar baz/quz quux/" -2: arg2 -TOTAL: 3 -]) - -WSPGROUP() - -TESTWSP([C escapes on],[wcp-c-escape],[cescapes], -[a\ttab form\ffeed and new\nline], -[NF: 4 -0: a\ttab -1: form\ffeed -2: and -3: new\nline -TOTAL: 4 -]) - -TESTWSP([C escapes off],[wcp-c-escape-off],[-cescapes], -[a\ttab form\ffeed and new\nline], -[NF: 4 -0: attab -1: formffeed -2: and -3: newnline -TOTAL: 4 -]) - -TESTWSP([ws elimination],[wsp-ws-elim],[delim ' ()' ws return_delims], -[( list items )], -[NF: 4 -0: ( -1: list -2: items -3: ) -TOTAL: 4 -]) - -TESTWSP([ws elimination + return delim],[wsp-ws-elim-ret], -[-default novar nocmd delim ":," return_delims ws dquote], -["foo" : "bar", "quux" : "baaz" ], -[NF: 7 -0: foo -1: : -2: bar -3: , -4: quux -5: : -6: baaz -TOTAL: 7 -]) - -TESTWSP([empty quotes],[wsp-empty-quotes],[delim : ws return_delims], -[t=""], -[NF: 1 -0: t= -TOTAL: 1 -]) - -TESTWSP([delimiter following empty quotes], -[],[delim : ws return_delims], -[t="":r], -[NF: 3 -0: t= -1: : -2: r -TOTAL: 3 -]) - -TESTWSP([suppress ws trimming within quotes], -[], -[default delim , ws return_delims], -[nocomponent,nonewline, formatfield="In message %{text}, "], -[NF: 5 -0: nocomponent -1: , -2: nonewline -3: , -4: "formatfield=In message %{text}, " -TOTAL: 5 -]) - -TESTWSP([unescape], -[wsp-unescape wsp-unescape-simple], -[-default novar nocmd quote escape ':+:\\""'], -[\Seen "quote \"" "bs \\"], -[NF: 3 -0: \\Seen -1: "quote \"" -2: "bs \\" -TOTAL: 3 -]) - -TESTWSP([unescape: word/quote], -[wsp-unescape wsp-unescape-word], -[-default novar nocmd quote escape-word '\\""' escape-quote ':+0x:\\""'], -[\Seen "quote \"" "bs \\" "3\x31 \101" 3\x31 \101], -[NF: 6 -0: Seen -1: "quote \"" -2: "bs \\" -3: "31 A" -4: 3x31 -5: 101 -TOTAL: 6 -]) - -TESTWSP([dquote],[],[-default novar nocmd dquote], -[a "quoted example" isn't it], -[NF: 4 -0: a -1: "quoted example" -2: isn't -3: it -TOTAL: 4 -]) - -TESTWSP([squote],[],[-default novar nocmd squote], -[a 'quoted example' isn"t it], -[NF: 4 -0: a -1: "quoted example" -2: "isn\"t" -3: it -TOTAL: 4 -]) - -WSPGROUP(wsp-incr) - -TESTWSP([incremental],[],[incremental], -[incremental "input test" line - - -], -[NF: 1 -0: incremental -TOTAL: 1 -NF: 1 -0: "input test" -TOTAL: 2 -NF: 1 -0: line -TOTAL: 3 -], -[input exhausted -]) - -TESTWSP([incremental append],[],[incremental append], -[incremental "input test" line - - -], -[NF: 1 -0: incremental -TOTAL: 1 -NF: 2 -0: incremental -1: "input test" -TOTAL: 2 -NF: 3 -0: incremental -1: "input test" -2: line -TOTAL: 3 -], -[input exhausted -]) - -TESTWSP([incremental ws], -[],[return_delims -squeeze_delims incremental ws], -[a list test - - -], -[NF: 1 -0: a -TOTAL: 1 -NF: 1 -0: list -TOTAL: 2 -NF: 1 -0: test -TOTAL: 3 -], -[input exhausted -]) - -TESTWSP([incremental nosplit],[],[incremental nosplit], -[incremental "input test" line -], -[NF: 1 -0: "incremental input test line" -TOTAL: 1 -], -[input exhausted -]) - -TESTWSP([simple command substitution],[],[-nocmd], -[begin $(words a b) end], -[NF: 4 -0: begin -1: a -2: b -3: end -TOTAL: 4 -]) - -TESTWSP([quoted command substitution],[],[-nocmd], -[begin "$(words a b)" end], -[NF: 3 -0: begin -1: "a b" -2: end -TOTAL: 3 -]) - -TESTWSP([coalesced command substitution],[],[-nocmd], -[begin($(words a b))end], -[NF: 2 -0: begin(a -1: b)end -TOTAL: 2 -]) - -TESTWSP([quoted coalesced command substitution],[],[-nocmd], -["begin($(words a b))end"], -[NF: 1 -0: "begin(a b)end" -TOTAL: 1 -]) - -TESTWSP([variable and command substitution],[],[-nocmd -novar], -[begin $X $(words $X $Y) end], -[NF: 5 -0: begin -1: a -2: a -3: b -4: end -TOTAL: 5 -],[],[X=a Y=b]) - -TESTWSP([variable expansion and command substitution in quotes],[],[-nocmd -novar], -["${BEGIN}($(words $X $Y))end"], -[NF: 1 -0: "begin(a b)end" -TOTAL: 1 -],[],[X=a Y=b BEGIN=begin]) - -TESTWSP([nested commands],[],[-nocmd -novar], -[$(words output $(words in$SUFFIX text) end)], -[NF: 4 -0: output -1: input -2: text -3: end -TOTAL: 4 -],[],[SUFFIX=put]) - -dnl Something that doesn't fit into TESTWSP -AT_SETUP([pathname expansion]) -AT_KEYWORDS([wordsplit wsp wsp-path wsp-path-1]) -AT_CHECK([ -mkdir dir -> dir/1.c -> dir/2.c -> dir/3.b - -wsp pathexpand<<'EOT' -begin dir/*.c end -EOT -], -[0], -[NF: 4 -0: begin -1: dir/1.c -2: dir/2.c -3: end -TOTAL: 4 -]) -AT_CLEANUP - -AT_SETUP([pathname expansion: no match]) -AT_KEYWORDS([wordsplit wsp wsp-path wsp-path-2]) -AT_CHECK([ -mkdir dir -> dir/1.c -> dir/2.b - -wsp pathexpand<<'EOT' -begin dir/*.d end -EOT -], -[0], -[NF: 3 -0: begin -1: dir/*.d -2: end -TOTAL: 3 -]) -AT_CLEANUP - -AT_SETUP([pathname expansion: nullglob]) -AT_KEYWORDS([wordsplit wsp wsp-path wsp-path-3]) -AT_CHECK([ -mkdir dir -> dir/1.c -> dir/2.b - -wsp pathexpand nullglob<<'EOT' -begin dir/*.d end -EOT -], -[0], -[NF: 2 -0: begin -1: end -TOTAL: 2 -]) -AT_CLEANUP - -AT_SETUP([pathname expansion: failglob]) -AT_KEYWORDS([wordsplit wsp wsp-path wsp-path-4]) -AT_CHECK([ -mkdir dir -> dir/1.c -> dir/2.b - -wsp pathexpand failglob<<'EOT' -begin dir/*.d end -EOT -], -[0], -[], -[no files match pattern dir/*.d -]) -AT_CLEANUP - -TESTWSP([append],[],[-- extra arguments follow], -[some words and], -[NF: 6 -0: some -1: words -2: and -3: extra -4: arguments -5: follow -TOTAL: 3 -]) - -TESTWSP([append + dooffs + env],[], -[-env dooffs 2 preface words V=2 -- extra arguments follow], -[some words and var=$V], -[NF: 7 (2) -(0): preface -(1): words -2: some -3: words -4: and -5: var=2 -6: extra -7: arguments -8: follow -TOTAL: 4 -]) - -# Maxwords -TESTWSP([maxwords],[], -[trimnl maxwords 3], -[ws_maxwords limits the number of returned words], -[NF: 3 -0: ws_maxwords -1: limits -2: "the number of returned words" -TOTAL: 3 -]) - -TESTWSP([maxwords return_delims],[], -[trimnl maxwords 8 return_delims delim :-], -[foo:::bar-:baz-quux:ux:zu], -[NF: 8 -0: foo -1: : -2: bar -3: - -4: : -5: baz -6: - -7: quux:ux:zu -TOTAL: 8 -]) - -TESTWSP([maxwords return_delims -squeeze_delims],[], -[trimnl maxwords 8 return_delims -squeeze_delims delim :-], -[foo:::bar-:baz:qux-], -[NF: 8 -0: foo -1: : -2: : -3: : -4: bar -5: - -6: : -7: baz:qux- -TOTAL: 8 -]) - -TESTWSP([maxwords incremental],[], -[trimnl maxwords 3 incremental], -[foo bar baz qux uz - - -], -[NF: 1 -0: foo -TOTAL: 1 -NF: 1 -0: bar -TOTAL: 2 -NF: 1 -0: "baz qux uz" -TOTAL: 3 -], -[input exhausted -])) - -m4_popdef([TESTWSP]) -m4_popdef([wspnum]) -m4_popdef([wspid]) -m4_popdef([genkw]) -m4_popdef([wspgroupnum]) -m4_popdef([wspgroupname]) -m4_popdef([WSPGROUP]) diff -Nru dico-2.9/grecs/tests/wordsplit-version.h dico-2.10/grecs/tests/wordsplit-version.h --- dico-2.9/grecs/tests/wordsplit-version.h 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/grecs/tests/wordsplit-version.h 2020-09-04 04:05:31.000000000 +0000 @@ -0,0 +1 @@ +#define WORDSPLIT_VERSION "v1.1" diff -Nru dico-2.9/grecs/tests/wspackage.m4 dico-2.10/grecs/tests/wspackage.m4 --- dico-2.9/grecs/tests/wspackage.m4 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/grecs/tests/wspackage.m4 2020-09-04 04:05:31.000000000 +0000 @@ -0,0 +1,5 @@ +m4_define([AT_PACKAGE_NAME], [wordsplit]) +m4_define([AT_PACKAGE_TARNAME], [wordsplit]) +m4_define([AT_PACKAGE_VERSION], [v1.1]) +m4_define([AT_PACKAGE_STRING], [AT_PACKAGE_TARNAME AT_PACKAGE_VERSION]) +m4_define([AT_PACKAGE_BUGREPORT], [bug-dico@gnu.org]) diff -Nru dico-2.9/grecs/tests/wsp.c dico-2.10/grecs/tests/wsp.c --- dico-2.9/grecs/tests/wsp.c 2019-02-18 19:01:25.000000000 +0000 +++ dico-2.10/grecs/tests/wsp.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,695 +0,0 @@ -/* grecs - Gray's Extensible Configuration System - Copyright (C) 2014-2016 Sergey Poznyakoff - - Grecs 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. - - Grecs 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 Grecs. If not, see . */ - -#ifdef HAVE_CONFIG_H -# include -#endif -#include -#include -#include -#include -#include -#include "grecs.h" -#include "wordsplit.h" - -extern char **environ; - -char *progname; - -struct kwd -{ - const char *name; - int tok; -}; - -struct kwd bool_keytab[] = { - { "append", WRDSF_APPEND }, - /*{ "reuse", WRDSF_REUSE },*/ - { "undef", WRDSF_UNDEF }, - { "novar", WRDSF_NOVAR }, - { "nocmd", WRDSF_NOCMD }, - { "ws", WRDSF_WS }, - { "quote", WRDSF_QUOTE }, - { "squote", WRDSF_SQUOTE }, - { "dquote", WRDSF_DQUOTE }, - { "squeeze_delims", WRDSF_SQUEEZE_DELIMS }, - { "return_delims", WRDSF_RETURN_DELIMS }, - { "sed", WRDSF_SED_EXPR }, - { "debug", WRDSF_SHOWDBG }, - { "nosplit", WRDSF_NOSPLIT }, - { "keepundef", WRDSF_KEEPUNDEF }, - { "warnundef", WRDSF_WARNUNDEF }, - { "cescapes", WRDSF_CESCAPES }, - { "default", WRDSF_DEFFLAGS }, - { "env_kv", WRDSF_ENV_KV }, - { "incremental", WRDSF_INCREMENTAL }, - { "pathexpand", WRDSF_PATHEXPAND }, - { NULL, 0 } -}; - -struct kwd opt_keytab[] = { - { "nullglob", WRDSO_NULLGLOB }, - { "failglob", WRDSO_FAILGLOB }, - { "dotglob", WRDSO_DOTGLOB }, - { NULL, 0 } -}; - -struct kwd string_keytab[] = { - { "delim", WRDSF_DELIM }, - { "comment", WRDSF_COMMENT }, - { "escape", WRDSF_ESCAPE }, - { NULL, 0 } -}; - -static int -kwxlat (struct kwd *kwp, const char *str, int *res) -{ - for (; kwp->name; kwp++) - if (strcmp (kwp->name, str) == 0) - { - *res = kwp->tok; - return 0; - } - return -1; -} - -static void -help () -{ - size_t i; - - printf ("usage: %s [options] [VAR=VALUE...] [-- EXTRA...]\n", progname); - printf ("options are:\n"); - printf (" [-]trimnl\n"); - printf (" [-]plaintext\n"); - printf (" -env\n"); - printf (" env sys|none|null\n"); - putchar ('\n'); - for (i = 0; bool_keytab[i].name; i++) - printf (" [-]%s\n", bool_keytab[i].name); - putchar ('\n'); - for (i = 0; string_keytab[i].name; i++) - { - printf (" -%s\n", string_keytab[i].name); - printf (" %s ARG\n", string_keytab[i].name); - } - printf (" escape-word ARG\n"); - printf (" escape-quote ARG\n"); - putchar ('\n'); - for (i = 0; opt_keytab[i].name; i++) - { - printf (" [-]%s\n", opt_keytab[i].name); - } - putchar ('\n'); - printf (" -dooffs\n"); - printf (" dooffs COUNT ARGS...\n"); - exit (0); -} - -void -print_qword (const char *word, int plaintext) -{ - static char *qbuf = NULL; - static size_t qlen = 0; - int quote; - size_t size = wordsplit_c_quoted_length (word, 0, "e); - - if (plaintext) - { - printf ("%s", word); - return; - } - - if (*word == 0) - quote = 1; - - if (size >= qlen) - { - qlen = size + 1; - qbuf = realloc (qbuf, qlen); - assert (qbuf != NULL); - } - wordsplit_c_quote_copy (qbuf, word, 0); - qbuf[size] = 0; - if (quote) - printf ("\"%s\"", qbuf); - else - printf ("%s", qbuf); -} - -/* Convert environment to K/V form */ -static char ** -make_env_kv () -{ - size_t i, j, size; - char **newenv; - - /* Count the number of entries */ - for (i = 0; environ[i]; i++) - ; - - size = i * 2 + 1; - newenv = calloc (size, sizeof (newenv[0])); - assert (newenv != NULL); - - for (i = j = 0; environ[i]; i++) - { - size_t len = strcspn (environ[i], "="); - char *p = malloc (len+1); - assert (p != NULL); - memcpy (p, environ[i], len); - p[len] = 0; - newenv[j++] = p; - p = strdup (environ[i] + len + 1); - assert (p != NULL); - newenv[j++] = p; - } - newenv[j] = NULL; - return newenv; -} - -static int -wsp_getvar (char **ret, const char *vptr, size_t vlen, void *data) -{ - char **base = data; - int i; - - for (i = 0; base[i]; i++) - { - size_t l = strcspn (base[i], "="); - if (l == vlen && memcmp (base[i], vptr, vlen) == 0) - { - char *p = strdup (base[i] + vlen + 1); - if (p == NULL) - return WRDSE_NOSPACE; - *ret = p; - return WRDSE_OK; - } - } - return WRDSE_UNDEF; -} - -static int -cmd_quote (char **ret, const char *str, size_t len, char **argv) -{ - int alen; - for (alen = 0; alen < len && !(str[alen] == ' ' || str[alen] == '\t'); alen++) - ; - for (; alen < len && (str[alen] == ' ' || str[alen] == '\t'); alen++) - ; - len -= alen; - *ret = malloc (len + 1); - if (!*ret) - return WRDSE_NOSPACE; - memcpy (*ret, str + alen, len); - (*ret)[len] = 0; - return WRDSE_OK; -} - -static int -cmd_words (char **ret, const char *str, size_t len, char **argv) -{ - char *p; - int i; - - p = malloc (len + 1); - if (!p) - return WRDSE_NOSPACE; - *ret = p; - for (i = 1; argv[i]; i++) - { - size_t s = strlen (argv[i]); - if (i > 1) - *p++ = ' '; - memcpy (p, argv[i], s); - p += s; - } - *p = 0; - return WRDSE_OK; -} - -static int -cmd_lines (char **ret, const char *str, size_t len, char **argv) -{ - char *p; - int i; - - p = malloc (len + 1); - if (!p) - return WRDSE_NOSPACE; - *ret = p; - for (i = 1; argv[i]; i++) - { - size_t s = strlen (argv[i]); - if (i > 1) - *p++ = '\n'; - memcpy (p, argv[i], s); - p += s; - } - *p = 0; - return WRDSE_OK; -} - -static struct command -{ - char const *name; - int (*cmd)(char **ret, const char *str, size_t len, char **argv); -} comtab[] = { - { "quote", cmd_quote }, - { "words", cmd_words }, - { "lines", cmd_lines } -}; - -static int -wsp_runcmd (char **ret, const char *str, size_t len, char **argv, void *closure) -{ - int i; - size_t s = 0; - - for (i = 0; ; i++) - { - if (i == sizeof (comtab) / sizeof (comtab[0])) - break; - if (strcmp (comtab[i].name, argv[0]) == 0) - return comtab[i].cmd (ret, str, len, argv); - } - - *ret = NULL; - if (grecs_asprintf (ret, &s, "unknown command: %s", argv[0])) - return WRDSE_NOSPACE; - else - return WRDSE_USERERR; -} - -enum env_type - { - env_none, - env_null, - env_sys - }; - -struct kwd env_keytab[] = { - { "none", env_none }, - { "null", env_null }, - { "sys", env_sys }, - { NULL } -}; - -static void -set_escape_string (wordsplit_t *ws, int *wsflags, int q, const char *str) -{ - if (*str == ':') - { - while (*++str != ':') - { - int f; - switch (*str) - { - case '+': - f = WRDSO_BSKEEP; - break; - - case '0': - f = WRDSO_OESC; - break; - - case 'x': - f = WRDSO_XESC; - break; - - default: - fprintf (stderr, "%s: invalid escape flag near %s\n", - progname, str); - abort (); - } - WRDSO_ESC_SET (ws, q, f); - } - *wsflags |= WRDSF_OPTIONS; - ++str; - } - ws->ws_escape[q] = str; -} - -int -main (int argc, char **argv) -{ - char buf[1024], *ptr, *saved_ptr; - int i, offarg = 0; - int trimnl_option = 0; - int plaintext_option = 0; - int wsflags = (WRDSF_DEFFLAGS & ~WRDSF_NOVAR) | - WRDSF_ENOMEMABRT | - WRDSF_SHOWERR; - wordsplit_t ws; - int next_call = 0; - char *fenvbase[128]; - size_t fenvidx = 0; - size_t fenvmax = sizeof (fenvbase) / sizeof (fenvbase[0]); - int use_env = env_sys; - int appendc = 0; - char **appendv = NULL; - - progname = argv[0]; - - ws.ws_options = 0; - for (i = 1; i < argc; i++) - { - char *opt = argv[i]; - int negate; - int flag; - - if (opt[0] == '-') - { - if (opt[1] == '-' && opt[2] == 0) - { - appendc = argc - i - 1; - appendv = argv + i + 1; - break; - } - negate = 1; - opt++; - } - else if (opt[0] == '+') - { - negate = 0; - opt++; - } - else - negate = 0; - - if (strcmp (opt, "h") == 0 || - strcmp (opt, "help") == 0 || - strcmp (opt, "-help") == 0) - { - help (); - } - - if (strcmp (opt, "trimnl") == 0) - { - trimnl_option = !negate; - continue; - } - - if (strcmp (opt, "plaintext") == 0) - { - plaintext_option = !negate; - continue; - } - - if (strcmp (opt, "env") == 0) - { - if (negate) - use_env = env_none; - else - { - i++; - if (i == argc) - { - fprintf (stderr, "%s: missing argument for env\n", - progname); - exit (1); - } - - if (kwxlat (env_keytab, argv[i], &use_env)) - { - fprintf (stderr, "%s: invalid argument for env\n", - progname); - exit (1); - } - } - continue; - } - - if (kwxlat (bool_keytab, opt, &flag) == 0) - { - if (negate) - wsflags &= ~flag; - else - wsflags |= flag; - continue; - } - - if (kwxlat (string_keytab, opt, &flag) == 0) - { - if (negate) - wsflags &= ~flag; - else - { - i++; - if (i == argc) - { - fprintf (stderr, "%s: missing argument for %s\n", - progname, opt); - exit (1); - } - - switch (flag) - { - case WRDSF_DELIM: - ws.ws_delim = argv[i]; - break; - - case WRDSF_COMMENT: - ws.ws_comment = argv[i]; - break; - - case WRDSF_ESCAPE: - set_escape_string (&ws, &wsflags, 0, argv[i]); - set_escape_string (&ws, &wsflags, 1, argv[i]); - break; - } - - wsflags |= flag; - } - continue; - } - - if (strcmp (opt, "escape-word") == 0 - || strcmp (opt, "escape-quote") == 0) - { - int q = opt[7] == 'q'; - - i++; - if (i == argc) - { - fprintf (stderr, "%s: missing argument for %s\n", - progname, opt); - exit (1); - } - if (!(wsflags & WRDSF_ESCAPE)) - { - wsflags |= WRDSF_ESCAPE; - ws.ws_escape[!q] = NULL; - } - set_escape_string (&ws, &wsflags, q, argv[i]); - continue; - } - - if (strcmp (opt, "dooffs") == 0) - { - if (negate) - wsflags &= ~WRDSF_DOOFFS; - else - { - char *p; - - i++; - - if (i == argc) - { - fprintf (stderr, "%s: missing arguments for %s\n", - progname, opt); - exit (1); - } - ws.ws_offs = strtoul (argv[i], &p, 10); - if (*p) - { - fprintf (stderr, "%s: invalid number: %s\n", - progname, argv[i]); - exit (1); - } - - i++; - if (i + ws.ws_offs > argc) - { - fprintf (stderr, "%s: not enough arguments for %s\n", - progname, opt); - exit (1); - } - offarg = i; - i += ws.ws_offs - 1; - wsflags |= WRDSF_DOOFFS; - } - continue; - } - - if (kwxlat (opt_keytab, opt, &flag) == 0) - { - wsflags |= WRDSF_OPTIONS; - if (negate) - ws.ws_options &= ~flag; - else - ws.ws_options |= flag; - continue; - } - - if (strcmp (opt, "maxwords") == 0) - { - char *p; - wsflags |= WRDSF_OPTIONS; - ws.ws_options |= WRDSO_MAXWORDS; - - i++; - - if (i == argc) - { - fprintf (stderr, "%s: missing arguments for %s\n", - progname, opt); - exit (1); - } - ws.ws_maxwords = strtoul (argv[i], &p, 10); - if (*p) - { - fprintf (stderr, "%s: invalid number: %s\n", - progname, argv[i]); - exit (1); - } - continue; - } - - if (strchr (opt, '=')) - { - assert (fenvidx < fenvmax - 1); - fenvbase[fenvidx++] = opt; - continue; - } - - fprintf (stderr, "%s: unrecognized argument: %s\n", - progname, opt); - exit (1); - } - - if (fenvidx) - { - fenvbase[fenvidx] = NULL; - wsflags |= WRDSF_GETVAR | WRDSF_CLOSURE; - ws.ws_getvar = wsp_getvar; - ws.ws_closure = fenvbase; - } - - switch (use_env) - { - case env_null: - wsflags |= WRDSF_ENV; - ws.ws_env = NULL; - break; - - case env_none: - break; - - case env_sys: - wsflags |= WRDSF_ENV; - if (wsflags & WRDSF_ENV_KV) - ws.ws_env = (const char **) make_env_kv (); - else - ws.ws_env = (const char **) environ; - break; - } - - if (!(wsflags & WRDSF_NOCMD)) - ws.ws_command = wsp_runcmd; - - if (wsflags & WRDSF_INCREMENTAL) - trimnl_option = 1; - - next_call = 0; - while ((ptr = fgets (buf, sizeof (buf), stdin))) - { - int rc; - size_t i; - - if (trimnl_option) - { - size_t len = strlen (ptr); - if (len && ptr[len-1] == '\n') - ptr[len-1] = 0; - } - - if (wsflags & WRDSF_INCREMENTAL) - { - if (next_call) - { - if (*ptr == 0) - ptr = NULL; - else - free (saved_ptr); - } - else - next_call = 1; - if (ptr) - { - ptr = saved_ptr = strdup (ptr); - assert (ptr != NULL); - } - } - - rc = wordsplit (ptr, &ws, wsflags); - if (rc) - { - if (!(wsflags & WRDSF_SHOWERR)) - wordsplit_perror (&ws); - continue; - } - - if (offarg) - { - for (i = 0; i < ws.ws_offs; i++) - ws.ws_wordv[i] = argv[offarg + i]; - offarg = 0; - } - - if (appendc) - { - rc = wordsplit_append (&ws, appendc, appendv); - if (rc) - { - if (!(wsflags & WRDSF_SHOWERR)) - wordsplit_perror (&ws); - continue; - } - } - - wsflags |= WRDSF_REUSE | (ws.ws_flags & WRDSF_ENV); - printf ("NF: %lu", (unsigned long) ws.ws_wordc); - if (wsflags & WRDSF_DOOFFS) - printf (" (%lu)", (unsigned long) ws.ws_offs); - putchar ('\n'); - for (i = 0; i < ws.ws_offs; i++) - { - printf ("(%lu): ", (unsigned long) i); - print_qword (ws.ws_wordv[i], plaintext_option); - putchar ('\n'); - } - for (; i < ws.ws_offs + ws.ws_wordc; i++) - { - printf ("%lu: ", (unsigned long) i); - print_qword (ws.ws_wordv[i], plaintext_option); - putchar ('\n'); - } - printf ("TOTAL: %lu\n", (unsigned long) ws.ws_wordi); - } - return 0; -} diff -Nru dico-2.9/grecs/tests/wstest dico-2.10/grecs/tests/wstest --- dico-2.9/grecs/tests/wstest 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/grecs/tests/wstest 2020-09-04 04:06:32.000000000 +0000 @@ -0,0 +1,10183 @@ +#! /bin/sh +# Generated from wstest.at by GNU Autoconf 2.69. +# +# Copyright (C) 2009-2012 Free Software Foundation, Inc. +# +# This test suite is free software; the Free Software Foundation gives +# unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + + +SHELL=${CONFIG_SHELL-/bin/sh} + +# How were we run? +at_cli_args="$@" + + +# Not all shells have the 'times' builtin; the subshell is needed to make +# sure we discard the 'times: not found' message from the shell. +at_times_p=false +(times) >/dev/null 2>&1 && at_times_p=: + +# CLI Arguments to pass to the debugging scripts. +at_debug_args= +# -e sets to true +at_errexit_p=false +# Shall we be verbose? ':' means no, empty means yes. +at_verbose=: +at_quiet= +# Running several jobs in parallel, 0 means as many as test groups. +at_jobs=1 +at_traceon=: +at_trace_echo=: +at_check_filter_trace=: + +# Shall we keep the debug scripts? Must be `:' when the suite is +# run by a debug script, so that the script doesn't remove itself. +at_debug_p=false +# Display help message? +at_help_p=false +# Display the version message? +at_version_p=false +# List test groups? +at_list_p=false +# --clean +at_clean=false +# Test groups to run +at_groups= +# Whether to rerun failed tests. +at_recheck= +# Whether a write failure occurred +at_write_fail=0 + +# The directory we run the suite in. Default to . if no -C option. +at_dir=`pwd` +# An absolute reference to this testsuite script. +case $as_myself in + [\\/]* | ?:[\\/]* ) at_myself=$as_myself ;; + * ) at_myself=$at_dir/$as_myself ;; +esac +# Whether -C is in effect. +at_change_dir=false + +# Whether to enable colored test results. +at_color=no +# List of the tested programs. +at_tested='wsp' +# As many question marks as there are digits in the last test group number. +# Used to normalize the test group numbers so that `ls' lists them in +# numerical order. +at_format='???' +# Description of all the test groups. +at_help_all="1;wordsplit.at:58;simple input;wordsplit wsp wordsplit000 wsp000 wsp-simple; +2;wordsplit.at:67;quoted space;wordsplit wsp wordsplit001 wsp000 wsp-quoted; +3;wordsplit.at:74;tab character;wordsplit wsp wordsplit002 wsp000 wsp-tab; +4;wordsplit.at:83;octal and hex escapes;wordsplit wsp wordsplit003 wsp000 wsp-escape wsp-escape000; +5;wordsplit.at:90;octal and hex escapes 2;wordsplit wsp wordsplit004 wsp000 wsp-escape wsp-escape001; +6;wordsplit.at:99;escape representation;wordsplit wsp wordsplit005 wsp000 wsp-escape wsp-escape002; +7;wordsplit.at:111;append;wordsplit wsp wordsplit006 wsp000 wsp-append; +8;wordsplit.at:136;dooffs;wordsplit wsp wordsplit007 wsp000 wsp-doofs; +9;wordsplit.at:149;variable substitutions: single var;wordsplit wsp wordsplit008 wsp000 wsp-var wsp-var000; +10;wordsplit.at:160;variable substitutions: concatenated vars;wordsplit wsp wordsplit009 wsp000 wsp-var wsp-var001; +11;wordsplit.at:172;variable substitutions: field splitting;wordsplit wsp wordsplit010 wsp000 wsp-var wsp-var002; +12;wordsplit.at:184;variable substitutions: double-quoted variable;wordsplit wsp wordsplit011 wsp000 wsp-var wsp-var003; +13;wordsplit.at:195;variable substitutions: single-quoted variable;wordsplit wsp wordsplit012 wsp000 wsp-var wsp-var004; +14;wordsplit.at:206;undefined variables 1;wordsplit wsp wordsplit013 wsp000 wsp-var wsp-var005; +15;wordsplit.at:217;undefined variables 2;wordsplit wsp wordsplit014 wsp000 wsp-var wsp-var006; +16;wordsplit.at:229;warn about undefined variables;wordsplit wsp wordsplit015 wsp000 wsp-var wsp-var007; +17;wordsplit.at:238;bail out on undefined variables;wordsplit wsp wordsplit016 wsp000 wsp-var wsp-var008; +18;wordsplit.at:245;disable variable expansion;wordsplit wsp wordsplit017 wsp000 wsp-var wsp-var009; +19;wordsplit.at:254;K/V environment;wordsplit wsp wordsplit018 wsp000 wsp-var wsp-var010 wsp-env-kv wsp-env_kv; +20;wordsplit.at:265;nosplit with variable expansion;wordsplit wsp wordsplit019 wsp000 wsp-var wsp-var011 wsp-var-nosplit; +21;wordsplit.at:274;nosplit without variable expansion;wordsplit wsp wordsplit020 wsp000 wsp-var wsp-var012; +22;wordsplit.at:283;nosplit: empty expansion;wordsplit wsp wordsplit021 wsp000 wsp-var wsp-var013; +23;wordsplit.at:292;default value;wordsplit wsp wordsplit022 wsp000 wsp-var wsp-var014; +24;wordsplit.at:299;default value (defined);wordsplit wsp wordsplit023 wsp000 wsp-var wsp-var015; +25;wordsplit.at:308;default value (:- null);wordsplit wsp wordsplit024 wsp000 wsp-var wsp-var016; +26;wordsplit.at:317;default value (- null);wordsplit wsp wordsplit025 wsp000 wsp-var wsp-var017; +27;wordsplit.at:325;default value (- null, unset);wordsplit wsp wordsplit026 wsp000 wsp-var wsp-var018; +28;wordsplit.at:332;assign default values;wordsplit wsp wordsplit027 wsp000 wsp-var wsp-var019; +29;wordsplit.at:343;default error message (var defined);wordsplit wsp wordsplit028 wsp000 wsp-var wsp-var020; +30;wordsplit.at:354;default error message;wordsplit wsp wordsplit029 wsp000 wsp-var wsp-var021; +31;wordsplit.at:362;custom error message (defined);wordsplit wsp wordsplit030 wsp000 wsp-var wsp-var022 wsp-custom-err wsp-custom-err00; +32;wordsplit.at:373;custom error message;wordsplit wsp wordsplit031 wsp000 wsp-var wsp-var023 wsp-custom-err wsp-custom-err01; +33;wordsplit.at:383;alternate value (defined);wordsplit wsp wordsplit032 wsp000 wsp-var wsp-var024 wsp-alt wsp-alt00; +34;wordsplit.at:394;alternate value;wordsplit wsp wordsplit033 wsp000 wsp-var wsp-var025 wsp-alt wsp-alt01; +35;wordsplit.at:404;getvar;wordsplit wsp wordsplit034 wsp000 wsp-var wsp-var026 wsp-getvar; +36;wordsplit.at:418;getvar and env;wordsplit wsp wordsplit035 wsp000 wsp-var wsp-var027 wsp-getvar; +37;wordsplit.at:434;getvar, alternate value;wordsplit wsp wordsplit036 wsp000 wsp-var wsp-var028 wsp-getvar; +38;wordsplit.at:445;ignore quotes;wordsplit wsp wordsplit037 wsp000 wsp-ignore-quotes; +39;wordsplit.at:455;custom delimiters (squeeze);wordsplit wsp wordsplit038 wsp000 wsp-delim wsp-delim000; +40;wordsplit.at:467;custom delimiters (no squeeze);wordsplit wsp wordsplit039 wsp000 wsp-delim wsp-delim001; +41;wordsplit.at:480;custom, with returned delimiters;wordsplit wsp wordsplit040 wsp000 wsp-delim wsp-delim002; +42;wordsplit.at:496;custom, with returned & squeezed delimiters;wordsplit wsp wordsplit041 wsp000 wsp-delim wsp-delim003; +43;wordsplit.at:515;sed expressions;wordsplit wsp wordsplit042 wsp000 wsp-sed wsp-sed000; +44;wordsplit.at:526;C escapes on;wordsplit wsp wordsplit043 wsp000 wcp-c-escape; +45;wordsplit.at:536;C escapes off;wordsplit wsp wordsplit044 wsp000 wcp-c-escape-off; +46;wordsplit.at:546;ws elimination;wordsplit wsp wordsplit045 wsp000 wsp-ws-elim; +47;wordsplit.at:556;ws elimination + return delim;wordsplit wsp wordsplit046 wsp000 wsp-ws-elim-ret; +48;wordsplit.at:570;empty quotes;wordsplit wsp wordsplit047 wsp000 wsp-empty-quotes; +49;wordsplit.at:577;delimiter following empty quotes;wordsplit wsp wordsplit048 wsp000; +50;wordsplit.at:587;suppress ws trimming within quotes;wordsplit wsp wordsplit049 wsp000; +51;wordsplit.at:600;unescape;wordsplit wsp wordsplit050 wsp000 wsp-unescape wsp-unescape-simple; +52;wordsplit.at:611;unescape: word/quote;wordsplit wsp wordsplit051 wsp000 wsp-unescape wsp-unescape-word; +53;wordsplit.at:625;dquote;wordsplit wsp wordsplit052 wsp000; +54;wordsplit.at:635;squote;wordsplit wsp wordsplit053 wsp000; +55;wordsplit.at:647;incremental;wordsplit wsp wordsplit054 wsp000 wsp-incr wsp-incr000; +56;wordsplit.at:665;incremental append;wordsplit wsp wordsplit055 wsp000 wsp-incr wsp-incr001; +57;wordsplit.at:686;incremental ws;wordsplit wsp wordsplit056 wsp000 wsp-incr wsp-incr002; +58;wordsplit.at:705;incremental nosplit;wordsplit wsp wordsplit057 wsp000 wsp-incr wsp-incr003; +59;wordsplit.at:715;simple command substitution;wordsplit wsp wordsplit058 wsp000 wsp-incr wsp-incr004; +60;wordsplit.at:725;quoted command substitution;wordsplit wsp wordsplit059 wsp000 wsp-incr wsp-incr005; +61;wordsplit.at:734;coalesced command substitution;wordsplit wsp wordsplit060 wsp000 wsp-incr wsp-incr006; +62;wordsplit.at:742;quoted coalesced command substitution;wordsplit wsp wordsplit061 wsp000 wsp-incr wsp-incr007; +63;wordsplit.at:749;variable and command substitution;wordsplit wsp wordsplit062 wsp000 wsp-incr wsp-incr008; +64;wordsplit.at:760;variable expansion and command substitution in quotes;wordsplit wsp wordsplit063 wsp000 wsp-incr wsp-incr009; +65;wordsplit.at:767;nested commands;wordsplit wsp wordsplit064 wsp000 wsp-incr wsp-incr010; +66;wordsplit.at:778;pathname expansion;wordsplit wsp wsp-path wsp-path-1; +67;wordsplit.at:800;pathname expansion: no match;wordsplit wsp wsp-path wsp-path-2; +68;wordsplit.at:820;pathname expansion: nullglob;wordsplit wsp wsp-path wsp-path-3; +69;wordsplit.at:839;pathname expansion: failglob;wordsplit wsp wsp-path wsp-path-4; +70;wordsplit.at:856;append;wordsplit wsp wordsplit065 wsp000 wsp-incr wsp-incr011; +71;wordsplit.at:868;append + dooffs + env;wordsplit wsp wordsplit066 wsp000 wsp-incr wsp-incr012; +72;wordsplit.at:885;maxwords;wordsplit wsp wordsplit067 wsp000 wsp-incr wsp-incr013; +73;wordsplit.at:895;maxwords return_delims;wordsplit wsp wordsplit068 wsp000 wsp-incr wsp-incr014; +74;wordsplit.at:910;maxwords return_delims -squeeze_delims;wordsplit wsp wordsplit069 wsp000 wsp-incr wsp-incr015; +75;wordsplit.at:925;maxwords incremental;wordsplit wsp wordsplit070 wsp000 wsp-incr wsp-incr016; +76;wordsplit.at:944;variable nosplit;wordsplit wsp wordsplit071 wsp000 wsp-incr wsp-incr017; +77;wordsplit.at:953;command nosplit;wordsplit wsp wordsplit072 wsp000 wsp-incr wsp-incr018; +78;wordsplit.at:962;positional parameters;wordsplit wsp wordsplit073 wsp000 wsp-incr wsp-incr019; +79;wordsplit.at:975;\$* and \$@;wordsplit wsp wordsplit074 wsp000 wsp-incr wsp-incr020; +80;wordsplit.at:1000;\$* and \$@ in nosplit mode;wordsplit wsp wordsplit075 wsp000 wsp-incr wsp-incr021; +81;wordsplit.at:1012;\$* and \$@ in nosplit mode with delimiter;wordsplit wsp wordsplit076 wsp000 wsp-incr wsp-incr022; +82;wordsplit.at:1026;namechar modification;wordsplit wsp wordsplit077 wsp000 wsp-incr wsp-incr023; +83;wordsplit.at:1040;default value;wordsplit wsp wordsplit078 wsp000 wsp-incr wsp-incr024; +84;wordsplit.at:1048;default value (defined);wordsplit wsp wordsplit079 wsp000 wsp-incr wsp-incr025; +85;wordsplit.at:1057;default value (:- null);wordsplit wsp wordsplit080 wsp000 wsp-incr wsp-incr026; +86;wordsplit.at:1066;default value (- null);wordsplit wsp wordsplit081 wsp000 wsp-incr wsp-incr027; +87;wordsplit.at:1074;default value (- null, unset);wordsplit wsp wordsplit082 wsp000 wsp-incr wsp-incr028; +88;wordsplit.at:1082;assign default values;wordsplit wsp wordsplit083 wsp000 wsp-incr wsp-incr029; +89;wordsplit.at:1094;default error message (var defined);wordsplit wsp wordsplit084 wsp000 wsp-incr wsp-incr030; +90;wordsplit.at:1104;default error message;wordsplit wsp wordsplit085 wsp000 wsp-incr wsp-incr031; +91;wordsplit.at:1113;custom error message (defined);wordsplit wsp wordsplit086 wsp000 wsp-incr wsp-incr032 wsp-custom-err wsp-custom-err03; +92;wordsplit.at:1123;custom error message;wordsplit wsp wordsplit087 wsp000 wsp-incr wsp-incr033 wsp-custom-err wsp-custom-err04; +93;wordsplit.at:1134;alternate value (defined);wordsplit wsp wordsplit088 wsp000 wsp-incr wsp-incr034 wsp-alt wsp-alt02; +94;wordsplit.at:1146;alternate value;wordsplit wsp wordsplit089 wsp000 wsp-incr wsp-incr035 wsp-alt wsp-alt03; +95;wordsplit.at:58;simple input;wordsplit wsp wordsplit000 wsp000 wsp-simple; +96;wordsplit.at:67;quoted space;wordsplit wsp wordsplit001 wsp000 wsp-quoted; +97;wordsplit.at:74;tab character;wordsplit wsp wordsplit002 wsp000 wsp-tab; +98;wordsplit.at:83;octal and hex escapes;wordsplit wsp wordsplit003 wsp000 wsp-escape wsp-escape000; +99;wordsplit.at:90;octal and hex escapes 2;wordsplit wsp wordsplit004 wsp000 wsp-escape wsp-escape001; +100;wordsplit.at:99;escape representation;wordsplit wsp wordsplit005 wsp000 wsp-escape wsp-escape002; +101;wordsplit.at:111;append;wordsplit wsp wordsplit006 wsp000 wsp-append; +102;wordsplit.at:136;dooffs;wordsplit wsp wordsplit007 wsp000 wsp-doofs; +103;wordsplit.at:149;variable substitutions: single var;wordsplit wsp wordsplit008 wsp000 wsp-var wsp-var000; +104;wordsplit.at:160;variable substitutions: concatenated vars;wordsplit wsp wordsplit009 wsp000 wsp-var wsp-var001; +105;wordsplit.at:172;variable substitutions: field splitting;wordsplit wsp wordsplit010 wsp000 wsp-var wsp-var002; +106;wordsplit.at:184;variable substitutions: double-quoted variable;wordsplit wsp wordsplit011 wsp000 wsp-var wsp-var003; +107;wordsplit.at:195;variable substitutions: single-quoted variable;wordsplit wsp wordsplit012 wsp000 wsp-var wsp-var004; +108;wordsplit.at:206;undefined variables 1;wordsplit wsp wordsplit013 wsp000 wsp-var wsp-var005; +109;wordsplit.at:217;undefined variables 2;wordsplit wsp wordsplit014 wsp000 wsp-var wsp-var006; +110;wordsplit.at:229;warn about undefined variables;wordsplit wsp wordsplit015 wsp000 wsp-var wsp-var007; +111;wordsplit.at:238;bail out on undefined variables;wordsplit wsp wordsplit016 wsp000 wsp-var wsp-var008; +112;wordsplit.at:245;disable variable expansion;wordsplit wsp wordsplit017 wsp000 wsp-var wsp-var009; +113;wordsplit.at:254;K/V environment;wordsplit wsp wordsplit018 wsp000 wsp-var wsp-var010 wsp-env-kv wsp-env_kv; +114;wordsplit.at:265;nosplit with variable expansion;wordsplit wsp wordsplit019 wsp000 wsp-var wsp-var011 wsp-var-nosplit; +115;wordsplit.at:274;nosplit without variable expansion;wordsplit wsp wordsplit020 wsp000 wsp-var wsp-var012; +116;wordsplit.at:283;nosplit: empty expansion;wordsplit wsp wordsplit021 wsp000 wsp-var wsp-var013; +117;wordsplit.at:292;default value;wordsplit wsp wordsplit022 wsp000 wsp-var wsp-var014; +118;wordsplit.at:299;default value (defined);wordsplit wsp wordsplit023 wsp000 wsp-var wsp-var015; +119;wordsplit.at:308;default value (:- null);wordsplit wsp wordsplit024 wsp000 wsp-var wsp-var016; +120;wordsplit.at:317;default value (- null);wordsplit wsp wordsplit025 wsp000 wsp-var wsp-var017; +121;wordsplit.at:325;default value (- null, unset);wordsplit wsp wordsplit026 wsp000 wsp-var wsp-var018; +122;wordsplit.at:332;assign default values;wordsplit wsp wordsplit027 wsp000 wsp-var wsp-var019; +123;wordsplit.at:343;default error message (var defined);wordsplit wsp wordsplit028 wsp000 wsp-var wsp-var020; +124;wordsplit.at:354;default error message;wordsplit wsp wordsplit029 wsp000 wsp-var wsp-var021; +125;wordsplit.at:362;custom error message (defined);wordsplit wsp wordsplit030 wsp000 wsp-var wsp-var022 wsp-custom-err wsp-custom-err00; +126;wordsplit.at:373;custom error message;wordsplit wsp wordsplit031 wsp000 wsp-var wsp-var023 wsp-custom-err wsp-custom-err01; +127;wordsplit.at:383;alternate value (defined);wordsplit wsp wordsplit032 wsp000 wsp-var wsp-var024 wsp-alt wsp-alt00; +128;wordsplit.at:394;alternate value;wordsplit wsp wordsplit033 wsp000 wsp-var wsp-var025 wsp-alt wsp-alt01; +129;wordsplit.at:404;getvar;wordsplit wsp wordsplit034 wsp000 wsp-var wsp-var026 wsp-getvar; +130;wordsplit.at:418;getvar and env;wordsplit wsp wordsplit035 wsp000 wsp-var wsp-var027 wsp-getvar; +131;wordsplit.at:434;getvar, alternate value;wordsplit wsp wordsplit036 wsp000 wsp-var wsp-var028 wsp-getvar; +132;wordsplit.at:445;ignore quotes;wordsplit wsp wordsplit037 wsp000 wsp-ignore-quotes; +133;wordsplit.at:455;custom delimiters (squeeze);wordsplit wsp wordsplit038 wsp000 wsp-delim wsp-delim000; +134;wordsplit.at:467;custom delimiters (no squeeze);wordsplit wsp wordsplit039 wsp000 wsp-delim wsp-delim001; +135;wordsplit.at:480;custom, with returned delimiters;wordsplit wsp wordsplit040 wsp000 wsp-delim wsp-delim002; +136;wordsplit.at:496;custom, with returned & squeezed delimiters;wordsplit wsp wordsplit041 wsp000 wsp-delim wsp-delim003; +137;wordsplit.at:515;sed expressions;wordsplit wsp wordsplit042 wsp000 wsp-sed wsp-sed000; +138;wordsplit.at:526;C escapes on;wordsplit wsp wordsplit043 wsp000 wcp-c-escape; +139;wordsplit.at:536;C escapes off;wordsplit wsp wordsplit044 wsp000 wcp-c-escape-off; +140;wordsplit.at:546;ws elimination;wordsplit wsp wordsplit045 wsp000 wsp-ws-elim; +141;wordsplit.at:556;ws elimination + return delim;wordsplit wsp wordsplit046 wsp000 wsp-ws-elim-ret; +142;wordsplit.at:570;empty quotes;wordsplit wsp wordsplit047 wsp000 wsp-empty-quotes; +143;wordsplit.at:577;delimiter following empty quotes;wordsplit wsp wordsplit048 wsp000; +144;wordsplit.at:587;suppress ws trimming within quotes;wordsplit wsp wordsplit049 wsp000; +145;wordsplit.at:600;unescape;wordsplit wsp wordsplit050 wsp000 wsp-unescape wsp-unescape-simple; +146;wordsplit.at:611;unescape: word/quote;wordsplit wsp wordsplit051 wsp000 wsp-unescape wsp-unescape-word; +147;wordsplit.at:625;dquote;wordsplit wsp wordsplit052 wsp000; +148;wordsplit.at:635;squote;wordsplit wsp wordsplit053 wsp000; +149;wordsplit.at:647;incremental;wordsplit wsp wordsplit054 wsp000 wsp-incr wsp-incr000; +150;wordsplit.at:665;incremental append;wordsplit wsp wordsplit055 wsp000 wsp-incr wsp-incr001; +151;wordsplit.at:686;incremental ws;wordsplit wsp wordsplit056 wsp000 wsp-incr wsp-incr002; +152;wordsplit.at:705;incremental nosplit;wordsplit wsp wordsplit057 wsp000 wsp-incr wsp-incr003; +153;wordsplit.at:715;simple command substitution;wordsplit wsp wordsplit058 wsp000 wsp-incr wsp-incr004; +154;wordsplit.at:725;quoted command substitution;wordsplit wsp wordsplit059 wsp000 wsp-incr wsp-incr005; +155;wordsplit.at:734;coalesced command substitution;wordsplit wsp wordsplit060 wsp000 wsp-incr wsp-incr006; +156;wordsplit.at:742;quoted coalesced command substitution;wordsplit wsp wordsplit061 wsp000 wsp-incr wsp-incr007; +157;wordsplit.at:749;variable and command substitution;wordsplit wsp wordsplit062 wsp000 wsp-incr wsp-incr008; +158;wordsplit.at:760;variable expansion and command substitution in quotes;wordsplit wsp wordsplit063 wsp000 wsp-incr wsp-incr009; +159;wordsplit.at:767;nested commands;wordsplit wsp wordsplit064 wsp000 wsp-incr wsp-incr010; +160;wordsplit.at:778;pathname expansion;wordsplit wsp wsp-path wsp-path-1; +161;wordsplit.at:800;pathname expansion: no match;wordsplit wsp wsp-path wsp-path-2; +162;wordsplit.at:820;pathname expansion: nullglob;wordsplit wsp wsp-path wsp-path-3; +163;wordsplit.at:839;pathname expansion: failglob;wordsplit wsp wsp-path wsp-path-4; +164;wordsplit.at:856;append;wordsplit wsp wordsplit065 wsp000 wsp-incr wsp-incr011; +165;wordsplit.at:868;append + dooffs + env;wordsplit wsp wordsplit066 wsp000 wsp-incr wsp-incr012; +166;wordsplit.at:885;maxwords;wordsplit wsp wordsplit067 wsp000 wsp-incr wsp-incr013; +167;wordsplit.at:895;maxwords return_delims;wordsplit wsp wordsplit068 wsp000 wsp-incr wsp-incr014; +168;wordsplit.at:910;maxwords return_delims -squeeze_delims;wordsplit wsp wordsplit069 wsp000 wsp-incr wsp-incr015; +169;wordsplit.at:925;maxwords incremental;wordsplit wsp wordsplit070 wsp000 wsp-incr wsp-incr016; +170;wordsplit.at:944;variable nosplit;wordsplit wsp wordsplit071 wsp000 wsp-incr wsp-incr017; +171;wordsplit.at:953;command nosplit;wordsplit wsp wordsplit072 wsp000 wsp-incr wsp-incr018; +172;wordsplit.at:962;positional parameters;wordsplit wsp wordsplit073 wsp000 wsp-incr wsp-incr019; +173;wordsplit.at:975;\$* and \$@;wordsplit wsp wordsplit074 wsp000 wsp-incr wsp-incr020; +174;wordsplit.at:1000;\$* and \$@ in nosplit mode;wordsplit wsp wordsplit075 wsp000 wsp-incr wsp-incr021; +175;wordsplit.at:1012;\$* and \$@ in nosplit mode with delimiter;wordsplit wsp wordsplit076 wsp000 wsp-incr wsp-incr022; +176;wordsplit.at:1026;namechar modification;wordsplit wsp wordsplit077 wsp000 wsp-incr wsp-incr023; +177;wordsplit.at:1040;default value;wordsplit wsp wordsplit078 wsp000 wsp-incr wsp-incr024; +178;wordsplit.at:1048;default value (defined);wordsplit wsp wordsplit079 wsp000 wsp-incr wsp-incr025; +179;wordsplit.at:1057;default value (:- null);wordsplit wsp wordsplit080 wsp000 wsp-incr wsp-incr026; +180;wordsplit.at:1066;default value (- null);wordsplit wsp wordsplit081 wsp000 wsp-incr wsp-incr027; +181;wordsplit.at:1074;default value (- null, unset);wordsplit wsp wordsplit082 wsp000 wsp-incr wsp-incr028; +182;wordsplit.at:1082;assign default values;wordsplit wsp wordsplit083 wsp000 wsp-incr wsp-incr029; +183;wordsplit.at:1094;default error message (var defined);wordsplit wsp wordsplit084 wsp000 wsp-incr wsp-incr030; +184;wordsplit.at:1104;default error message;wordsplit wsp wordsplit085 wsp000 wsp-incr wsp-incr031; +185;wordsplit.at:1113;custom error message (defined);wordsplit wsp wordsplit086 wsp000 wsp-incr wsp-incr032 wsp-custom-err wsp-custom-err03; +186;wordsplit.at:1123;custom error message;wordsplit wsp wordsplit087 wsp000 wsp-incr wsp-incr033 wsp-custom-err wsp-custom-err04; +187;wordsplit.at:1134;alternate value (defined);wordsplit wsp wordsplit088 wsp000 wsp-incr wsp-incr034 wsp-alt wsp-alt02; +188;wordsplit.at:1146;alternate value;wordsplit wsp wordsplit089 wsp000 wsp-incr wsp-incr035 wsp-alt wsp-alt03; +" +# List of the all the test groups. +at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'` + +# at_fn_validate_ranges NAME... +# ----------------------------- +# Validate and normalize the test group number contained in each variable +# NAME. Leading zeroes are treated as decimal. +at_fn_validate_ranges () +{ + for at_grp + do + eval at_value=\$$at_grp + if test $at_value -lt 1 || test $at_value -gt 188; then + $as_echo "invalid test group: $at_value" >&2 + exit 1 + fi + case $at_value in + 0*) # We want to treat leading 0 as decimal, like expr and test, but + # AS_VAR_ARITH treats it as octal if it uses $(( )). + # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the + # expr fork, but it is not worth the effort to determine if the + # shell supports XSI when the user can just avoid leading 0. + eval $at_grp='`expr $at_value + 0`' ;; + esac + done +} + +at_prev= +for at_option +do + # If the previous option needs an argument, assign it. + if test -n "$at_prev"; then + at_option=$at_prev=$at_option + at_prev= + fi + + case $at_option in + *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;; + *) at_optarg= ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $at_option in + --help | -h ) + at_help_p=: + ;; + + --list | -l ) + at_list_p=: + ;; + + --version | -V ) + at_version_p=: + ;; + + --clean | -c ) + at_clean=: + ;; + + --color ) + at_color=always + ;; + --color=* ) + case $at_optarg in + no | never | none) at_color=never ;; + auto | tty | if-tty) at_color=auto ;; + always | yes | force) at_color=always ;; + *) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'` + as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;; + esac + ;; + + --debug | -d ) + at_debug_p=: + ;; + + --errexit | -e ) + at_debug_p=: + at_errexit_p=: + ;; + + --verbose | -v ) + at_verbose=; at_quiet=: + ;; + + --trace | -x ) + at_traceon='set -x' + at_trace_echo=echo + at_check_filter_trace=at_fn_filter_trace + ;; + + [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9]) + at_fn_validate_ranges at_option + as_fn_append at_groups "$at_option$as_nl" + ;; + + # Ranges + [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-) + at_range_start=`echo $at_option |tr -d X-` + at_fn_validate_ranges at_range_start + at_range=`$as_echo "$at_groups_all" | \ + sed -ne '/^'$at_range_start'$/,$p'` + as_fn_append at_groups "$at_range$as_nl" + ;; + + -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9]) + at_range_end=`echo $at_option |tr -d X-` + at_fn_validate_ranges at_range_end + at_range=`$as_echo "$at_groups_all" | \ + sed -ne '1,/^'$at_range_end'$/p'` + as_fn_append at_groups "$at_range$as_nl" + ;; + + [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \ + [0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \ + [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \ + [0-9][0-9][0-9]-[0-9][0-9][0-9] | \ + [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \ + [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] ) + at_range_start=`expr $at_option : '\(.*\)-'` + at_range_end=`expr $at_option : '.*-\(.*\)'` + if test $at_range_start -gt $at_range_end; then + at_tmp=$at_range_end + at_range_end=$at_range_start + at_range_start=$at_tmp + fi + at_fn_validate_ranges at_range_start at_range_end + at_range=`$as_echo "$at_groups_all" | \ + sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'` + as_fn_append at_groups "$at_range$as_nl" + ;; + + # Directory selection. + --directory | -C ) + at_prev=--directory + ;; + --directory=* ) + at_change_dir=: + at_dir=$at_optarg + if test x- = "x$at_dir" ; then + at_dir=./- + fi + ;; + + # Parallel execution. + --jobs | -j ) + at_jobs=0 + ;; + --jobs=* | -j[0-9]* ) + if test -n "$at_optarg"; then + at_jobs=$at_optarg + else + at_jobs=`expr X$at_option : 'X-j\(.*\)'` + fi + case $at_jobs in *[!0-9]*) + at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'` + as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;; + esac + ;; + + # Keywords. + --keywords | -k ) + at_prev=--keywords + ;; + --keywords=* ) + at_groups_selected=$at_help_all + at_save_IFS=$IFS + IFS=, + set X $at_optarg + shift + IFS=$at_save_IFS + for at_keyword + do + at_invert= + case $at_keyword in + '!'*) + at_invert="-v" + at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'` + ;; + esac + # It is on purpose that we match the test group titles too. + at_groups_selected=`$as_echo "$at_groups_selected" | + grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"` + done + # Smash the keywords. + at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'` + as_fn_append at_groups "$at_groups_selected$as_nl" + ;; + --recheck) + at_recheck=: + ;; + + *=*) + at_envvar=`expr "x$at_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $at_envvar in + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$at_envvar'" ;; + esac + at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"` + # Export now, but save eval for later and for debug scripts. + export $at_envvar + as_fn_append at_debug_args " $at_envvar='$at_value'" + ;; + + *) $as_echo "$as_me: invalid option: $at_option" >&2 + $as_echo "Try \`$0 --help' for more information." >&2 + exit 1 + ;; + esac +done + +# Verify our last option didn't require an argument +if test -n "$at_prev"; then : + as_fn_error $? "\`$at_prev' requires an argument" +fi + +# The file containing the suite. +at_suite_log=$at_dir/$as_me.log + +# Selected test groups. +if test -z "$at_groups$at_recheck"; then + at_groups=$at_groups_all +else + if test -n "$at_recheck" && test -r "$at_suite_log"; then + at_oldfails=`sed -n ' + /^Failed tests:$/,/^Skipped tests:$/{ + s/^[ ]*\([1-9][0-9]*\):.*/\1/p + } + /^Unexpected passes:$/,/^## Detailed failed tests/{ + s/^[ ]*\([1-9][0-9]*\):.*/\1/p + } + /^## Detailed failed tests/q + ' "$at_suite_log"` + as_fn_append at_groups "$at_oldfails$as_nl" + fi + # Sort the tests, removing duplicates. + at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'` +fi + +if test x"$at_color" = xalways \ + || { test x"$at_color" = xauto && test -t 1; }; then + at_red=`printf '\033[0;31m'` + at_grn=`printf '\033[0;32m'` + at_lgn=`printf '\033[1;32m'` + at_blu=`printf '\033[1;34m'` + at_std=`printf '\033[m'` +else + at_red= at_grn= at_lgn= at_blu= at_std= +fi + +# Help message. +if $at_help_p; then + cat <<_ATEOF || at_write_fail=1 +Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS] + +Run all the tests, or the selected TESTS, given by numeric ranges, and +save a detailed log file. Upon failure, create debugging scripts. + +Do not change environment variables directly. Instead, set them via +command line arguments. Set \`AUTOTEST_PATH' to select the executables +to exercise. Each relative directory is expanded as build and source +directories relative to the top level of this distribution. +E.g., from within the build directory /tmp/foo-1.0, invoking this: + + $ $0 AUTOTEST_PATH=bin + +is equivalent to the following, assuming the source directory is /src/foo-1.0: + + PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0 +_ATEOF +cat <<_ATEOF || at_write_fail=1 + +Operation modes: + -h, --help print the help message, then exit + -V, --version print version number, then exit + -c, --clean remove all the files this test suite might create and exit + -l, --list describes all the tests, or the selected TESTS +_ATEOF +cat <<_ATEOF || at_write_fail=1 + +Execution tuning: + -C, --directory=DIR + change to directory DIR before starting + --color[=never|auto|always] + enable colored test results on terminal, or always + -j, --jobs[=N] + Allow N jobs at once; infinite jobs with no arg (default 1) + -k, --keywords=KEYWORDS + select the tests matching all the comma-separated KEYWORDS + multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD + --recheck select all tests that failed or passed unexpectedly last time + -e, --errexit abort as soon as a test fails; implies --debug + -v, --verbose force more detailed output + default for debugging scripts + -d, --debug inhibit clean up and top-level logging + default for debugging scripts + -x, --trace enable tests shell tracing +_ATEOF +cat <<_ATEOF || at_write_fail=1 + +Report bugs to . +_ATEOF + exit $at_write_fail +fi + +# List of tests. +if $at_list_p; then + cat <<_ATEOF || at_write_fail=1 +wordsplit v1.1 test suite test groups: + + NUM: FILE-NAME:LINE TEST-GROUP-NAME + KEYWORDS + +_ATEOF + # Pass an empty line as separator between selected groups and help. + $as_echo "$at_groups$as_nl$as_nl$at_help_all" | + awk 'NF == 1 && FS != ";" { + selected[$ 1] = 1 + next + } + /^$/ { FS = ";" } + NF > 0 { + if (selected[$ 1]) { + printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3 + if ($ 4) { + lmax = 79 + indent = " " + line = indent + len = length (line) + n = split ($ 4, a, " ") + for (i = 1; i <= n; i++) { + l = length (a[i]) + 1 + if (i > 1 && len + l > lmax) { + print line + line = indent " " a[i] + len = length (line) + } else { + line = line " " a[i] + len += l + } + } + if (n) + print line + } + } + }' || at_write_fail=1 + exit $at_write_fail +fi +if $at_version_p; then + $as_echo "$as_me (wordsplit v1.1)" && + cat <<\_ATEOF || at_write_fail=1 + +Copyright (C) 2012 Free Software Foundation, Inc. +This test suite is free software; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. +_ATEOF + exit $at_write_fail +fi + +# Should we print banners? Yes if more than one test is run. +case $at_groups in #( + *$as_nl* ) + at_print_banners=: ;; #( + * ) at_print_banners=false ;; +esac +# Text for banner N, set to a single space once printed. +# Banner 1. wordsplit.at:1039 +# Category starts at test group 83. +at_banner_text_1="namechar modification" +# Banner 2. wordsplit.at:1039 +# Category starts at test group 177. +at_banner_text_2="namechar modification" + +# Take any -C into account. +if $at_change_dir ; then + test x != "x$at_dir" && cd "$at_dir" \ + || as_fn_error $? "unable to change directory" + at_dir=`pwd` +fi + +# Load the config files for any default variable assignments. +for at_file in atconfig atlocal +do + test -r $at_file || continue + . ./$at_file || as_fn_error $? "invalid content: $at_file" +done + +# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix: +: "${at_top_build_prefix=$at_top_builddir}" + +# Perform any assignments requested during argument parsing. +eval "$at_debug_args" + +# atconfig delivers names relative to the directory the test suite is +# in, but the groups themselves are run in testsuite-dir/group-dir. +if test -n "$at_top_srcdir"; then + builddir=../.. + for at_dir_var in srcdir top_srcdir top_build_prefix + do + eval at_val=\$at_$at_dir_var + case $at_val in + [\\/$]* | ?:[\\/]* ) at_prefix= ;; + *) at_prefix=../../ ;; + esac + eval "$at_dir_var=\$at_prefix\$at_val" + done +fi + +## -------------------- ## +## Directory structure. ## +## -------------------- ## + +# This is the set of directories and files used by this script +# (non-literals are capitalized): +# +# TESTSUITE - the testsuite +# TESTSUITE.log - summarizes the complete testsuite run +# TESTSUITE.dir/ - created during a run, remains after -d or failed test +# + at-groups/ - during a run: status of all groups in run +# | + NNN/ - during a run: meta-data about test group NNN +# | | + check-line - location (source file and line) of current AT_CHECK +# | | + status - exit status of current AT_CHECK +# | | + stdout - stdout of current AT_CHECK +# | | + stder1 - stderr, including trace +# | | + stderr - stderr, with trace filtered out +# | | + test-source - portion of testsuite that defines group +# | | + times - timestamps for computing duration +# | | + pass - created if group passed +# | | + xpass - created if group xpassed +# | | + fail - created if group failed +# | | + xfail - created if group xfailed +# | | + skip - created if group skipped +# + at-stop - during a run: end the run if this file exists +# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction +# + 0..NNN/ - created for each group NNN, remains after -d or failed test +# | + TESTSUITE.log - summarizes the group results +# | + ... - files created during the group + +# The directory the whole suite works in. +# Should be absolute to let the user `cd' at will. +at_suite_dir=$at_dir/$as_me.dir +# The file containing the suite ($at_dir might have changed since earlier). +at_suite_log=$at_dir/$as_me.log +# The directory containing helper files per test group. +at_helper_dir=$at_suite_dir/at-groups +# Stop file: if it exists, do not start new jobs. +at_stop_file=$at_suite_dir/at-stop +# The fifo used for the job dispatcher. +at_job_fifo=$at_suite_dir/at-job-fifo + +if $at_clean; then + test -d "$at_suite_dir" && + find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; + rm -f -r "$at_suite_dir" "$at_suite_log" + exit $? +fi + +# Don't take risks: use only absolute directories in PATH. +# +# For stand-alone test suites (ie. atconfig was not found), +# AUTOTEST_PATH is relative to `.'. +# +# For embedded test suites, AUTOTEST_PATH is relative to the top level +# of the package. Then expand it into build/src parts, since users +# may create executables in both places. +AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"` +at_path= +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $AUTOTEST_PATH $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR +case $as_dir in + [\\/]* | ?:[\\/]* ) + as_fn_append at_path "$as_dir" + ;; + * ) + if test -z "$at_top_build_prefix"; then + # Stand-alone test suite. + as_fn_append at_path "$as_dir" + else + # Embedded test suite. + as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR" + as_fn_append at_path "$at_top_srcdir/$as_dir" + fi + ;; +esac + done +IFS=$as_save_IFS + + +# Now build and simplify PATH. +# +# There might be directories that don't exist, but don't redirect +# builtins' (eg., cd) stderr directly: Ultrix's sh hates that. +at_new_path= +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $at_path +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -d "$as_dir" || continue +case $as_dir in + [\\/]* | ?:[\\/]* ) ;; + * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;; +esac +case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in + *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;; + $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;; + *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;; +esac + done +IFS=$as_save_IFS + +PATH=$at_new_path +export PATH + +# Setting up the FDs. + + + +# 5 is the log file. Not to be overwritten if `-d'. +if $at_debug_p; then + at_suite_log=/dev/null +else + : >"$at_suite_log" +fi +exec 5>>"$at_suite_log" + +# Banners and logs. +$as_echo "## -------------------------- ## +## wordsplit v1.1 test suite. ## +## -------------------------- ##" +{ + $as_echo "## -------------------------- ## +## wordsplit v1.1 test suite. ## +## -------------------------- ##" + echo + + $as_echo "$as_me: command line was:" + $as_echo " \$ $0 $at_cli_args" + echo + + # If ChangeLog exists, list a few lines in case it might help determining + # the exact version. + if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then + $as_echo "## ---------- ## +## ChangeLog. ## +## ---------- ##" + echo + sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog" + echo + fi + + { +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} + echo + + # Contents of the config files. + for at_file in atconfig atlocal + do + test -r $at_file || continue + $as_echo "$as_me: $at_file:" + sed 's/^/| /' $at_file + echo + done +} >&5 + + +## ------------------------- ## +## Autotest shell functions. ## +## ------------------------- ## + +# at_fn_banner NUMBER +# ------------------- +# Output banner NUMBER, provided the testsuite is running multiple groups and +# this particular banner has not yet been printed. +at_fn_banner () +{ + $at_print_banners || return 0 + eval at_banner_text=\$at_banner_text_$1 + test "x$at_banner_text" = "x " && return 0 + eval "at_banner_text_$1=\" \"" + if test -z "$at_banner_text"; then + $at_first || echo + else + $as_echo "$as_nl$at_banner_text$as_nl" + fi +} # at_fn_banner + +# at_fn_check_prepare_notrace REASON LINE +# --------------------------------------- +# Perform AT_CHECK preparations for the command at LINE for an untraceable +# command; REASON is the reason for disabling tracing. +at_fn_check_prepare_notrace () +{ + $at_trace_echo "Not enabling shell tracing (command contains $1)" + $as_echo "$2" >"$at_check_line_file" + at_check_trace=: at_check_filter=: + : >"$at_stdout"; : >"$at_stderr" +} + +# at_fn_check_prepare_trace LINE +# ------------------------------ +# Perform AT_CHECK preparations for the command at LINE for a traceable +# command. +at_fn_check_prepare_trace () +{ + $as_echo "$1" >"$at_check_line_file" + at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace + : >"$at_stdout"; : >"$at_stderr" +} + +# at_fn_check_prepare_dynamic COMMAND LINE +# ---------------------------------------- +# Decide if COMMAND at LINE is traceable at runtime, and call the appropriate +# preparation function. +at_fn_check_prepare_dynamic () +{ + case $1 in + *$as_nl*) + at_fn_check_prepare_notrace 'an embedded newline' "$2" ;; + *) + at_fn_check_prepare_trace "$2" ;; + esac +} + +# at_fn_filter_trace +# ------------------ +# Remove the lines in the file "$at_stderr" generated by "set -x" and print +# them to stderr. +at_fn_filter_trace () +{ + mv "$at_stderr" "$at_stder1" + grep '^ *+' "$at_stder1" >&2 + grep -v '^ *+' "$at_stder1" >"$at_stderr" +} + +# at_fn_log_failure FILE-LIST +# --------------------------- +# Copy the files in the list on stdout with a "> " prefix, and exit the shell +# with a failure exit code. +at_fn_log_failure () +{ + for file + do $as_echo "$file:"; sed 's/^/> /' "$file"; done + echo 1 > "$at_status_file" + exit 1 +} + +# at_fn_check_skip EXIT-CODE LINE +# ------------------------------- +# Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit +# the test group subshell with that same exit code. Use LINE in any report +# about test failure. +at_fn_check_skip () +{ + case $1 in + 99) echo 99 > "$at_status_file"; at_failed=: + $as_echo "$2: hard failure"; exit 99;; + 77) echo 77 > "$at_status_file"; exit 77;; + esac +} + +# at_fn_check_status EXPECTED EXIT-CODE LINE +# ------------------------------------------ +# Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing. +# Otherwise, if it is 77 or 99, exit the test group subshell with that same +# exit code; if it is anything else print an error message referring to LINE, +# and fail the test. +at_fn_check_status () +{ + case $2 in + $1 ) ;; + 77) echo 77 > "$at_status_file"; exit 77;; + 99) echo 99 > "$at_status_file"; at_failed=: + $as_echo "$3: hard failure"; exit 99;; + *) $as_echo "$3: exit code was $2, expected $1" + at_failed=:;; + esac +} + +# at_fn_diff_devnull FILE +# ----------------------- +# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff +# invocations. +at_fn_diff_devnull () +{ + test -s "$1" || return 0 + $at_diff "$at_devnull" "$1" +} + +# at_fn_test NUMBER +# ----------------- +# Parse out test NUMBER from the tail of this file. +at_fn_test () +{ + eval at_sed=\$at_sed$1 + sed "$at_sed" "$at_myself" > "$at_test_source" +} + +# at_fn_create_debugging_script +# ----------------------------- +# Create the debugging script $at_group_dir/run which will reproduce the +# current test group. +at_fn_create_debugging_script () +{ + { + echo "#! /bin/sh" && + echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' && + $as_echo "cd '$at_dir'" && + $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" && + echo 'exit 1' + } >"$at_group_dir/run" && + chmod +x "$at_group_dir/run" +} + +## -------------------------------- ## +## End of autotest shell functions. ## +## -------------------------------- ## +{ + $as_echo "## ---------------- ## +## Tested programs. ## +## ---------------- ##" + echo +} >&5 + +# Report what programs are being tested. +for at_program in : $at_tested +do + test "$at_program" = : && continue + case $at_program in + [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;; + * ) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -f "$as_dir/$at_program" && break + done +IFS=$as_save_IFS + + at_program_=$as_dir/$at_program ;; + esac + if test -f "$at_program_"; then + { + $as_echo "$at_srcdir/wstest.at:6: $at_program_ --version" + "$at_program_" --version &5 2>&1 + else + as_fn_error $? "cannot find $at_program" "$LINENO" 5 + fi +done + +{ + $as_echo "## ------------------ ## +## Running the tests. ## +## ------------------ ##" +} >&5 + +at_start_date=`date` +at_start_time=`date +%s 2>/dev/null` +$as_echo "$as_me: starting at: $at_start_date" >&5 + +# Create the master directory if it doesn't already exist. +as_dir="$at_suite_dir"; as_fn_mkdir_p || + as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5 + +# Can we diff with `/dev/null'? DU 5.0 refuses. +if diff /dev/null /dev/null >/dev/null 2>&1; then + at_devnull=/dev/null +else + at_devnull=$at_suite_dir/devnull + >"$at_devnull" +fi + +# Use `diff -u' when possible. +if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff" +then + at_diff='diff -u' +else + at_diff=diff +fi + +# Get the last needed group. +for at_group in : $at_groups; do :; done + +# Extract the start and end lines of each test group at the tail +# of this file +awk ' +BEGIN { FS="" } +/^#AT_START_/ { + start = NR +} +/^#AT_STOP_/ { + test = substr ($ 0, 10) + print "at_sed" test "=\"1," start "d;" (NR-1) "q\"" + if (test == "'"$at_group"'") exit +}' "$at_myself" > "$at_suite_dir/at-source-lines" && +. "$at_suite_dir/at-source-lines" || + as_fn_error $? "cannot create test line number cache" "$LINENO" 5 +rm -f "$at_suite_dir/at-source-lines" + +# Set number of jobs for `-j'; avoid more jobs than test groups. +set X $at_groups; shift; at_max_jobs=$# +if test $at_max_jobs -eq 0; then + at_jobs=1 +fi +if test $at_jobs -ne 1 && + { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then + at_jobs=$at_max_jobs +fi + +# If parallel mode, don't output banners, don't split summary lines. +if test $at_jobs -ne 1; then + at_print_banners=false + at_quiet=: +fi + +# Set up helper dirs. +rm -rf "$at_helper_dir" && +mkdir "$at_helper_dir" && +cd "$at_helper_dir" && +{ test -z "$at_groups" || mkdir $at_groups; } || +as_fn_error $? "testsuite directory setup failed" "$LINENO" 5 + +# Functions for running a test group. We leave the actual +# test group execution outside of a shell function in order +# to avoid hitting zsh 4.x exit status bugs. + +# at_fn_group_prepare +# ------------------- +# Prepare for running a test group. +at_fn_group_prepare () +{ + # The directory for additional per-group helper files. + at_job_dir=$at_helper_dir/$at_group + # The file containing the location of the last AT_CHECK. + at_check_line_file=$at_job_dir/check-line + # The file containing the exit status of the last command. + at_status_file=$at_job_dir/status + # The files containing the output of the tested commands. + at_stdout=$at_job_dir/stdout + at_stder1=$at_job_dir/stder1 + at_stderr=$at_job_dir/stderr + # The file containing the code for a test group. + at_test_source=$at_job_dir/test-source + # The file containing dates. + at_times_file=$at_job_dir/times + + # Be sure to come back to the top test directory. + cd "$at_suite_dir" + + # Clearly separate the test groups when verbose. + $at_first || $at_verbose echo + + at_group_normalized=$at_group + + eval 'while :; do + case $at_group_normalized in #( + '"$at_format"'*) break;; + esac + at_group_normalized=0$at_group_normalized + done' + + + # Create a fresh directory for the next test group, and enter. + # If one already exists, the user may have invoked ./run from + # within that directory; we remove the contents, but not the + # directory itself, so that we aren't pulling the rug out from + # under the shell's notion of the current directory. + at_group_dir=$at_suite_dir/$at_group_normalized + at_group_log=$at_group_dir/$as_me.log + if test -d "$at_group_dir"; then + find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \; + rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??* +fi || + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5 +$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;} + # Be tolerant if the above `rm' was not able to remove the directory. + as_dir="$at_group_dir"; as_fn_mkdir_p + + echo 0 > "$at_status_file" + + # In verbose mode, append to the log file *and* show on + # the standard output; in quiet mode only write to the log. + if test -z "$at_verbose"; then + at_tee_pipe='tee -a "$at_group_log"' + else + at_tee_pipe='cat >> "$at_group_log"' + fi +} + +# at_fn_group_banner ORDINAL LINE DESC PAD [BANNER] +# ------------------------------------------------- +# Declare the test group ORDINAL, located at LINE with group description DESC, +# and residing under BANNER. Use PAD to align the status column. +at_fn_group_banner () +{ + at_setup_line="$2" + test -n "$5" && at_fn_banner $5 + at_desc="$3" + case $1 in + [0-9]) at_desc_line=" $1: ";; + [0-9][0-9]) at_desc_line=" $1: " ;; + *) at_desc_line="$1: " ;; + esac + as_fn_append at_desc_line "$3$4" + $at_quiet $as_echo_n "$at_desc_line" + echo "# -*- compilation -*-" >> "$at_group_log" +} + +# at_fn_group_postprocess +# ----------------------- +# Perform cleanup after running a test group. +at_fn_group_postprocess () +{ + # Be sure to come back to the suite directory, in particular + # since below we might `rm' the group directory we are in currently. + cd "$at_suite_dir" + + if test ! -f "$at_check_line_file"; then + sed "s/^ */$as_me: WARNING: /" <<_ATEOF + A failure happened in a test group before any test could be + run. This means that test suite is improperly designed. Please + report this failure to . +_ATEOF + $as_echo "$at_setup_line" >"$at_check_line_file" + at_status=99 + fi + $at_verbose $as_echo_n "$at_group. $at_setup_line: " + $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log" + case $at_xfail:$at_status in + yes:0) + at_msg="UNEXPECTED PASS" + at_res=xpass + at_errexit=$at_errexit_p + at_color=$at_red + ;; + no:0) + at_msg="ok" + at_res=pass + at_errexit=false + at_color=$at_grn + ;; + *:77) + at_msg='skipped ('`cat "$at_check_line_file"`')' + at_res=skip + at_errexit=false + at_color=$at_blu + ;; + no:* | *:99) + at_msg='FAILED ('`cat "$at_check_line_file"`')' + at_res=fail + at_errexit=$at_errexit_p + at_color=$at_red + ;; + yes:*) + at_msg='expected failure ('`cat "$at_check_line_file"`')' + at_res=xfail + at_errexit=false + at_color=$at_lgn + ;; + esac + echo "$at_res" > "$at_job_dir/$at_res" + # In parallel mode, output the summary line only afterwards. + if test $at_jobs -ne 1 && test -n "$at_verbose"; then + $as_echo "$at_desc_line $at_color$at_msg$at_std" + else + # Make sure there is a separator even with long titles. + $as_echo " $at_color$at_msg$at_std" + fi + at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg" + case $at_status in + 0|77) + # $at_times_file is only available if the group succeeded. + # We're not including the group log, so the success message + # is written in the global log separately. But we also + # write to the group log in case they're using -d. + if test -f "$at_times_file"; then + at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')' + rm -f "$at_times_file" + fi + $as_echo "$at_log_msg" >> "$at_group_log" + $as_echo "$at_log_msg" >&5 + + # Cleanup the group directory, unless the user wants the files + # or the success was unexpected. + if $at_debug_p || test $at_res = xpass; then + at_fn_create_debugging_script + if test $at_res = xpass && $at_errexit; then + echo stop > "$at_stop_file" + fi + else + if test -d "$at_group_dir"; then + find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; + rm -fr "$at_group_dir" + fi + rm -f "$at_test_source" + fi + ;; + *) + # Upon failure, include the log into the testsuite's global + # log. The failure message is written in the group log. It + # is later included in the global log. + $as_echo "$at_log_msg" >> "$at_group_log" + + # Upon failure, keep the group directory for autopsy, and create + # the debugging script. With -e, do not start any further tests. + at_fn_create_debugging_script + if $at_errexit; then + echo stop > "$at_stop_file" + fi + ;; + esac +} + + +## ------------ ## +## Driver loop. ## +## ------------ ## + + +if (set -m && set +m && set +b) >/dev/null 2>&1; then + set +b + at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=- +else + at_job_control_on=: at_job_control_off=: at_job_group= +fi + +for at_signal in 1 2 15; do + trap 'set +x; set +e + $at_job_control_off + at_signal='"$at_signal"' + echo stop > "$at_stop_file" + trap "" $at_signal + at_pgids= + for at_pgid in `jobs -p 2>/dev/null`; do + at_pgids="$at_pgids $at_job_group$at_pgid" + done + test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null + wait + if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then + echo >&2 + fi + at_signame=`kill -l $at_signal 2>&1 || echo $at_signal` + set x $at_signame + test 0 -gt 2 && at_signame=$at_signal + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5 +$as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;} + as_fn_arith 128 + $at_signal && exit_status=$as_val + as_fn_exit $exit_status' $at_signal +done + +rm -f "$at_stop_file" +at_first=: + +if test $at_jobs -ne 1 && + rm -f "$at_job_fifo" && + test -n "$at_job_group" && + ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null +then + # FIFO job dispatcher. + + trap 'at_pids= + for at_pid in `jobs -p`; do + at_pids="$at_pids $at_job_group$at_pid" + done + if test -n "$at_pids"; then + at_sig=TSTP + test "${TMOUT+set}" = set && at_sig=STOP + kill -$at_sig $at_pids 2>/dev/null + fi + kill -STOP $$ + test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP + + echo + # Turn jobs into a list of numbers, starting from 1. + at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p` + + set X $at_joblist + shift + for at_group in $at_groups; do + $at_job_control_on 2>/dev/null + ( + # Start one test group. + $at_job_control_off + if $at_first; then + exec 7>"$at_job_fifo" + else + exec 6<&- + fi + trap 'set +x; set +e + trap "" PIPE + echo stop > "$at_stop_file" + echo >&7 + as_fn_exit 141' PIPE + at_fn_group_prepare + if cd "$at_group_dir" && + at_fn_test $at_group && + . "$at_test_source" + then :; else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 +$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} + at_failed=: + fi + at_fn_group_postprocess + echo >&7 + ) & + $at_job_control_off + if $at_first; then + at_first=false + exec 6<"$at_job_fifo" 7>"$at_job_fifo" + fi + shift # Consume one token. + if test $# -gt 0; then :; else + read at_token <&6 || break + set x $* + fi + test -f "$at_stop_file" && break + done + exec 7>&- + # Read back the remaining ($at_jobs - 1) tokens. + set X $at_joblist + shift + if test $# -gt 0; then + shift + for at_job + do + read at_token + done <&6 + fi + exec 6<&- + wait +else + # Run serially, avoid forks and other potential surprises. + for at_group in $at_groups; do + at_fn_group_prepare + if cd "$at_group_dir" && + at_fn_test $at_group && + . "$at_test_source"; then :; else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 +$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} + at_failed=: + fi + at_fn_group_postprocess + test -f "$at_stop_file" && break + at_first=false + done +fi + +# Wrap up the test suite with summary statistics. +cd "$at_helper_dir" + +# Use ?..???? when the list must remain sorted, the faster * otherwise. +at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'` +at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'` +at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'` +at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do + echo $f; done | sed '/?/d; s,/xpass,,'` +at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do + echo $f; done | sed '/?/d; s,/fail,,'` + +set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list +shift; at_group_count=$# +set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$* +set X $at_xfail_list; shift; at_xfail_count=$# +set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$* +set X $at_skip_list; shift; at_skip_count=$# + +as_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val +as_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val +as_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val + +# Back to the top directory. +cd "$at_dir" +rm -rf "$at_helper_dir" + +# Compute the duration of the suite. +at_stop_date=`date` +at_stop_time=`date +%s 2>/dev/null` +$as_echo "$as_me: ending at: $at_stop_date" >&5 +case $at_start_time,$at_stop_time in + [0-9]*,[0-9]*) + as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val + as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val + as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val + as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val + as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val + at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s" + $as_echo "$as_me: test suite duration: $at_duration" >&5 + ;; +esac + +echo +$as_echo "## ------------- ## +## Test results. ## +## ------------- ##" +echo +{ + echo + $as_echo "## ------------- ## +## Test results. ## +## ------------- ##" + echo +} >&5 + +if test $at_run_count = 1; then + at_result="1 test" + at_were=was +else + at_result="$at_run_count tests" + at_were=were +fi +if $at_errexit_p && test $at_unexpected_count != 0; then + if test $at_xpass_count = 1; then + at_result="$at_result $at_were run, one passed" + else + at_result="$at_result $at_were run, one failed" + fi + at_result="$at_result unexpectedly and inhibited subsequent tests." + at_color=$at_red +else + # Don't you just love exponential explosion of the number of cases? + at_color=$at_red + case $at_xpass_count:$at_fail_count:$at_xfail_count in + # So far, so good. + 0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;; + 0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;; + + # Some unexpected failures + 0:*:0) at_result="$at_result $at_were run, +$at_fail_count failed unexpectedly." ;; + + # Some failures, both expected and unexpected + 0:*:1) at_result="$at_result $at_were run, +$at_total_fail_count failed ($at_xfail_count expected failure)." ;; + 0:*:*) at_result="$at_result $at_were run, +$at_total_fail_count failed ($at_xfail_count expected failures)." ;; + + # No unexpected failures, but some xpasses + *:0:*) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly." ;; + + # No expected failures, but failures and xpasses + *:1:0) at_result="$at_result $at_were run, +$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;; + *:*:0) at_result="$at_result $at_were run, +$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;; + + # All of them. + *:*:1) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly, +$at_total_fail_count failed ($at_xfail_count expected failure)." ;; + *:*:*) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly, +$at_total_fail_count failed ($at_xfail_count expected failures)." ;; + esac + + if test $at_skip_count = 0 && test $at_run_count -gt 1; then + at_result="All $at_result" + fi +fi + +# Now put skips in the mix. +case $at_skip_count in + 0) ;; + 1) at_result="$at_result +1 test was skipped." ;; + *) at_result="$at_result +$at_skip_count tests were skipped." ;; +esac + +if test $at_unexpected_count = 0; then + echo "$at_color$at_result$at_std" + echo "$at_result" >&5 +else + echo "${at_color}ERROR: $at_result$at_std" >&2 + echo "ERROR: $at_result" >&5 + { + echo + $as_echo "## ------------------------ ## +## Summary of the failures. ## +## ------------------------ ##" + + # Summary of failed and skipped tests. + if test $at_fail_count != 0; then + echo "Failed tests:" + $SHELL "$at_myself" $at_fail_list --list + echo + fi + if test $at_skip_count != 0; then + echo "Skipped tests:" + $SHELL "$at_myself" $at_skip_list --list + echo + fi + if test $at_xpass_count != 0; then + echo "Unexpected passes:" + $SHELL "$at_myself" $at_xpass_list --list + echo + fi + if test $at_fail_count != 0; then + $as_echo "## ---------------------- ## +## Detailed failed tests. ## +## ---------------------- ##" + echo + for at_group in $at_fail_list + do + at_group_normalized=$at_group + + eval 'while :; do + case $at_group_normalized in #( + '"$at_format"'*) break;; + esac + at_group_normalized=0$at_group_normalized + done' + + cat "$at_suite_dir/$at_group_normalized/$as_me.log" + echo + done + echo + fi + if test -n "$at_top_srcdir"; then + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## ${at_top_build_prefix}config.log ## +_ASBOX + sed 's/^/| /' ${at_top_build_prefix}config.log + echo + fi + } >&5 + + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## $as_me.log was created. ## +_ASBOX + + echo + if $at_debug_p; then + at_msg='per-test log files' + else + at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'" + fi + $as_echo "Please send $at_msg and all information you think might help: + + To: + Subject: [wordsplit v1.1] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + +You may investigate any problem if you feel able to do so, in which +case the test suite provides a good starting point. Its output may +be found below \`${at_testdir+${at_testdir}/}$as_me.dir'. +" + exit 1 +fi + +exit 0 + +## ------------- ## +## Actual tests. ## +## ------------- ## +#AT_START_1 +at_fn_group_banner 1 'wordsplit.at:58' \ + "simple input" " " +at_xfail=no +( + $as_echo "1. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:58: + wsp <<'EOT' +1 2 3 +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:58" +( $at_check_trace; + wsp <<'EOT' +1 2 3 +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: 1 +1: 2 +2: 3 +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:58" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1 +#AT_START_2 +at_fn_group_banner 2 'wordsplit.at:67' \ + "quoted space" " " +at_xfail=no +( + $as_echo "2. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:67: + wsp <<'EOT' +quoted\\ space +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:67" +( $at_check_trace; + wsp <<'EOT' +quoted\ space +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"quoted space\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:67" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_2 +#AT_START_3 +at_fn_group_banner 3 'wordsplit.at:74' \ + "tab character" " " +at_xfail=no +( + $as_echo "3. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:74: + wsp <<'EOT' +a \"tab character\" +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:74" +( $at_check_trace; + wsp <<'EOT' +a "tab character" +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: a +1: tab\\tcharacter +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:74" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_3 +#AT_START_4 +at_fn_group_banner 4 'wordsplit.at:83' \ + "octal and hex escapes" " " +at_xfail=no +( + $as_echo "4. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:83: + wsp <<'EOT' +\\157\\143\\164\\141\\154\\40and\\x20\\x68\\x65\\x78 +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:83" +( $at_check_trace; + wsp <<'EOT' +\157\143\164\141\154\40and\x20\x68\x65\x78 +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"octal and hex\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:83" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_4 +#AT_START_5 +at_fn_group_banner 5 'wordsplit.at:90' \ + "octal and hex escapes 2" " " +at_xfail=no +( + $as_echo "5. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:90: + wsp <<'EOT' +\\157\\143\\164\\141\\154\\40 and \\x20\\x68\\x65\\x78 +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:90" +( $at_check_trace; + wsp <<'EOT' +\157\143\164\141\154\40 and \x20\x68\x65\x78 +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: \"octal \" +1: and +2: \" hex\" +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:90" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_5 +#AT_START_6 +at_fn_group_banner 6 'wordsplit.at:99' \ + "escape representation" " " +at_xfail=no +( + $as_echo "6. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:99: + wsp <<'EOT' +A\\x3-\\48\\39 +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:99" +( $at_check_trace; + wsp <<'EOT' +A\x3-\48\39 +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: A\\003-\\0048\\0039 +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:99" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_6 +#AT_START_7 +at_fn_group_banner 7 'wordsplit.at:111' \ + "append" " " +at_xfail=no +( + $as_echo "7. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:111: + wsp -append <<'EOT' +jeden dwa trzy +cztery +piec szesc +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:111" +( $at_check_trace; + wsp -append <<'EOT' +jeden dwa trzy +cztery +piec szesc +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: jeden +1: dwa +2: trzy +TOTAL: 3 +NF: 4 +0: jeden +1: dwa +2: trzy +3: cztery +TOTAL: 1 +NF: 6 +0: jeden +1: dwa +2: trzy +3: cztery +4: piec +5: szesc +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:111" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_7 +#AT_START_8 +at_fn_group_banner 8 'wordsplit.at:136' \ + "dooffs" " " +at_xfail=no +( + $as_echo "8. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:136: + wsp -dooffs jeden dwa trzy <<'EOT' +cztery piec +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:136" +( $at_check_trace; + wsp -dooffs jeden dwa trzy <<'EOT' +cztery piec +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 (3) +(0): jeden +(1): dwa +(2): trzy +3: cztery +4: piec +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:136" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_8 +#AT_START_9 +at_fn_group_banner 9 'wordsplit.at:149' \ + "variable substitutions: single var" " " +at_xfail=no +( + $as_echo "9. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:149: +FOO=bar wsp <<'EOT' +a \$FOO test +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:149" +( $at_check_trace; +FOO=bar wsp <<'EOT' +a $FOO test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: bar +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:149" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_9 +#AT_START_10 +at_fn_group_banner 10 'wordsplit.at:160' \ + "variable substitutions: concatenated vars" " " +at_xfail=no +( + $as_echo "10. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:160: +FOO=str BAR=ing wsp <<'EOT' +a \$FOO\${BAR}ent test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:160" +( $at_check_trace; +FOO=str BAR=ing wsp <<'EOT' +a $FOO${BAR}ent test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: stringent +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:160" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_10 +#AT_START_11 +at_fn_group_banner 11 'wordsplit.at:172' \ + "variable substitutions: field splitting" " " +at_xfail=no +( + $as_echo "11. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:172: +FOO=\"variable substitution\" wsp <<'EOT' +a \$FOO test +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:172" +( $at_check_trace; +FOO="variable substitution" wsp <<'EOT' +a $FOO test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: a +1: variable +2: substitution +3: test +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:172" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_11 +#AT_START_12 +at_fn_group_banner 12 'wordsplit.at:184' \ + "variable substitutions: double-quoted variable" " " +at_xfail=no +( + $as_echo "12. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:184: +FOO=\"variable substitution\" wsp <<'EOT' +a \"\$FOO\" test +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:184" +( $at_check_trace; +FOO="variable substitution" wsp <<'EOT' +a "$FOO" test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: \"variable substitution\" +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:184" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_12 +#AT_START_13 +at_fn_group_banner 13 'wordsplit.at:195' \ + "variable substitutions: single-quoted variable" " " +at_xfail=no +( + $as_echo "13. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:195: +FOO=\"variable substitution\" wsp <<'EOT' +a '\$FOO' test +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:195" +( $at_check_trace; +FOO="variable substitution" wsp <<'EOT' +a '$FOO' test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: \$FOO +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:195" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_13 +#AT_START_14 +at_fn_group_banner 14 'wordsplit.at:206' \ + "undefined variables 1" " " +at_xfail=no +( + $as_echo "14. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:206: +unset FOO; wsp <<'EOT' +a \$FOO test a\${FOO}b +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:206" +( $at_check_trace; +unset FOO; wsp <<'EOT' +a $FOO test a${FOO}b +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: test +2: ab +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_14 +#AT_START_15 +at_fn_group_banner 15 'wordsplit.at:217' \ + "undefined variables 2" " " +at_xfail=no +( + $as_echo "15. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:217: +unset FOO; wsp -keepundef <<'EOT' +a \$FOO test a\${FOO}b +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:217" +( $at_check_trace; +unset FOO; wsp -keepundef <<'EOT' +a $FOO test a${FOO}b +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: a +1: \$FOO +2: test +3: a\${FOO}b +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:217" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_15 +#AT_START_16 +at_fn_group_banner 16 'wordsplit.at:229' \ + "warn about undefined variables" " " +at_xfail=no +( + $as_echo "16. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:229: +unset FOO; wsp -warnundef <<'EOT' +\$FOO +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:229" +( $at_check_trace; +unset FOO; wsp -warnundef <<'EOT' +$FOO +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "warning: undefined variable \`FOO' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 0 +TOTAL: 0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:229" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_16 +#AT_START_17 +at_fn_group_banner 17 'wordsplit.at:238' \ + "bail out on undefined variables" " " +at_xfail=no +( + $as_echo "17. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:238: +unset FOO; wsp -undef <<'EOT' +\$FOO +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:238" +( $at_check_trace; +unset FOO; wsp -undef <<'EOT' +$FOO +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "undefined variable: FOO +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:238" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_17 +#AT_START_18 +at_fn_group_banner 18 'wordsplit.at:245' \ + "disable variable expansion" " " +at_xfail=no +( + $as_echo "18. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:245: +FOO=bar wsp -novar <<'EOT' +\$FOO +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:245" +( $at_check_trace; +FOO=bar wsp -novar <<'EOT' +$FOO +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \$FOO +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:245" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_18 +#AT_START_19 +at_fn_group_banner 19 'wordsplit.at:254' \ + "K/V environment" " " +at_xfail=no +( + $as_echo "19. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:254: +FOO=bar BAZ=qux wsp -env_kv <<'EOT' +\$FOO a\$BAZ +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:254" +( $at_check_trace; +FOO=bar BAZ=qux wsp -env_kv <<'EOT' +$FOO a$BAZ +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: bar +1: aqux +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:254" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_19 +#AT_START_20 +at_fn_group_banner 20 'wordsplit.at:265' \ + "nosplit with variable expansion" " " +at_xfail=no +( + $as_echo "20. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:265: +FOO=\"variable expansion\" wsp -nosplit <<'EOT' +a \$FOO test +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:265" +( $at_check_trace; +FOO="variable expansion" wsp -nosplit <<'EOT' +a $FOO test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"a variable expansion test\\n\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:265" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_20 +#AT_START_21 +at_fn_group_banner 21 'wordsplit.at:274' \ + "nosplit without variable expansion" " " +at_xfail=no +( + $as_echo "21. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:274: +FOO=\"variable expansion\" wsp -nosplit -novar <<'EOT' +a \$FOO test +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:274" +( $at_check_trace; +FOO="variable expansion" wsp -nosplit -novar <<'EOT' +a $FOO test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"a \$FOO test\\n\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:274" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_21 +#AT_START_22 +at_fn_group_banner 22 'wordsplit.at:283' \ + "nosplit: empty expansion" " " +at_xfail=no +( + $as_echo "22. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:283: +FOO=\"\" wsp -nosplit -trimnl <<'EOT' +\$FOO +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:283" +( $at_check_trace; +FOO="" wsp -nosplit -trimnl <<'EOT' +$FOO +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:283" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_22 +#AT_START_23 +at_fn_group_banner 23 'wordsplit.at:292' \ + "default value" " " +at_xfail=no +( + $as_echo "23. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:292: + wsp <<'EOT' +\${FOO:-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:292" +( $at_check_trace; + wsp <<'EOT' +${FOO:-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: bar +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:292" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_23 +#AT_START_24 +at_fn_group_banner 24 'wordsplit.at:299' \ + "default value (defined)" " " +at_xfail=no +( + $as_echo "24. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:299: +FOO=qux wsp <<'EOT' +\${FOO:-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:299" +( $at_check_trace; +FOO=qux wsp <<'EOT' +${FOO:-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: qux +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:299" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_24 +#AT_START_25 +at_fn_group_banner 25 'wordsplit.at:308' \ + "default value (:- null)" " " +at_xfail=no +( + $as_echo "25. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:308: +FOO= wsp <<'EOT' +\${FOO:-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:308" +( $at_check_trace; +FOO= wsp <<'EOT' +${FOO:-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: bar +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:308" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_25 +#AT_START_26 +at_fn_group_banner 26 'wordsplit.at:317' \ + "default value (- null)" " " +at_xfail=no +( + $as_echo "26. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:317: +FOO= wsp <<'EOT' +\${FOO-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:317" +( $at_check_trace; +FOO= wsp <<'EOT' +${FOO-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 0 +TOTAL: 0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:317" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_26 +#AT_START_27 +at_fn_group_banner 27 'wordsplit.at:325' \ + "default value (- null, unset)" " " +at_xfail=no +( + $as_echo "27. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:325: + wsp <<'EOT' +\${FOO-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:325" +( $at_check_trace; + wsp <<'EOT' +${FOO-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: bar +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:325" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_27 +#AT_START_28 +at_fn_group_banner 28 'wordsplit.at:332' \ + "assign default values" " " +at_xfail=no +( + $as_echo "28. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:332: + wsp <<'EOT' +\${FOO=bar} +\$FOO +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:332" +( $at_check_trace; + wsp <<'EOT' +${FOO=bar} +$FOO +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: bar +TOTAL: 1 +NF: 1 +0: bar +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:332" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_28 +#AT_START_29 +at_fn_group_banner 29 'wordsplit.at:343' \ + "default error message (var defined)" " " +at_xfail=no +( + $as_echo "29. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:343: +FOO=bar wsp <<'EOT' +a \${FOO:?} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:343" +( $at_check_trace; +FOO=bar wsp <<'EOT' +a ${FOO:?} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: bar +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:343" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_29 +#AT_START_30 +at_fn_group_banner 30 'wordsplit.at:354' \ + "default error message" " " +at_xfail=no +( + $as_echo "30. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:354: + wsp <<'EOT' +\${FOO:?} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:354" +( $at_check_trace; + wsp <<'EOT' +${FOO:?} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "FOO: variable null or not set +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 0 +TOTAL: 0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:354" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_30 +#AT_START_31 +at_fn_group_banner 31 'wordsplit.at:362' \ + "custom error message (defined)" " " +at_xfail=no +( + $as_echo "31. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:362: +FOO=bar wsp <<'EOT' +a \${FOO:?please define it} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:362" +( $at_check_trace; +FOO=bar wsp <<'EOT' +a ${FOO:?please define it} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: bar +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:362" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_31 +#AT_START_32 +at_fn_group_banner 32 'wordsplit.at:373' \ + "custom error message" " " +at_xfail=no +( + $as_echo "32. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:373: + wsp <<'EOT' +a \${FOO:?please define it} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:373" +( $at_check_trace; + wsp <<'EOT' +a ${FOO:?please define it} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "FOO: please define it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: a +1: test +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:373" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_32 +#AT_START_33 +at_fn_group_banner 33 'wordsplit.at:383' \ + "alternate value (defined)" " " +at_xfail=no +( + $as_echo "33. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:383: +FOO=bar wsp <<'EOT' +a \${FOO:+isset} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:383" +( $at_check_trace; +FOO=bar wsp <<'EOT' +a ${FOO:+isset} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: isset +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:383" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_33 +#AT_START_34 +at_fn_group_banner 34 'wordsplit.at:394' \ + "alternate value" " " +at_xfail=no +( + $as_echo "34. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:394: +unset FOO; wsp <<'EOT' +a \${FOO:+isset} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:394" +( $at_check_trace; +unset FOO; wsp <<'EOT' +a ${FOO:+isset} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: a +1: test +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:394" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_34 +#AT_START_35 +at_fn_group_banner 35 'wordsplit.at:404' \ + "getvar" " " +at_xfail=no +( + $as_echo "35. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:404: unset foo; unset x + wsp foo=bar x=quux <<'EOT' +begin \$foo \$x end +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:404" +( $at_check_trace; unset foo; unset x + wsp foo=bar x=quux <<'EOT' +begin $foo $x end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: begin +1: bar +2: quux +3: end +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:404" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_35 +#AT_START_36 +at_fn_group_banner 36 'wordsplit.at:418' \ + "getvar and env" " " +at_xfail=no +( + $as_echo "36. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:418: unset foo; unset x +TVAR=12 y=zwar wsp foo=bar x=quux y=xur <<'EOT' +begin \$foo \$TVAR \$x \$y end +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:418" +( $at_check_trace; unset foo; unset x +TVAR=12 y=zwar wsp foo=bar x=quux y=xur <<'EOT' +begin $foo $TVAR $x $y end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 6 +0: begin +1: bar +2: 12 +3: quux +4: zwar +5: end +TOTAL: 6 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:418" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_36 +#AT_START_37 +at_fn_group_banner 37 'wordsplit.at:434' \ + "getvar, alternate value" " " +at_xfail=no +( + $as_echo "37. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:434: + wsp foo=bar <<'EOT' +a \${foo:+isset} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:434" +( $at_check_trace; + wsp foo=bar <<'EOT' +a ${foo:+isset} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: a +1: isset +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:434" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_37 +#AT_START_38 +at_fn_group_banner 38 'wordsplit.at:445' \ + "ignore quotes" " " +at_xfail=no +( + $as_echo "38. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:445: + wsp -noquote <<'EOT' +\"a text\" +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:445" +( $at_check_trace; + wsp -noquote <<'EOT' +"a text" +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: \"\\\"a\" +1: \"text\\\"\" +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:445" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_38 +#AT_START_39 +at_fn_group_banner 39 'wordsplit.at:455' \ + "custom delimiters (squeeze)" " " +at_xfail=no +( + $as_echo "39. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:455: + wsp -delim : -nows -trimnl <<'EOT' +semicolon: separated::list: of :words +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:455" +( $at_check_trace; + wsp -delim : -nows -trimnl <<'EOT' +semicolon: separated::list: of :words +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 5 +0: semicolon +1: \" separated\" +2: list +3: \" of \" +4: words +TOTAL: 5 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:455" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_39 +#AT_START_40 +at_fn_group_banner 40 'wordsplit.at:467' \ + "custom delimiters (no squeeze)" " " +at_xfail=no +( + $as_echo "40. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:467: + wsp -delim : -nows -nosqueeze_delims -trimnl <<'EOT' +semicolon: separated::list: of :words +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:467" +( $at_check_trace; + wsp -delim : -nows -nosqueeze_delims -trimnl <<'EOT' +semicolon: separated::list: of :words +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 6 +0: semicolon +1: \" separated\" +2: \"\" +3: list +4: \" of \" +5: words +TOTAL: 6 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:467" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_40 +#AT_START_41 +at_fn_group_banner 41 'wordsplit.at:480' \ + "custom, with returned delimiters" " " +at_xfail=no +( + $as_echo "41. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:480: + wsp -delim : -nows -trimnl -return_delims <<'EOT' +semicolon: separated::list: of :words +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:480" +( $at_check_trace; + wsp -delim : -nows -trimnl -return_delims <<'EOT' +semicolon: separated::list: of :words +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 9 +0: semicolon +1: : +2: \" separated\" +3: : +4: list +5: : +6: \" of \" +7: : +8: words +TOTAL: 9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:480" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_41 +#AT_START_42 +at_fn_group_banner 42 'wordsplit.at:496' \ + "custom, with returned & squeezed delimiters" " " +at_xfail=no +( + $as_echo "42. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:496: + wsp -delim : -nows -trimnl -return_delims -nosqueeze_delims <<'EOT' +semicolon: separated::list: of :words +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:496" +( $at_check_trace; + wsp -delim : -nows -trimnl -return_delims -nosqueeze_delims <<'EOT' +semicolon: separated::list: of :words +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 10 +0: semicolon +1: : +2: \" separated\" +3: : +4: : +5: list +6: : +7: \" of \" +8: : +9: words +TOTAL: 10 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:496" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_42 +#AT_START_43 +at_fn_group_banner 43 'wordsplit.at:515' \ + "sed expressions" " " +at_xfail=no +( + $as_echo "43. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:515: + wsp -sed <<'EOT' +arg1 s/foo/bar/g;s/bar baz/quz quux/ arg2 +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:515" +( $at_check_trace; + wsp -sed <<'EOT' +arg1 s/foo/bar/g;s/bar baz/quz quux/ arg2 +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: arg1 +1: \"s/foo/bar/g;s/bar baz/quz quux/\" +2: arg2 +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:515" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_43 +#AT_START_44 +at_fn_group_banner 44 'wordsplit.at:526' \ + "C escapes on" " " +at_xfail=no +( + $as_echo "44. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:526: + wsp -cescapes <<'EOT' +a\\ttab form\\ffeed and new\\nline +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:526" +( $at_check_trace; + wsp -cescapes <<'EOT' +a\ttab form\ffeed and new\nline +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: a\\ttab +1: form\\ffeed +2: and +3: new\\nline +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:526" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_44 +#AT_START_45 +at_fn_group_banner 45 'wordsplit.at:536' \ + "C escapes off" " " +at_xfail=no +( + $as_echo "45. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:536: + wsp -nocescapes <<'EOT' +a\\ttab form\\ffeed and new\\nline +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:536" +( $at_check_trace; + wsp -nocescapes <<'EOT' +a\ttab form\ffeed and new\nline +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: attab +1: formffeed +2: and +3: newnline +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:536" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_45 +#AT_START_46 +at_fn_group_banner 46 'wordsplit.at:546' \ + "ws elimination" " " +at_xfail=no +( + $as_echo "46. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:546: + wsp -delim ' ()' -ws -return_delims <<'EOT' +( list items ) +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:546" +( $at_check_trace; + wsp -delim ' ()' -ws -return_delims <<'EOT' +( list items ) +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: ( +1: list +2: items +3: ) +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:546" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_46 +#AT_START_47 +at_fn_group_banner 47 'wordsplit.at:556' \ + "ws elimination + return delim" " " +at_xfail=no +( + $as_echo "47. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:556: + wsp -nodefault -novar -nocmd -delim \":,\" -return_delims -ws -dquote <<'EOT' +\"foo\" : \"bar\", \"quux\" : \"baaz\" +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:556" +( $at_check_trace; + wsp -nodefault -novar -nocmd -delim ":," -return_delims -ws -dquote <<'EOT' +"foo" : "bar", "quux" : "baaz" +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 7 +0: foo +1: : +2: bar +3: , +4: quux +5: : +6: baaz +TOTAL: 7 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:556" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_47 +#AT_START_48 +at_fn_group_banner 48 'wordsplit.at:570' \ + "empty quotes" " " +at_xfail=no +( + $as_echo "48. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:570: + wsp -delim : -ws -return_delims <<'EOT' +t=\"\" +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:570" +( $at_check_trace; + wsp -delim : -ws -return_delims <<'EOT' +t="" +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: t= +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:570" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_48 +#AT_START_49 +at_fn_group_banner 49 'wordsplit.at:577' \ + "delimiter following empty quotes" " " +at_xfail=no +( + $as_echo "49. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:577: + wsp -delim : -ws -return_delims <<'EOT' +t=\"\":r +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:577" +( $at_check_trace; + wsp -delim : -ws -return_delims <<'EOT' +t="":r +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: t= +1: : +2: r +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:577" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_49 +#AT_START_50 +at_fn_group_banner 50 'wordsplit.at:587' \ + "suppress ws trimming within quotes" " " +at_xfail=no +( + $as_echo "50. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:587: + wsp -default -delim , -ws -return_delims <<'EOT' +nocomponent,nonewline, formatfield=\"In message %{text}, \" +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:587" +( $at_check_trace; + wsp -default -delim , -ws -return_delims <<'EOT' +nocomponent,nonewline, formatfield="In message %{text}, " +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 5 +0: nocomponent +1: , +2: nonewline +3: , +4: \"formatfield=In message %{text}, \" +TOTAL: 5 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:587" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_50 +#AT_START_51 +at_fn_group_banner 51 'wordsplit.at:600' \ + "unescape" " " +at_xfail=no +( + $as_echo "51. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:600: + wsp -nodefault -novar -nocmd -quote -escape ':+:\\\\\"\"' <<'EOT' +\\Seen \"quote \\\"\" \"bs \\\\\" +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:600" +( $at_check_trace; + wsp -nodefault -novar -nocmd -quote -escape ':+:\\""' <<'EOT' +\Seen "quote \"" "bs \\" +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: \\\\Seen +1: \"quote \\\"\" +2: \"bs \\\\\" +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:600" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_51 +#AT_START_52 +at_fn_group_banner 52 'wordsplit.at:611' \ + "unescape: word/quote" " " +at_xfail=no +( + $as_echo "52. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:611: + wsp -nodefault -novar -nocmd -quote -escape-word '\\\\\"\"' -escape-quote ':+0x:\\\\\"\"' <<'EOT' +\\Seen \"quote \\\"\" \"bs \\\\\" \"3\\x31 \\101\" 3\\x31 \\101 +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:611" +( $at_check_trace; + wsp -nodefault -novar -nocmd -quote -escape-word '\\""' -escape-quote ':+0x:\\""' <<'EOT' +\Seen "quote \"" "bs \\" "3\x31 \101" 3\x31 \101 +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 6 +0: Seen +1: \"quote \\\"\" +2: \"bs \\\\\" +3: \"31 A\" +4: 3x31 +5: 101 +TOTAL: 6 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:611" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_52 +#AT_START_53 +at_fn_group_banner 53 'wordsplit.at:625' \ + "dquote" " " +at_xfail=no +( + $as_echo "53. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:625: + wsp -nodefault -novar -nocmd -dquote <<'EOT' +a \"quoted example\" isn't it +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:625" +( $at_check_trace; + wsp -nodefault -novar -nocmd -dquote <<'EOT' +a "quoted example" isn't it +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: a +1: \"quoted example\" +2: isn't +3: it +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:625" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_53 +#AT_START_54 +at_fn_group_banner 54 'wordsplit.at:635' \ + "squote" " " +at_xfail=no +( + $as_echo "54. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:635: + wsp -nodefault -novar -nocmd -squote <<'EOT' +a 'quoted example' isn\"t it +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:635" +( $at_check_trace; + wsp -nodefault -novar -nocmd -squote <<'EOT' +a 'quoted example' isn"t it +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: a +1: \"quoted example\" +2: \"isn\\\"t\" +3: it +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:635" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_54 +#AT_START_55 +at_fn_group_banner 55 'wordsplit.at:647' \ + "incremental" " " +at_xfail=no +( + $as_echo "55. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:647: + wsp -incremental <<'EOT' +incremental \"input test\" line + + + +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:647" +( $at_check_trace; + wsp -incremental <<'EOT' +incremental "input test" line + + + +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "input exhausted +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: incremental +TOTAL: 1 +NF: 1 +0: \"input test\" +TOTAL: 2 +NF: 1 +0: line +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:647" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_55 +#AT_START_56 +at_fn_group_banner 56 'wordsplit.at:665' \ + "incremental append" " " +at_xfail=no +( + $as_echo "56. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:665: + wsp -incremental -append <<'EOT' +incremental \"input test\" line + + + +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:665" +( $at_check_trace; + wsp -incremental -append <<'EOT' +incremental "input test" line + + + +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "input exhausted +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: incremental +TOTAL: 1 +NF: 2 +0: incremental +1: \"input test\" +TOTAL: 2 +NF: 3 +0: incremental +1: \"input test\" +2: line +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:665" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_56 +#AT_START_57 +at_fn_group_banner 57 'wordsplit.at:686' \ + "incremental ws" " " +at_xfail=no +( + $as_echo "57. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:686: + wsp -return_delims -nosqueeze_delims -incremental -ws <<'EOT' +a list test + + + +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:686" +( $at_check_trace; + wsp -return_delims -nosqueeze_delims -incremental -ws <<'EOT' +a list test + + + +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "input exhausted +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: a +TOTAL: 1 +NF: 1 +0: list +TOTAL: 2 +NF: 1 +0: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:686" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_57 +#AT_START_58 +at_fn_group_banner 58 'wordsplit.at:705' \ + "incremental nosplit" " " +at_xfail=no +( + $as_echo "58. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:705: + wsp -incremental -nosplit <<'EOT' +incremental \"input test\" line + +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:705" +( $at_check_trace; + wsp -incremental -nosplit <<'EOT' +incremental "input test" line + +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "input exhausted +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"incremental input test line\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:705" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_58 +#AT_START_59 +at_fn_group_banner 59 'wordsplit.at:715' \ + "simple command substitution" " " +at_xfail=no +( + $as_echo "59. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:715: + wsp -cmd <<'EOT' +begin \$(words a b) end +EOT +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:715" +( $at_check_trace; + wsp -cmd <<'EOT' +begin $(words a b) end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: begin +1: a +2: b +3: end +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:715" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_59 +#AT_START_60 +at_fn_group_banner 60 'wordsplit.at:725' \ + "quoted command substitution" " " +at_xfail=no +( + $as_echo "60. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:725: + wsp -cmd <<'EOT' +begin \"\$(words a b)\" end +EOT +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:725" +( $at_check_trace; + wsp -cmd <<'EOT' +begin "$(words a b)" end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: begin +1: \"a b\" +2: end +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:725" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_60 +#AT_START_61 +at_fn_group_banner 61 'wordsplit.at:734' \ + "coalesced command substitution" " " +at_xfail=no +( + $as_echo "61. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:734: + wsp -cmd <<'EOT' +begin(\$(words a b))end +EOT +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:734" +( $at_check_trace; + wsp -cmd <<'EOT' +begin($(words a b))end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: begin(a +1: b)end +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:734" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_61 +#AT_START_62 +at_fn_group_banner 62 'wordsplit.at:742' \ + "quoted coalesced command substitution" " " +at_xfail=no +( + $as_echo "62. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:742: + wsp -cmd <<'EOT' +\"begin(\$(words a b))end\" +EOT +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:742" +( $at_check_trace; + wsp -cmd <<'EOT' +"begin($(words a b))end" +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"begin(a b)end\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:742" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_62 +#AT_START_63 +at_fn_group_banner 63 'wordsplit.at:749' \ + "variable and command substitution" " " +at_xfail=no +( + $as_echo "63. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:749: +X=a Y=b wsp -cmd -var <<'EOT' +begin \$X \$(words \$X \$Y) end +EOT +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:749" +( $at_check_trace; +X=a Y=b wsp -cmd -var <<'EOT' +begin $X $(words $X $Y) end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 5 +0: begin +1: a +2: a +3: b +4: end +TOTAL: 5 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:749" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_63 +#AT_START_64 +at_fn_group_banner 64 'wordsplit.at:760' \ + "variable expansion and command substitution in quotes" "" +at_xfail=no +( + $as_echo "64. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:760: +X=a Y=b BEGIN=begin wsp -cmd -var <<'EOT' +\"\${BEGIN}(\$(words \$X \$Y))end\" +EOT +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:760" +( $at_check_trace; +X=a Y=b BEGIN=begin wsp -cmd -var <<'EOT' +"${BEGIN}($(words $X $Y))end" +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"begin(a b)end\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:760" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_64 +#AT_START_65 +at_fn_group_banner 65 'wordsplit.at:767' \ + "nested commands" " " +at_xfail=no +( + $as_echo "65. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:767: +SUFFIX=put wsp -cmd -var <<'EOT' +\$(words output \$(words in\$SUFFIX text) end) +EOT +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:767" +( $at_check_trace; +SUFFIX=put wsp -cmd -var <<'EOT' +$(words output $(words in$SUFFIX text) end) +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: output +1: input +2: text +3: end +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:767" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_65 +#AT_START_66 +at_fn_group_banner 66 'wordsplit.at:778' \ + "pathname expansion" " " +at_xfail=no +( + $as_echo "66. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:780: +mkdir dir +> dir/1.c +> dir/2.c +> dir/3.b + +wsp -pathexpand<<'EOT' +begin dir/*.c end +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:780" +( $at_check_trace; +mkdir dir +> dir/1.c +> dir/2.c +> dir/3.b + +wsp -pathexpand<<'EOT' +begin dir/*.c end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: begin +1: dir/1.c +2: dir/2.c +3: end +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:780" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_66 +#AT_START_67 +at_fn_group_banner 67 'wordsplit.at:800' \ + "pathname expansion: no match" " " +at_xfail=no +( + $as_echo "67. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:802: +mkdir dir +> dir/1.c +> dir/2.b + +wsp -pathexpand<<'EOT' +begin dir/*.d end +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:802" +( $at_check_trace; +mkdir dir +> dir/1.c +> dir/2.b + +wsp -pathexpand<<'EOT' +begin dir/*.d end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: begin +1: dir/*.d +2: end +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:802" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_67 +#AT_START_68 +at_fn_group_banner 68 'wordsplit.at:820' \ + "pathname expansion: nullglob" " " +at_xfail=no +( + $as_echo "68. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:822: +mkdir dir +> dir/1.c +> dir/2.b + +wsp -pathexpand -nullglob<<'EOT' +begin dir/*.d end +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:822" +( $at_check_trace; +mkdir dir +> dir/1.c +> dir/2.b + +wsp -pathexpand -nullglob<<'EOT' +begin dir/*.d end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: begin +1: end +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:822" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_68 +#AT_START_69 +at_fn_group_banner 69 'wordsplit.at:839' \ + "pathname expansion: failglob" " " +at_xfail=no +( + $as_echo "69. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:841: +mkdir dir +> dir/1.c +> dir/2.b + +wsp -pathexpand -failglob<<'EOT' +begin dir/*.d end +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:841" +( $at_check_trace; +mkdir dir +> dir/1.c +> dir/2.b + +wsp -pathexpand -failglob<<'EOT' +begin dir/*.d end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "no files match pattern dir/*.d +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:841" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_69 +#AT_START_70 +at_fn_group_banner 70 'wordsplit.at:856' \ + "append" " " +at_xfail=no +( + $as_echo "70. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:856: + wsp -append-args extra arguments follow <<'EOT' +some words and +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:856" +( $at_check_trace; + wsp -append-args extra arguments follow <<'EOT' +some words and +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 6 +0: some +1: words +2: and +3: extra +4: arguments +5: follow +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:856" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_70 +#AT_START_71 +at_fn_group_banner 71 'wordsplit.at:868' \ + "append + dooffs + env" " " +at_xfail=no +( + $as_echo "71. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:868: + wsp -env none -dooffs preface words -- V=2 -append-args extra arguments follow <<'EOT' +some words and var=\$V +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:868" +( $at_check_trace; + wsp -env none -dooffs preface words -- V=2 -append-args extra arguments follow <<'EOT' +some words and var=$V +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 7 (2) +(0): preface +(1): words +2: some +3: words +4: and +5: var=2 +6: extra +7: arguments +8: follow +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:868" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_71 +#AT_START_72 +at_fn_group_banner 72 'wordsplit.at:885' \ + "maxwords" " " +at_xfail=no +( + $as_echo "72. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:885: + wsp -trimnl -maxwords 3 <<'EOT' +ws_maxwords limits the number of returned words +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:885" +( $at_check_trace; + wsp -trimnl -maxwords 3 <<'EOT' +ws_maxwords limits the number of returned words +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: ws_maxwords +1: limits +2: \"the number of returned words\" +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:885" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_72 +#AT_START_73 +at_fn_group_banner 73 'wordsplit.at:895' \ + "maxwords return_delims" " " +at_xfail=no +( + $as_echo "73. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:895: + wsp -trimnl -maxwords 8 -return_delims -delim :- <<'EOT' +foo:::bar-:baz-quux:ux:zu +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:895" +( $at_check_trace; + wsp -trimnl -maxwords 8 -return_delims -delim :- <<'EOT' +foo:::bar-:baz-quux:ux:zu +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 8 +0: foo +1: : +2: bar +3: - +4: : +5: baz +6: - +7: quux:ux:zu +TOTAL: 8 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:895" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_73 +#AT_START_74 +at_fn_group_banner 74 'wordsplit.at:910' \ + "maxwords return_delims -squeeze_delims" " " +at_xfail=no +( + $as_echo "74. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:910: + wsp -trimnl -maxwords 8 -return_delims -nosqueeze_delims -delim :- <<'EOT' +foo:::bar-:baz:qux- +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:910" +( $at_check_trace; + wsp -trimnl -maxwords 8 -return_delims -nosqueeze_delims -delim :- <<'EOT' +foo:::bar-:baz:qux- +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 8 +0: foo +1: : +2: : +3: : +4: bar +5: - +6: : +7: baz:qux- +TOTAL: 8 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:910" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_74 +#AT_START_75 +at_fn_group_banner 75 'wordsplit.at:925' \ + "maxwords incremental" " " +at_xfail=no +( + $as_echo "75. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:925: + wsp -trimnl -maxwords 3 -incremental <<'EOT' +foo bar baz qux uz + + + +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:925" +( $at_check_trace; + wsp -trimnl -maxwords 3 -incremental <<'EOT' +foo bar baz qux uz + + + +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "input exhausted +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: foo +TOTAL: 1 +NF: 1 +0: bar +TOTAL: 2 +NF: 1 +0: \"baz qux uz\" +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:925" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_75 +#AT_START_76 +at_fn_group_banner 76 'wordsplit.at:944' \ + "variable nosplit" " " +at_xfail=no +( + $as_echo "76. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:944: + wsp -novar -novarsplit <<'EOT' +begin \${VAR:- a b} end +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:944" +( $at_check_trace; + wsp -novar -novarsplit <<'EOT' +begin ${VAR:- a b} end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: begin +1: \"\${VAR:- a b}\" +2: end +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:944" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_76 +#AT_START_77 +at_fn_group_banner 77 'wordsplit.at:953' \ + "command nosplit" " " +at_xfail=no +( + $as_echo "77. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:953: + wsp -nocmd -nocmdsplit <<'EOT' +begin \$(words a b) end +EOT +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:953" +( $at_check_trace; + wsp -nocmd -nocmdsplit <<'EOT' +begin $(words a b) end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: begin +1: \"\$(words a b)\" +2: end +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:953" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_77 +#AT_START_78 +at_fn_group_banner 78 'wordsplit.at:962' \ + "positional parameters" " " +at_xfail=no +( + $as_echo "78. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:962: + wsp one two three four five six seven eight nine ten eleven twelve <<'EOT' +\$0 \$5 \${10} +\$# +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:962" +( $at_check_trace; + wsp one two three four five six seven eight nine ten eleven twelve <<'EOT' +$0 $5 ${10} +$# +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: one +1: six +2: eleven +TOTAL: 3 +NF: 1 +0: 12 +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:962" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_78 +#AT_START_79 +at_fn_group_banner 79 'wordsplit.at:975' \ + "\$* and \$@" " " +at_xfail=no +( + $as_echo "79. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:975: + wsp 'one two' three 'four five' <<'EOT' +\$* +\$@ +\"\$*\" +\"\$@\" +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:975" +( $at_check_trace; + wsp 'one two' three 'four five' <<'EOT' +$* +$@ +"$*" +"$@" +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 5 +0: one +1: two +2: three +3: four +4: five +TOTAL: 5 +NF: 3 +0: \"one two\" +1: three +2: \"four five\" +TOTAL: 3 +NF: 1 +0: \"one two three four five\" +TOTAL: 1 +NF: 1 +0: \"one two three four five\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:975" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_79 +#AT_START_80 +at_fn_group_banner 80 'wordsplit.at:1000' \ + "\$* and \$@ in nosplit mode" " " +at_xfail=no +( + $as_echo "80. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1000: + wsp -trimnl -nosplit 'one two' three 'four five' <<'EOT' +\$* +\$@ +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:1000" +( $at_check_trace; + wsp -trimnl -nosplit 'one two' three 'four five' <<'EOT' +$* +$@ +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"one two three four five\" +TOTAL: 1 +NF: 1 +0: \"one two three four five\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1000" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_80 +#AT_START_81 +at_fn_group_banner 81 'wordsplit.at:1012' \ + "\$* and \$@ in nosplit mode with delimiter" " " +at_xfail=no +( + $as_echo "81. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1012: + wsp -trimnl -nosplit -delim : 'one two' three 'four five' <<'EOT' +\$* +\$@ +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:1012" +( $at_check_trace; + wsp -trimnl -nosplit -delim : 'one two' three 'four five' <<'EOT' +$* +$@ +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"one two:three:four five\" +TOTAL: 1 +NF: 1 +0: \"one two:three:four five\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1012" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_81 +#AT_START_82 +at_fn_group_banner 82 'wordsplit.at:1026' \ + "namechar modification" " " +at_xfail=no +( + $as_echo "82. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1026: + wsp -namechar \".:\" -Dx.y=one -Dx:foo=bar <<'EOT' +one is \$x.y, foo is \$x:foo +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:1026" +( $at_check_trace; + wsp -namechar ".:" -Dx.y=one -Dx:foo=bar <<'EOT' +one is $x.y, foo is $x:foo +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 6 +0: one +1: is +2: one, +3: foo +4: is +5: bar +TOTAL: 6 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1026" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_82 +#AT_START_83 +at_fn_group_banner 83 'wordsplit.at:1040' \ + "default value" " " 1 +at_xfail=no +( + $as_echo "83. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1040: + wsp -namechar \":.\" <<'EOT' +\${x:foo:-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1040" +( $at_check_trace; + wsp -namechar ":." <<'EOT' +${x:foo:-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: bar +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1040" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_83 +#AT_START_84 +at_fn_group_banner 84 'wordsplit.at:1048' \ + "default value (defined)" " " 1 +at_xfail=no +( + $as_echo "84. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1048: + wsp -namechar \":.\" -Dx:foo=qux <<'EOT' +\${x:foo:-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1048" +( $at_check_trace; + wsp -namechar ":." -Dx:foo=qux <<'EOT' +${x:foo:-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: qux +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1048" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_84 +#AT_START_85 +at_fn_group_banner 85 'wordsplit.at:1057' \ + "default value (:- null)" " " 1 +at_xfail=no +( + $as_echo "85. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1057: + wsp -namechar \":.\" -Dx:foo= <<'EOT' +\${x:foo:-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1057" +( $at_check_trace; + wsp -namechar ":." -Dx:foo= <<'EOT' +${x:foo:-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: bar +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1057" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_85 +#AT_START_86 +at_fn_group_banner 86 'wordsplit.at:1066' \ + "default value (- null)" " " 1 +at_xfail=no +( + $as_echo "86. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1066: + wsp -namechar \":.\" -Dx:foo= <<'EOT' +\${x:foo-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1066" +( $at_check_trace; + wsp -namechar ":." -Dx:foo= <<'EOT' +${x:foo-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 0 +TOTAL: 0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1066" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_86 +#AT_START_87 +at_fn_group_banner 87 'wordsplit.at:1074' \ + "default value (- null, unset)" " " 1 +at_xfail=no +( + $as_echo "87. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1074: + wsp -namechar \":.\" <<'EOT' +\${x:foo-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1074" +( $at_check_trace; + wsp -namechar ":." <<'EOT' +${x:foo-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: bar +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1074" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_87 +#AT_START_88 +at_fn_group_banner 88 'wordsplit.at:1082' \ + "assign default values" " " 1 +at_xfail=no +( + $as_echo "88. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1082: + wsp -namechar \":.\" <<'EOT' +\${x:foo=bar} +\$x:foo +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1082" +( $at_check_trace; + wsp -namechar ":." <<'EOT' +${x:foo=bar} +$x:foo +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: bar +TOTAL: 1 +NF: 1 +0: bar +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1082" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_88 +#AT_START_89 +at_fn_group_banner 89 'wordsplit.at:1094' \ + "default error message (var defined)" " " 1 +at_xfail=no +( + $as_echo "89. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1094: + wsp -namechar \":.\" -Dx:foo=bar <<'EOT' +a \${x:foo:?} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1094" +( $at_check_trace; + wsp -namechar ":." -Dx:foo=bar <<'EOT' +a ${x:foo:?} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: bar +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1094" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_89 +#AT_START_90 +at_fn_group_banner 90 'wordsplit.at:1104' \ + "default error message" " " 1 +at_xfail=no +( + $as_echo "90. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1104: + wsp -namechar \":.\" <<'EOT' +\${x:foo:?} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1104" +( $at_check_trace; + wsp -namechar ":." <<'EOT' +${x:foo:?} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "x:foo: variable null or not set +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 0 +TOTAL: 0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1104" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_90 +#AT_START_91 +at_fn_group_banner 91 'wordsplit.at:1113' \ + "custom error message (defined)" " " 1 +at_xfail=no +( + $as_echo "91. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1113: + wsp -namechar \":.\" -Dx:foo=bar <<'EOT' +a \${x:foo:?please define it} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1113" +( $at_check_trace; + wsp -namechar ":." -Dx:foo=bar <<'EOT' +a ${x:foo:?please define it} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: bar +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1113" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_91 +#AT_START_92 +at_fn_group_banner 92 'wordsplit.at:1123' \ + "custom error message" " " 1 +at_xfail=no +( + $as_echo "92. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1123: + wsp -namechar \":.\" <<'EOT' +a \${x:foo:?please define it} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1123" +( $at_check_trace; + wsp -namechar ":." <<'EOT' +a ${x:foo:?please define it} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "x:foo: please define it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: a +1: test +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1123" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_92 +#AT_START_93 +at_fn_group_banner 93 'wordsplit.at:1134' \ + "alternate value (defined)" " " 1 +at_xfail=no +( + $as_echo "93. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1134: +FOO=bar wsp -namechar \":.\" -Dx:foo=bar <<'EOT' +a \${x:foo:+isset} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1134" +( $at_check_trace; +FOO=bar wsp -namechar ":." -Dx:foo=bar <<'EOT' +a ${x:foo:+isset} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: isset +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1134" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_93 +#AT_START_94 +at_fn_group_banner 94 'wordsplit.at:1146' \ + "alternate value" " " 1 +at_xfail=no +( + $as_echo "94. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1146: + wsp -namechar \":.\" <<'EOT' +a \${x:foo:+isset} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1146" +( $at_check_trace; + wsp -namechar ":." <<'EOT' +a ${x:foo:+isset} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: a +1: test +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1146" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_94 +#AT_START_95 +at_fn_group_banner 95 'wordsplit.at:58' \ + "simple input" " " 1 +at_xfail=no +( + $as_echo "95. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:58: + wsp <<'EOT' +1 2 3 +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:58" +( $at_check_trace; + wsp <<'EOT' +1 2 3 +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: 1 +1: 2 +2: 3 +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:58" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_95 +#AT_START_96 +at_fn_group_banner 96 'wordsplit.at:67' \ + "quoted space" " " 1 +at_xfail=no +( + $as_echo "96. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:67: + wsp <<'EOT' +quoted\\ space +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:67" +( $at_check_trace; + wsp <<'EOT' +quoted\ space +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"quoted space\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:67" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_96 +#AT_START_97 +at_fn_group_banner 97 'wordsplit.at:74' \ + "tab character" " " 1 +at_xfail=no +( + $as_echo "97. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:74: + wsp <<'EOT' +a \"tab character\" +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:74" +( $at_check_trace; + wsp <<'EOT' +a "tab character" +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: a +1: tab\\tcharacter +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:74" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_97 +#AT_START_98 +at_fn_group_banner 98 'wordsplit.at:83' \ + "octal and hex escapes" " " 1 +at_xfail=no +( + $as_echo "98. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:83: + wsp <<'EOT' +\\157\\143\\164\\141\\154\\40and\\x20\\x68\\x65\\x78 +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:83" +( $at_check_trace; + wsp <<'EOT' +\157\143\164\141\154\40and\x20\x68\x65\x78 +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"octal and hex\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:83" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_98 +#AT_START_99 +at_fn_group_banner 99 'wordsplit.at:90' \ + "octal and hex escapes 2" " " 1 +at_xfail=no +( + $as_echo "99. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:90: + wsp <<'EOT' +\\157\\143\\164\\141\\154\\40 and \\x20\\x68\\x65\\x78 +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:90" +( $at_check_trace; + wsp <<'EOT' +\157\143\164\141\154\40 and \x20\x68\x65\x78 +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: \"octal \" +1: and +2: \" hex\" +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:90" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_99 +#AT_START_100 +at_fn_group_banner 100 'wordsplit.at:99' \ + "escape representation" " " 1 +at_xfail=no +( + $as_echo "100. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:99: + wsp <<'EOT' +A\\x3-\\48\\39 +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:99" +( $at_check_trace; + wsp <<'EOT' +A\x3-\48\39 +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: A\\003-\\0048\\0039 +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:99" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_100 +#AT_START_101 +at_fn_group_banner 101 'wordsplit.at:111' \ + "append" " " 1 +at_xfail=no +( + $as_echo "101. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:111: + wsp -append <<'EOT' +jeden dwa trzy +cztery +piec szesc +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:111" +( $at_check_trace; + wsp -append <<'EOT' +jeden dwa trzy +cztery +piec szesc +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: jeden +1: dwa +2: trzy +TOTAL: 3 +NF: 4 +0: jeden +1: dwa +2: trzy +3: cztery +TOTAL: 1 +NF: 6 +0: jeden +1: dwa +2: trzy +3: cztery +4: piec +5: szesc +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:111" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_101 +#AT_START_102 +at_fn_group_banner 102 'wordsplit.at:136' \ + "dooffs" " " 1 +at_xfail=no +( + $as_echo "102. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:136: + wsp -dooffs jeden dwa trzy <<'EOT' +cztery piec +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:136" +( $at_check_trace; + wsp -dooffs jeden dwa trzy <<'EOT' +cztery piec +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 (3) +(0): jeden +(1): dwa +(2): trzy +3: cztery +4: piec +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:136" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_102 +#AT_START_103 +at_fn_group_banner 103 'wordsplit.at:149' \ + "variable substitutions: single var" " " 1 +at_xfail=no +( + $as_echo "103. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:149: +FOO=bar wsp <<'EOT' +a \$FOO test +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:149" +( $at_check_trace; +FOO=bar wsp <<'EOT' +a $FOO test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: bar +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:149" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_103 +#AT_START_104 +at_fn_group_banner 104 'wordsplit.at:160' \ + "variable substitutions: concatenated vars" " " 1 +at_xfail=no +( + $as_echo "104. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:160: +FOO=str BAR=ing wsp <<'EOT' +a \$FOO\${BAR}ent test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:160" +( $at_check_trace; +FOO=str BAR=ing wsp <<'EOT' +a $FOO${BAR}ent test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: stringent +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:160" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_104 +#AT_START_105 +at_fn_group_banner 105 'wordsplit.at:172' \ + "variable substitutions: field splitting" " " 1 +at_xfail=no +( + $as_echo "105. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:172: +FOO=\"variable substitution\" wsp <<'EOT' +a \$FOO test +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:172" +( $at_check_trace; +FOO="variable substitution" wsp <<'EOT' +a $FOO test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: a +1: variable +2: substitution +3: test +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:172" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_105 +#AT_START_106 +at_fn_group_banner 106 'wordsplit.at:184' \ + "variable substitutions: double-quoted variable" " " 1 +at_xfail=no +( + $as_echo "106. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:184: +FOO=\"variable substitution\" wsp <<'EOT' +a \"\$FOO\" test +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:184" +( $at_check_trace; +FOO="variable substitution" wsp <<'EOT' +a "$FOO" test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: \"variable substitution\" +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:184" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_106 +#AT_START_107 +at_fn_group_banner 107 'wordsplit.at:195' \ + "variable substitutions: single-quoted variable" " " 1 +at_xfail=no +( + $as_echo "107. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:195: +FOO=\"variable substitution\" wsp <<'EOT' +a '\$FOO' test +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:195" +( $at_check_trace; +FOO="variable substitution" wsp <<'EOT' +a '$FOO' test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: \$FOO +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:195" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_107 +#AT_START_108 +at_fn_group_banner 108 'wordsplit.at:206' \ + "undefined variables 1" " " 1 +at_xfail=no +( + $as_echo "108. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:206: +unset FOO; wsp <<'EOT' +a \$FOO test a\${FOO}b +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:206" +( $at_check_trace; +unset FOO; wsp <<'EOT' +a $FOO test a${FOO}b +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: test +2: ab +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:206" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_108 +#AT_START_109 +at_fn_group_banner 109 'wordsplit.at:217' \ + "undefined variables 2" " " 1 +at_xfail=no +( + $as_echo "109. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:217: +unset FOO; wsp -keepundef <<'EOT' +a \$FOO test a\${FOO}b +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:217" +( $at_check_trace; +unset FOO; wsp -keepundef <<'EOT' +a $FOO test a${FOO}b +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: a +1: \$FOO +2: test +3: a\${FOO}b +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:217" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_109 +#AT_START_110 +at_fn_group_banner 110 'wordsplit.at:229' \ + "warn about undefined variables" " " 1 +at_xfail=no +( + $as_echo "110. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:229: +unset FOO; wsp -warnundef <<'EOT' +\$FOO +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:229" +( $at_check_trace; +unset FOO; wsp -warnundef <<'EOT' +$FOO +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "warning: undefined variable \`FOO' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 0 +TOTAL: 0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:229" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_110 +#AT_START_111 +at_fn_group_banner 111 'wordsplit.at:238' \ + "bail out on undefined variables" " " 1 +at_xfail=no +( + $as_echo "111. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:238: +unset FOO; wsp -undef <<'EOT' +\$FOO +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:238" +( $at_check_trace; +unset FOO; wsp -undef <<'EOT' +$FOO +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "undefined variable: FOO +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:238" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_111 +#AT_START_112 +at_fn_group_banner 112 'wordsplit.at:245' \ + "disable variable expansion" " " 1 +at_xfail=no +( + $as_echo "112. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:245: +FOO=bar wsp -novar <<'EOT' +\$FOO +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:245" +( $at_check_trace; +FOO=bar wsp -novar <<'EOT' +$FOO +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \$FOO +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:245" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_112 +#AT_START_113 +at_fn_group_banner 113 'wordsplit.at:254' \ + "K/V environment" " " 1 +at_xfail=no +( + $as_echo "113. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:254: +FOO=bar BAZ=qux wsp -env_kv <<'EOT' +\$FOO a\$BAZ +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:254" +( $at_check_trace; +FOO=bar BAZ=qux wsp -env_kv <<'EOT' +$FOO a$BAZ +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: bar +1: aqux +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:254" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_113 +#AT_START_114 +at_fn_group_banner 114 'wordsplit.at:265' \ + "nosplit with variable expansion" " " 1 +at_xfail=no +( + $as_echo "114. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:265: +FOO=\"variable expansion\" wsp -nosplit <<'EOT' +a \$FOO test +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:265" +( $at_check_trace; +FOO="variable expansion" wsp -nosplit <<'EOT' +a $FOO test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"a variable expansion test\\n\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:265" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_114 +#AT_START_115 +at_fn_group_banner 115 'wordsplit.at:274' \ + "nosplit without variable expansion" " " 1 +at_xfail=no +( + $as_echo "115. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:274: +FOO=\"variable expansion\" wsp -nosplit -novar <<'EOT' +a \$FOO test +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:274" +( $at_check_trace; +FOO="variable expansion" wsp -nosplit -novar <<'EOT' +a $FOO test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"a \$FOO test\\n\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:274" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_115 +#AT_START_116 +at_fn_group_banner 116 'wordsplit.at:283' \ + "nosplit: empty expansion" " " 1 +at_xfail=no +( + $as_echo "116. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:283: +FOO=\"\" wsp -nosplit -trimnl <<'EOT' +\$FOO +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:283" +( $at_check_trace; +FOO="" wsp -nosplit -trimnl <<'EOT' +$FOO +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:283" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_116 +#AT_START_117 +at_fn_group_banner 117 'wordsplit.at:292' \ + "default value" " " 1 +at_xfail=no +( + $as_echo "117. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:292: + wsp <<'EOT' +\${FOO:-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:292" +( $at_check_trace; + wsp <<'EOT' +${FOO:-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: bar +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:292" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_117 +#AT_START_118 +at_fn_group_banner 118 'wordsplit.at:299' \ + "default value (defined)" " " 1 +at_xfail=no +( + $as_echo "118. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:299: +FOO=qux wsp <<'EOT' +\${FOO:-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:299" +( $at_check_trace; +FOO=qux wsp <<'EOT' +${FOO:-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: qux +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:299" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_118 +#AT_START_119 +at_fn_group_banner 119 'wordsplit.at:308' \ + "default value (:- null)" " " 1 +at_xfail=no +( + $as_echo "119. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:308: +FOO= wsp <<'EOT' +\${FOO:-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:308" +( $at_check_trace; +FOO= wsp <<'EOT' +${FOO:-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: bar +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:308" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_119 +#AT_START_120 +at_fn_group_banner 120 'wordsplit.at:317' \ + "default value (- null)" " " 1 +at_xfail=no +( + $as_echo "120. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:317: +FOO= wsp <<'EOT' +\${FOO-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:317" +( $at_check_trace; +FOO= wsp <<'EOT' +${FOO-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 0 +TOTAL: 0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:317" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_120 +#AT_START_121 +at_fn_group_banner 121 'wordsplit.at:325' \ + "default value (- null, unset)" " " 1 +at_xfail=no +( + $as_echo "121. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:325: + wsp <<'EOT' +\${FOO-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:325" +( $at_check_trace; + wsp <<'EOT' +${FOO-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: bar +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:325" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_121 +#AT_START_122 +at_fn_group_banner 122 'wordsplit.at:332' \ + "assign default values" " " 1 +at_xfail=no +( + $as_echo "122. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:332: + wsp <<'EOT' +\${FOO=bar} +\$FOO +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:332" +( $at_check_trace; + wsp <<'EOT' +${FOO=bar} +$FOO +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: bar +TOTAL: 1 +NF: 1 +0: bar +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:332" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_122 +#AT_START_123 +at_fn_group_banner 123 'wordsplit.at:343' \ + "default error message (var defined)" " " 1 +at_xfail=no +( + $as_echo "123. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:343: +FOO=bar wsp <<'EOT' +a \${FOO:?} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:343" +( $at_check_trace; +FOO=bar wsp <<'EOT' +a ${FOO:?} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: bar +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:343" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_123 +#AT_START_124 +at_fn_group_banner 124 'wordsplit.at:354' \ + "default error message" " " 1 +at_xfail=no +( + $as_echo "124. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:354: + wsp <<'EOT' +\${FOO:?} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:354" +( $at_check_trace; + wsp <<'EOT' +${FOO:?} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "FOO: variable null or not set +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 0 +TOTAL: 0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:354" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_124 +#AT_START_125 +at_fn_group_banner 125 'wordsplit.at:362' \ + "custom error message (defined)" " " 1 +at_xfail=no +( + $as_echo "125. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:362: +FOO=bar wsp <<'EOT' +a \${FOO:?please define it} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:362" +( $at_check_trace; +FOO=bar wsp <<'EOT' +a ${FOO:?please define it} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: bar +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:362" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_125 +#AT_START_126 +at_fn_group_banner 126 'wordsplit.at:373' \ + "custom error message" " " 1 +at_xfail=no +( + $as_echo "126. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:373: + wsp <<'EOT' +a \${FOO:?please define it} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:373" +( $at_check_trace; + wsp <<'EOT' +a ${FOO:?please define it} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "FOO: please define it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: a +1: test +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:373" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_126 +#AT_START_127 +at_fn_group_banner 127 'wordsplit.at:383' \ + "alternate value (defined)" " " 1 +at_xfail=no +( + $as_echo "127. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:383: +FOO=bar wsp <<'EOT' +a \${FOO:+isset} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:383" +( $at_check_trace; +FOO=bar wsp <<'EOT' +a ${FOO:+isset} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: isset +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:383" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_127 +#AT_START_128 +at_fn_group_banner 128 'wordsplit.at:394' \ + "alternate value" " " 1 +at_xfail=no +( + $as_echo "128. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:394: +unset FOO; wsp <<'EOT' +a \${FOO:+isset} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:394" +( $at_check_trace; +unset FOO; wsp <<'EOT' +a ${FOO:+isset} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: a +1: test +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:394" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_128 +#AT_START_129 +at_fn_group_banner 129 'wordsplit.at:404' \ + "getvar" " " 1 +at_xfail=no +( + $as_echo "129. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:404: unset foo; unset x + wsp foo=bar x=quux <<'EOT' +begin \$foo \$x end +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:404" +( $at_check_trace; unset foo; unset x + wsp foo=bar x=quux <<'EOT' +begin $foo $x end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: begin +1: bar +2: quux +3: end +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:404" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_129 +#AT_START_130 +at_fn_group_banner 130 'wordsplit.at:418' \ + "getvar and env" " " 1 +at_xfail=no +( + $as_echo "130. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:418: unset foo; unset x +TVAR=12 y=zwar wsp foo=bar x=quux y=xur <<'EOT' +begin \$foo \$TVAR \$x \$y end +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:418" +( $at_check_trace; unset foo; unset x +TVAR=12 y=zwar wsp foo=bar x=quux y=xur <<'EOT' +begin $foo $TVAR $x $y end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 6 +0: begin +1: bar +2: 12 +3: quux +4: zwar +5: end +TOTAL: 6 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:418" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_130 +#AT_START_131 +at_fn_group_banner 131 'wordsplit.at:434' \ + "getvar, alternate value" " " 1 +at_xfail=no +( + $as_echo "131. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:434: + wsp foo=bar <<'EOT' +a \${foo:+isset} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:434" +( $at_check_trace; + wsp foo=bar <<'EOT' +a ${foo:+isset} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: a +1: isset +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:434" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_131 +#AT_START_132 +at_fn_group_banner 132 'wordsplit.at:445' \ + "ignore quotes" " " 1 +at_xfail=no +( + $as_echo "132. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:445: + wsp -noquote <<'EOT' +\"a text\" +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:445" +( $at_check_trace; + wsp -noquote <<'EOT' +"a text" +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: \"\\\"a\" +1: \"text\\\"\" +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:445" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_132 +#AT_START_133 +at_fn_group_banner 133 'wordsplit.at:455' \ + "custom delimiters (squeeze)" " " 1 +at_xfail=no +( + $as_echo "133. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:455: + wsp -delim : -nows -trimnl <<'EOT' +semicolon: separated::list: of :words +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:455" +( $at_check_trace; + wsp -delim : -nows -trimnl <<'EOT' +semicolon: separated::list: of :words +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 5 +0: semicolon +1: \" separated\" +2: list +3: \" of \" +4: words +TOTAL: 5 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:455" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_133 +#AT_START_134 +at_fn_group_banner 134 'wordsplit.at:467' \ + "custom delimiters (no squeeze)" " " 1 +at_xfail=no +( + $as_echo "134. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:467: + wsp -delim : -nows -nosqueeze_delims -trimnl <<'EOT' +semicolon: separated::list: of :words +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:467" +( $at_check_trace; + wsp -delim : -nows -nosqueeze_delims -trimnl <<'EOT' +semicolon: separated::list: of :words +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 6 +0: semicolon +1: \" separated\" +2: \"\" +3: list +4: \" of \" +5: words +TOTAL: 6 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:467" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_134 +#AT_START_135 +at_fn_group_banner 135 'wordsplit.at:480' \ + "custom, with returned delimiters" " " 1 +at_xfail=no +( + $as_echo "135. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:480: + wsp -delim : -nows -trimnl -return_delims <<'EOT' +semicolon: separated::list: of :words +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:480" +( $at_check_trace; + wsp -delim : -nows -trimnl -return_delims <<'EOT' +semicolon: separated::list: of :words +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 9 +0: semicolon +1: : +2: \" separated\" +3: : +4: list +5: : +6: \" of \" +7: : +8: words +TOTAL: 9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:480" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_135 +#AT_START_136 +at_fn_group_banner 136 'wordsplit.at:496' \ + "custom, with returned & squeezed delimiters" " " 1 +at_xfail=no +( + $as_echo "136. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:496: + wsp -delim : -nows -trimnl -return_delims -nosqueeze_delims <<'EOT' +semicolon: separated::list: of :words +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:496" +( $at_check_trace; + wsp -delim : -nows -trimnl -return_delims -nosqueeze_delims <<'EOT' +semicolon: separated::list: of :words +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 10 +0: semicolon +1: : +2: \" separated\" +3: : +4: : +5: list +6: : +7: \" of \" +8: : +9: words +TOTAL: 10 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:496" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_136 +#AT_START_137 +at_fn_group_banner 137 'wordsplit.at:515' \ + "sed expressions" " " 1 +at_xfail=no +( + $as_echo "137. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:515: + wsp -sed <<'EOT' +arg1 s/foo/bar/g;s/bar baz/quz quux/ arg2 +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:515" +( $at_check_trace; + wsp -sed <<'EOT' +arg1 s/foo/bar/g;s/bar baz/quz quux/ arg2 +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: arg1 +1: \"s/foo/bar/g;s/bar baz/quz quux/\" +2: arg2 +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:515" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_137 +#AT_START_138 +at_fn_group_banner 138 'wordsplit.at:526' \ + "C escapes on" " " 1 +at_xfail=no +( + $as_echo "138. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:526: + wsp -cescapes <<'EOT' +a\\ttab form\\ffeed and new\\nline +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:526" +( $at_check_trace; + wsp -cescapes <<'EOT' +a\ttab form\ffeed and new\nline +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: a\\ttab +1: form\\ffeed +2: and +3: new\\nline +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:526" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_138 +#AT_START_139 +at_fn_group_banner 139 'wordsplit.at:536' \ + "C escapes off" " " 1 +at_xfail=no +( + $as_echo "139. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:536: + wsp -nocescapes <<'EOT' +a\\ttab form\\ffeed and new\\nline +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:536" +( $at_check_trace; + wsp -nocescapes <<'EOT' +a\ttab form\ffeed and new\nline +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: attab +1: formffeed +2: and +3: newnline +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:536" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_139 +#AT_START_140 +at_fn_group_banner 140 'wordsplit.at:546' \ + "ws elimination" " " 1 +at_xfail=no +( + $as_echo "140. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:546: + wsp -delim ' ()' -ws -return_delims <<'EOT' +( list items ) +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:546" +( $at_check_trace; + wsp -delim ' ()' -ws -return_delims <<'EOT' +( list items ) +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: ( +1: list +2: items +3: ) +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:546" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_140 +#AT_START_141 +at_fn_group_banner 141 'wordsplit.at:556' \ + "ws elimination + return delim" " " 1 +at_xfail=no +( + $as_echo "141. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:556: + wsp -nodefault -novar -nocmd -delim \":,\" -return_delims -ws -dquote <<'EOT' +\"foo\" : \"bar\", \"quux\" : \"baaz\" +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:556" +( $at_check_trace; + wsp -nodefault -novar -nocmd -delim ":," -return_delims -ws -dquote <<'EOT' +"foo" : "bar", "quux" : "baaz" +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 7 +0: foo +1: : +2: bar +3: , +4: quux +5: : +6: baaz +TOTAL: 7 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:556" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_141 +#AT_START_142 +at_fn_group_banner 142 'wordsplit.at:570' \ + "empty quotes" " " 1 +at_xfail=no +( + $as_echo "142. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:570: + wsp -delim : -ws -return_delims <<'EOT' +t=\"\" +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:570" +( $at_check_trace; + wsp -delim : -ws -return_delims <<'EOT' +t="" +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: t= +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:570" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_142 +#AT_START_143 +at_fn_group_banner 143 'wordsplit.at:577' \ + "delimiter following empty quotes" " " 1 +at_xfail=no +( + $as_echo "143. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:577: + wsp -delim : -ws -return_delims <<'EOT' +t=\"\":r +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:577" +( $at_check_trace; + wsp -delim : -ws -return_delims <<'EOT' +t="":r +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: t= +1: : +2: r +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:577" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_143 +#AT_START_144 +at_fn_group_banner 144 'wordsplit.at:587' \ + "suppress ws trimming within quotes" " " 1 +at_xfail=no +( + $as_echo "144. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:587: + wsp -default -delim , -ws -return_delims <<'EOT' +nocomponent,nonewline, formatfield=\"In message %{text}, \" +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:587" +( $at_check_trace; + wsp -default -delim , -ws -return_delims <<'EOT' +nocomponent,nonewline, formatfield="In message %{text}, " +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 5 +0: nocomponent +1: , +2: nonewline +3: , +4: \"formatfield=In message %{text}, \" +TOTAL: 5 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:587" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_144 +#AT_START_145 +at_fn_group_banner 145 'wordsplit.at:600' \ + "unescape" " " 1 +at_xfail=no +( + $as_echo "145. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:600: + wsp -nodefault -novar -nocmd -quote -escape ':+:\\\\\"\"' <<'EOT' +\\Seen \"quote \\\"\" \"bs \\\\\" +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:600" +( $at_check_trace; + wsp -nodefault -novar -nocmd -quote -escape ':+:\\""' <<'EOT' +\Seen "quote \"" "bs \\" +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: \\\\Seen +1: \"quote \\\"\" +2: \"bs \\\\\" +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:600" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_145 +#AT_START_146 +at_fn_group_banner 146 'wordsplit.at:611' \ + "unescape: word/quote" " " 1 +at_xfail=no +( + $as_echo "146. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:611: + wsp -nodefault -novar -nocmd -quote -escape-word '\\\\\"\"' -escape-quote ':+0x:\\\\\"\"' <<'EOT' +\\Seen \"quote \\\"\" \"bs \\\\\" \"3\\x31 \\101\" 3\\x31 \\101 +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:611" +( $at_check_trace; + wsp -nodefault -novar -nocmd -quote -escape-word '\\""' -escape-quote ':+0x:\\""' <<'EOT' +\Seen "quote \"" "bs \\" "3\x31 \101" 3\x31 \101 +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 6 +0: Seen +1: \"quote \\\"\" +2: \"bs \\\\\" +3: \"31 A\" +4: 3x31 +5: 101 +TOTAL: 6 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:611" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_146 +#AT_START_147 +at_fn_group_banner 147 'wordsplit.at:625' \ + "dquote" " " 1 +at_xfail=no +( + $as_echo "147. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:625: + wsp -nodefault -novar -nocmd -dquote <<'EOT' +a \"quoted example\" isn't it +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:625" +( $at_check_trace; + wsp -nodefault -novar -nocmd -dquote <<'EOT' +a "quoted example" isn't it +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: a +1: \"quoted example\" +2: isn't +3: it +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:625" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_147 +#AT_START_148 +at_fn_group_banner 148 'wordsplit.at:635' \ + "squote" " " 1 +at_xfail=no +( + $as_echo "148. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:635: + wsp -nodefault -novar -nocmd -squote <<'EOT' +a 'quoted example' isn\"t it +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:635" +( $at_check_trace; + wsp -nodefault -novar -nocmd -squote <<'EOT' +a 'quoted example' isn"t it +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: a +1: \"quoted example\" +2: \"isn\\\"t\" +3: it +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:635" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_148 +#AT_START_149 +at_fn_group_banner 149 'wordsplit.at:647' \ + "incremental" " " 1 +at_xfail=no +( + $as_echo "149. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:647: + wsp -incremental <<'EOT' +incremental \"input test\" line + + + +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:647" +( $at_check_trace; + wsp -incremental <<'EOT' +incremental "input test" line + + + +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "input exhausted +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: incremental +TOTAL: 1 +NF: 1 +0: \"input test\" +TOTAL: 2 +NF: 1 +0: line +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:647" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_149 +#AT_START_150 +at_fn_group_banner 150 'wordsplit.at:665' \ + "incremental append" " " 1 +at_xfail=no +( + $as_echo "150. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:665: + wsp -incremental -append <<'EOT' +incremental \"input test\" line + + + +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:665" +( $at_check_trace; + wsp -incremental -append <<'EOT' +incremental "input test" line + + + +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "input exhausted +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: incremental +TOTAL: 1 +NF: 2 +0: incremental +1: \"input test\" +TOTAL: 2 +NF: 3 +0: incremental +1: \"input test\" +2: line +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:665" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_150 +#AT_START_151 +at_fn_group_banner 151 'wordsplit.at:686' \ + "incremental ws" " " 1 +at_xfail=no +( + $as_echo "151. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:686: + wsp -return_delims -nosqueeze_delims -incremental -ws <<'EOT' +a list test + + + +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:686" +( $at_check_trace; + wsp -return_delims -nosqueeze_delims -incremental -ws <<'EOT' +a list test + + + +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "input exhausted +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: a +TOTAL: 1 +NF: 1 +0: list +TOTAL: 2 +NF: 1 +0: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:686" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_151 +#AT_START_152 +at_fn_group_banner 152 'wordsplit.at:705' \ + "incremental nosplit" " " 1 +at_xfail=no +( + $as_echo "152. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:705: + wsp -incremental -nosplit <<'EOT' +incremental \"input test\" line + +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:705" +( $at_check_trace; + wsp -incremental -nosplit <<'EOT' +incremental "input test" line + +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "input exhausted +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"incremental input test line\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:705" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_152 +#AT_START_153 +at_fn_group_banner 153 'wordsplit.at:715' \ + "simple command substitution" " " 1 +at_xfail=no +( + $as_echo "153. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:715: + wsp -cmd <<'EOT' +begin \$(words a b) end +EOT +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:715" +( $at_check_trace; + wsp -cmd <<'EOT' +begin $(words a b) end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: begin +1: a +2: b +3: end +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:715" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_153 +#AT_START_154 +at_fn_group_banner 154 'wordsplit.at:725' \ + "quoted command substitution" " " 1 +at_xfail=no +( + $as_echo "154. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:725: + wsp -cmd <<'EOT' +begin \"\$(words a b)\" end +EOT +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:725" +( $at_check_trace; + wsp -cmd <<'EOT' +begin "$(words a b)" end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: begin +1: \"a b\" +2: end +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:725" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_154 +#AT_START_155 +at_fn_group_banner 155 'wordsplit.at:734' \ + "coalesced command substitution" " " 1 +at_xfail=no +( + $as_echo "155. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:734: + wsp -cmd <<'EOT' +begin(\$(words a b))end +EOT +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:734" +( $at_check_trace; + wsp -cmd <<'EOT' +begin($(words a b))end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: begin(a +1: b)end +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:734" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_155 +#AT_START_156 +at_fn_group_banner 156 'wordsplit.at:742' \ + "quoted coalesced command substitution" " " 1 +at_xfail=no +( + $as_echo "156. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:742: + wsp -cmd <<'EOT' +\"begin(\$(words a b))end\" +EOT +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:742" +( $at_check_trace; + wsp -cmd <<'EOT' +"begin($(words a b))end" +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"begin(a b)end\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:742" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_156 +#AT_START_157 +at_fn_group_banner 157 'wordsplit.at:749' \ + "variable and command substitution" " " 1 +at_xfail=no +( + $as_echo "157. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:749: +X=a Y=b wsp -cmd -var <<'EOT' +begin \$X \$(words \$X \$Y) end +EOT +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:749" +( $at_check_trace; +X=a Y=b wsp -cmd -var <<'EOT' +begin $X $(words $X $Y) end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 5 +0: begin +1: a +2: a +3: b +4: end +TOTAL: 5 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:749" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_157 +#AT_START_158 +at_fn_group_banner 158 'wordsplit.at:760' \ + "variable expansion and command substitution in quotes" "" 1 +at_xfail=no +( + $as_echo "158. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:760: +X=a Y=b BEGIN=begin wsp -cmd -var <<'EOT' +\"\${BEGIN}(\$(words \$X \$Y))end\" +EOT +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:760" +( $at_check_trace; +X=a Y=b BEGIN=begin wsp -cmd -var <<'EOT' +"${BEGIN}($(words $X $Y))end" +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"begin(a b)end\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:760" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_158 +#AT_START_159 +at_fn_group_banner 159 'wordsplit.at:767' \ + "nested commands" " " 1 +at_xfail=no +( + $as_echo "159. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:767: +SUFFIX=put wsp -cmd -var <<'EOT' +\$(words output \$(words in\$SUFFIX text) end) +EOT +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:767" +( $at_check_trace; +SUFFIX=put wsp -cmd -var <<'EOT' +$(words output $(words in$SUFFIX text) end) +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: output +1: input +2: text +3: end +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:767" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_159 +#AT_START_160 +at_fn_group_banner 160 'wordsplit.at:778' \ + "pathname expansion" " " 1 +at_xfail=no +( + $as_echo "160. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:780: +mkdir dir +> dir/1.c +> dir/2.c +> dir/3.b + +wsp -pathexpand<<'EOT' +begin dir/*.c end +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:780" +( $at_check_trace; +mkdir dir +> dir/1.c +> dir/2.c +> dir/3.b + +wsp -pathexpand<<'EOT' +begin dir/*.c end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 4 +0: begin +1: dir/1.c +2: dir/2.c +3: end +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:780" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_160 +#AT_START_161 +at_fn_group_banner 161 'wordsplit.at:800' \ + "pathname expansion: no match" " " 1 +at_xfail=no +( + $as_echo "161. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:802: +mkdir dir +> dir/1.c +> dir/2.b + +wsp -pathexpand<<'EOT' +begin dir/*.d end +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:802" +( $at_check_trace; +mkdir dir +> dir/1.c +> dir/2.b + +wsp -pathexpand<<'EOT' +begin dir/*.d end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: begin +1: dir/*.d +2: end +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:802" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_161 +#AT_START_162 +at_fn_group_banner 162 'wordsplit.at:820' \ + "pathname expansion: nullglob" " " 1 +at_xfail=no +( + $as_echo "162. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:822: +mkdir dir +> dir/1.c +> dir/2.b + +wsp -pathexpand -nullglob<<'EOT' +begin dir/*.d end +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:822" +( $at_check_trace; +mkdir dir +> dir/1.c +> dir/2.b + +wsp -pathexpand -nullglob<<'EOT' +begin dir/*.d end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: begin +1: end +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:822" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_162 +#AT_START_163 +at_fn_group_banner 163 'wordsplit.at:839' \ + "pathname expansion: failglob" " " 1 +at_xfail=no +( + $as_echo "163. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:841: +mkdir dir +> dir/1.c +> dir/2.b + +wsp -pathexpand -failglob<<'EOT' +begin dir/*.d end +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:841" +( $at_check_trace; +mkdir dir +> dir/1.c +> dir/2.b + +wsp -pathexpand -failglob<<'EOT' +begin dir/*.d end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "no files match pattern dir/*.d +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_fn_diff_devnull "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:841" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_163 +#AT_START_164 +at_fn_group_banner 164 'wordsplit.at:856' \ + "append" " " 1 +at_xfail=no +( + $as_echo "164. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:856: + wsp -append-args extra arguments follow <<'EOT' +some words and +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:856" +( $at_check_trace; + wsp -append-args extra arguments follow <<'EOT' +some words and +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 6 +0: some +1: words +2: and +3: extra +4: arguments +5: follow +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:856" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_164 +#AT_START_165 +at_fn_group_banner 165 'wordsplit.at:868' \ + "append + dooffs + env" " " 1 +at_xfail=no +( + $as_echo "165. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:868: + wsp -env none -dooffs preface words -- V=2 -append-args extra arguments follow <<'EOT' +some words and var=\$V +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:868" +( $at_check_trace; + wsp -env none -dooffs preface words -- V=2 -append-args extra arguments follow <<'EOT' +some words and var=$V +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 7 (2) +(0): preface +(1): words +2: some +3: words +4: and +5: var=2 +6: extra +7: arguments +8: follow +TOTAL: 4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:868" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_165 +#AT_START_166 +at_fn_group_banner 166 'wordsplit.at:885' \ + "maxwords" " " 1 +at_xfail=no +( + $as_echo "166. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:885: + wsp -trimnl -maxwords 3 <<'EOT' +ws_maxwords limits the number of returned words +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:885" +( $at_check_trace; + wsp -trimnl -maxwords 3 <<'EOT' +ws_maxwords limits the number of returned words +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: ws_maxwords +1: limits +2: \"the number of returned words\" +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:885" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_166 +#AT_START_167 +at_fn_group_banner 167 'wordsplit.at:895' \ + "maxwords return_delims" " " 1 +at_xfail=no +( + $as_echo "167. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:895: + wsp -trimnl -maxwords 8 -return_delims -delim :- <<'EOT' +foo:::bar-:baz-quux:ux:zu +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:895" +( $at_check_trace; + wsp -trimnl -maxwords 8 -return_delims -delim :- <<'EOT' +foo:::bar-:baz-quux:ux:zu +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 8 +0: foo +1: : +2: bar +3: - +4: : +5: baz +6: - +7: quux:ux:zu +TOTAL: 8 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:895" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_167 +#AT_START_168 +at_fn_group_banner 168 'wordsplit.at:910' \ + "maxwords return_delims -squeeze_delims" " " 1 +at_xfail=no +( + $as_echo "168. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:910: + wsp -trimnl -maxwords 8 -return_delims -nosqueeze_delims -delim :- <<'EOT' +foo:::bar-:baz:qux- +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:910" +( $at_check_trace; + wsp -trimnl -maxwords 8 -return_delims -nosqueeze_delims -delim :- <<'EOT' +foo:::bar-:baz:qux- +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 8 +0: foo +1: : +2: : +3: : +4: bar +5: - +6: : +7: baz:qux- +TOTAL: 8 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:910" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_168 +#AT_START_169 +at_fn_group_banner 169 'wordsplit.at:925' \ + "maxwords incremental" " " 1 +at_xfail=no +( + $as_echo "169. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:925: + wsp -trimnl -maxwords 3 -incremental <<'EOT' +foo bar baz qux uz + + + +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:925" +( $at_check_trace; + wsp -trimnl -maxwords 3 -incremental <<'EOT' +foo bar baz qux uz + + + +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "input exhausted +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: foo +TOTAL: 1 +NF: 1 +0: bar +TOTAL: 2 +NF: 1 +0: \"baz qux uz\" +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:925" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_169 +#AT_START_170 +at_fn_group_banner 170 'wordsplit.at:944' \ + "variable nosplit" " " 1 +at_xfail=no +( + $as_echo "170. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:944: + wsp -novar -novarsplit <<'EOT' +begin \${VAR:- a b} end +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:944" +( $at_check_trace; + wsp -novar -novarsplit <<'EOT' +begin ${VAR:- a b} end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: begin +1: \"\${VAR:- a b}\" +2: end +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:944" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_170 +#AT_START_171 +at_fn_group_banner 171 'wordsplit.at:953' \ + "command nosplit" " " 1 +at_xfail=no +( + $as_echo "171. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:953: + wsp -nocmd -nocmdsplit <<'EOT' +begin \$(words a b) end +EOT +" +at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:953" +( $at_check_trace; + wsp -nocmd -nocmdsplit <<'EOT' +begin $(words a b) end +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: begin +1: \"\$(words a b)\" +2: end +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:953" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_171 +#AT_START_172 +at_fn_group_banner 172 'wordsplit.at:962' \ + "positional parameters" " " 1 +at_xfail=no +( + $as_echo "172. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:962: + wsp one two three four five six seven eight nine ten eleven twelve <<'EOT' +\$0 \$5 \${10} +\$# +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:962" +( $at_check_trace; + wsp one two three four five six seven eight nine ten eleven twelve <<'EOT' +$0 $5 ${10} +$# +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: one +1: six +2: eleven +TOTAL: 3 +NF: 1 +0: 12 +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:962" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_172 +#AT_START_173 +at_fn_group_banner 173 'wordsplit.at:975' \ + "\$* and \$@" " " 1 +at_xfail=no +( + $as_echo "173. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:975: + wsp 'one two' three 'four five' <<'EOT' +\$* +\$@ +\"\$*\" +\"\$@\" +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:975" +( $at_check_trace; + wsp 'one two' three 'four five' <<'EOT' +$* +$@ +"$*" +"$@" +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 5 +0: one +1: two +2: three +3: four +4: five +TOTAL: 5 +NF: 3 +0: \"one two\" +1: three +2: \"four five\" +TOTAL: 3 +NF: 1 +0: \"one two three four five\" +TOTAL: 1 +NF: 1 +0: \"one two three four five\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:975" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_173 +#AT_START_174 +at_fn_group_banner 174 'wordsplit.at:1000' \ + "\$* and \$@ in nosplit mode" " " 1 +at_xfail=no +( + $as_echo "174. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1000: + wsp -trimnl -nosplit 'one two' three 'four five' <<'EOT' +\$* +\$@ +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:1000" +( $at_check_trace; + wsp -trimnl -nosplit 'one two' three 'four five' <<'EOT' +$* +$@ +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"one two three four five\" +TOTAL: 1 +NF: 1 +0: \"one two three four five\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1000" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_174 +#AT_START_175 +at_fn_group_banner 175 'wordsplit.at:1012' \ + "\$* and \$@ in nosplit mode with delimiter" " " 1 +at_xfail=no +( + $as_echo "175. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1012: + wsp -trimnl -nosplit -delim : 'one two' three 'four five' <<'EOT' +\$* +\$@ +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:1012" +( $at_check_trace; + wsp -trimnl -nosplit -delim : 'one two' three 'four five' <<'EOT' +$* +$@ +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: \"one two:three:four five\" +TOTAL: 1 +NF: 1 +0: \"one two:three:four five\" +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1012" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_175 +#AT_START_176 +at_fn_group_banner 176 'wordsplit.at:1026' \ + "namechar modification" " " 1 +at_xfail=no +( + $as_echo "176. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1026: + wsp -namechar \".:\" -Dx.y=one -Dx:foo=bar <<'EOT' +one is \$x.y, foo is \$x:foo +EOT +" +at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:1026" +( $at_check_trace; + wsp -namechar ".:" -Dx.y=one -Dx:foo=bar <<'EOT' +one is $x.y, foo is $x:foo +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 6 +0: one +1: is +2: one, +3: foo +4: is +5: bar +TOTAL: 6 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1026" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_176 +#AT_START_177 +at_fn_group_banner 177 'wordsplit.at:1040' \ + "default value" " " 2 +at_xfail=no +( + $as_echo "177. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1040: + wsp -namechar \":.\" <<'EOT' +\${x:foo:-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1040" +( $at_check_trace; + wsp -namechar ":." <<'EOT' +${x:foo:-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: bar +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1040" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_177 +#AT_START_178 +at_fn_group_banner 178 'wordsplit.at:1048' \ + "default value (defined)" " " 2 +at_xfail=no +( + $as_echo "178. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1048: + wsp -namechar \":.\" -Dx:foo=qux <<'EOT' +\${x:foo:-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1048" +( $at_check_trace; + wsp -namechar ":." -Dx:foo=qux <<'EOT' +${x:foo:-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: qux +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1048" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_178 +#AT_START_179 +at_fn_group_banner 179 'wordsplit.at:1057' \ + "default value (:- null)" " " 2 +at_xfail=no +( + $as_echo "179. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1057: + wsp -namechar \":.\" -Dx:foo= <<'EOT' +\${x:foo:-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1057" +( $at_check_trace; + wsp -namechar ":." -Dx:foo= <<'EOT' +${x:foo:-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: bar +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1057" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_179 +#AT_START_180 +at_fn_group_banner 180 'wordsplit.at:1066' \ + "default value (- null)" " " 2 +at_xfail=no +( + $as_echo "180. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1066: + wsp -namechar \":.\" -Dx:foo= <<'EOT' +\${x:foo-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1066" +( $at_check_trace; + wsp -namechar ":." -Dx:foo= <<'EOT' +${x:foo-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 0 +TOTAL: 0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1066" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_180 +#AT_START_181 +at_fn_group_banner 181 'wordsplit.at:1074' \ + "default value (- null, unset)" " " 2 +at_xfail=no +( + $as_echo "181. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1074: + wsp -namechar \":.\" <<'EOT' +\${x:foo-bar} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1074" +( $at_check_trace; + wsp -namechar ":." <<'EOT' +${x:foo-bar} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: bar +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1074" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_181 +#AT_START_182 +at_fn_group_banner 182 'wordsplit.at:1082' \ + "assign default values" " " 2 +at_xfail=no +( + $as_echo "182. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1082: + wsp -namechar \":.\" <<'EOT' +\${x:foo=bar} +\$x:foo +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1082" +( $at_check_trace; + wsp -namechar ":." <<'EOT' +${x:foo=bar} +$x:foo +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 1 +0: bar +TOTAL: 1 +NF: 1 +0: bar +TOTAL: 1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1082" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_182 +#AT_START_183 +at_fn_group_banner 183 'wordsplit.at:1094' \ + "default error message (var defined)" " " 2 +at_xfail=no +( + $as_echo "183. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1094: + wsp -namechar \":.\" -Dx:foo=bar <<'EOT' +a \${x:foo:?} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1094" +( $at_check_trace; + wsp -namechar ":." -Dx:foo=bar <<'EOT' +a ${x:foo:?} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: bar +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1094" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_183 +#AT_START_184 +at_fn_group_banner 184 'wordsplit.at:1104' \ + "default error message" " " 2 +at_xfail=no +( + $as_echo "184. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1104: + wsp -namechar \":.\" <<'EOT' +\${x:foo:?} +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1104" +( $at_check_trace; + wsp -namechar ":." <<'EOT' +${x:foo:?} +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "x:foo: variable null or not set +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 0 +TOTAL: 0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1104" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_184 +#AT_START_185 +at_fn_group_banner 185 'wordsplit.at:1113' \ + "custom error message (defined)" " " 2 +at_xfail=no +( + $as_echo "185. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1113: + wsp -namechar \":.\" -Dx:foo=bar <<'EOT' +a \${x:foo:?please define it} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1113" +( $at_check_trace; + wsp -namechar ":." -Dx:foo=bar <<'EOT' +a ${x:foo:?please define it} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: bar +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1113" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_185 +#AT_START_186 +at_fn_group_banner 186 'wordsplit.at:1123' \ + "custom error message" " " 2 +at_xfail=no +( + $as_echo "186. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1123: + wsp -namechar \":.\" <<'EOT' +a \${x:foo:?please define it} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1123" +( $at_check_trace; + wsp -namechar ":." <<'EOT' +a ${x:foo:?please define it} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "x:foo: please define it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: a +1: test +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1123" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_186 +#AT_START_187 +at_fn_group_banner 187 'wordsplit.at:1134' \ + "alternate value (defined)" " " 2 +at_xfail=no +( + $as_echo "187. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1134: +FOO=bar wsp -namechar \":.\" -Dx:foo=bar <<'EOT' +a \${x:foo:+isset} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1134" +( $at_check_trace; +FOO=bar wsp -namechar ":." -Dx:foo=bar <<'EOT' +a ${x:foo:+isset} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 3 +0: a +1: isset +2: test +TOTAL: 3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1134" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_187 +#AT_START_188 +at_fn_group_banner 188 'wordsplit.at:1146' \ + "alternate value" " " 2 +at_xfail=no +( + $as_echo "188. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/wordsplit.at:1146: + wsp -namechar \":.\" <<'EOT' +a \${x:foo:+isset} test +EOT +" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:1146" +( $at_check_trace; + wsp -namechar ":." <<'EOT' +a ${x:foo:+isset} test +EOT + +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +at_fn_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "NF: 2 +0: a +1: test +TOTAL: 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1146" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_188 diff -Nru dico-2.9/grecs/tests/wstest.at dico-2.10/grecs/tests/wstest.at --- dico-2.9/grecs/tests/wstest.at 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/grecs/tests/wstest.at 2020-06-14 10:25:41.000000000 +0000 @@ -0,0 +1,7 @@ +# This file is part of grecs -*- Autotest -*- +# Test suite for the wordsplit module +# Copyright (C) 2019 Sergey Poznyakoff +# License GPLv3+: GNU GPL version 3 or later + +AT_INIT +m4_include([wordsplit.at]) diff -Nru dico-2.9/grecs/wordsplit/wordsplit.at dico-2.10/grecs/wordsplit/wordsplit.at --- dico-2.9/grecs/wordsplit/wordsplit.at 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/grecs/wordsplit/wordsplit.at 2020-06-14 10:26:03.000000000 +0000 @@ -0,0 +1,1162 @@ +# Test suite for wordsplit -*- Autotest -*- +# Copyright (C) 2014-2019 Sergey Poznyakoff +# +# Wordsplit 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, or (at your option) +# any later version. +# +# Wordsplit 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 wordsplit. If not, see . + +AT_TESTED(wsp) + +m4_pushdef([wspnum],[0]) +m4_pushdef([wspid]) +m4_pushdef([wspgroupnum]) +m4_pushdef([wspgroupname]) + +m4_pushdef([genkw],[dnl +m4_define([wspid],m4_format([wordsplit%03d wsp%03d],wspnum))dnl +m4_if(wspgroupname,,,[m4_define([wspid],wspid[ ]dnl +m4_format(wspgroupname[ ]wspgroupname[%03d],wspgroupnum))dnl +m4_define([wspgroupnum],m4_incr(wspgroupnum))])dnl +m4_define([wspnum],m4_incr(wspnum))dnl +wspid]) + +m4_pushdef([WSPGROUP],[ +m4_define([wspgroupname],$1) +m4_define([wspgroupnum],0)]) + +dnl ------------------------------------------------------------ +dnl TESTWSP([NAME], [KW = `'], [OPTS], [INPUT], [STDOUT = `'], +dnl [STDERR = `'], [ENV], [PROLOGUE]) +dnl +m4_pushdef([TESTWSP],[ +AT_SETUP([$1]) +AT_KEYWORDS([wordsplit wsp ]genkw[ $2]) +AT_CHECK([$8 +$7 wsp $3 <<'EOT' +[$4] +EOT +], +[0], +[$5], +[$6]) +AT_CLEANUP +]) + +dnl ------------------------------------------------------------ +dnl The first part reproduces legacy argcv tests +dnl ------------------------------------------------------------ + +TESTWSP([simple input],[wsp-simple],[], +[1 2 3], +[NF: 3 +0: 1 +1: 2 +2: 3 +TOTAL: 3 +]) + +TESTWSP([quoted space],[wsp-quoted],[], +[quoted\ space], +[NF: 1 +0: "quoted space" +TOTAL: 1 +]) + +TESTWSP([tab character],[wsp-tab],[], +[a "tab character"], +[NF: 2 +0: a +1: tab\tcharacter +TOTAL: 2 +]) + +WSPGROUP(wsp-escape) +TESTWSP([octal and hex escapes],[],[], +[\157\143\164\141\154\40and\x20\x68\x65\x78], +[NF: 1 +0: "octal and hex" +TOTAL: 1 +]) + +TESTWSP([octal and hex escapes 2],[],[], +[\157\143\164\141\154\40 and \x20\x68\x65\x78], +[NF: 3 +0: "octal " +1: and +2: " hex" +TOTAL: 3 +]) + +TESTWSP([escape representation],[],[], +[A\x3-\48\39], +[NF: 1 +0: A\003-\0048\0039 +TOTAL: 1 +]) + +WSPGROUP() + +dnl ------------------------------------------------------------ +dnl Test worsplit-specific behavior +dnl ------------------------------------------------------------ +TESTWSP([append],[wsp-append],[-append], +[jeden dwa trzy +cztery +piec szesc], +[NF: 3 +0: jeden +1: dwa +2: trzy +TOTAL: 3 +NF: 4 +0: jeden +1: dwa +2: trzy +3: cztery +TOTAL: 1 +NF: 6 +0: jeden +1: dwa +2: trzy +3: cztery +4: piec +5: szesc +TOTAL: 2 +]) + +TESTWSP([dooffs],[wsp-doofs ],[-dooffs jeden dwa trzy], +[cztery piec], +[NF: 2 (3) +(0): jeden +(1): dwa +(2): trzy +3: cztery +4: piec +TOTAL: 2 +]) + +WSPGROUP(wsp-var) + +TESTWSP([variable substitutions: single var],[],[], +[a $FOO test], +[NF: 3 +0: a +1: bar +2: test +TOTAL: 3 +], +[], +[FOO=bar]) + +TESTWSP([variable substitutions: concatenated vars],[], +[], +[a $FOO${BAR}ent test], +[NF: 3 +0: a +1: stringent +2: test +TOTAL: 3 +], +[], +[FOO=str BAR=ing]) + +TESTWSP([variable substitutions: field splitting],[],[], +[a $FOO test], +[NF: 4 +0: a +1: variable +2: substitution +3: test +TOTAL: 4 +], +[], +[FOO="variable substitution"]) + +TESTWSP([variable substitutions: double-quoted variable],[],[], +[a "$FOO" test], +[NF: 3 +0: a +1: "variable substitution" +2: test +TOTAL: 3 +], +[], +[FOO="variable substitution"]) + +TESTWSP([variable substitutions: single-quoted variable],[],[], +[a '$FOO' test], +[NF: 3 +0: a +1: $FOO +2: test +TOTAL: 3 +], +[], +[FOO="variable substitution"]) + +TESTWSP([undefined variables 1],[],[], +[a $FOO test a${FOO}b], +[NF: 3 +0: a +1: test +2: ab +TOTAL: 3 +], +[], +[unset FOO;]) + +TESTWSP([undefined variables 2],[],[-keepundef], +[a $FOO test a${FOO}b], +[NF: 4 +0: a +1: $FOO +2: test +3: a${FOO}b +TOTAL: 4 +], +[], +[unset FOO;]) + +TESTWSP([warn about undefined variables],[],[-warnundef], +[$FOO], +[NF: 0 +TOTAL: 0 +], +[warning: undefined variable `FOO' +], +[unset FOO;]) + +TESTWSP([bail out on undefined variables],[],[-undef], +[$FOO], +[], +[undefined variable: FOO +], +[unset FOO;]) + +TESTWSP([disable variable expansion],[],[-novar], +[$FOO], +[NF: 1 +0: $FOO +TOTAL: 1 +], +[], +[FOO=bar]) + +TESTWSP([K/V environment],[wsp-env-kv wsp-env_kv], +[-env_kv], +[$FOO a$BAZ], +[NF: 2 +0: bar +1: aqux +TOTAL: 2 +], +[], +[FOO=bar BAZ=qux]) + +TESTWSP([nosplit with variable expansion],[wsp-var-nosplit],[-nosplit], +[a $FOO test], +[NF: 1 +0: "a variable expansion test\n" +TOTAL: 1 +], +[], +[FOO="variable expansion"]) + +TESTWSP([nosplit without variable expansion],[],[-nosplit -novar], +[a $FOO test], +[NF: 1 +0: "a $FOO test\n" +TOTAL: 1 +], +[], +[FOO="variable expansion"]) + +TESTWSP([nosplit: empty expansion],[],[-nosplit -trimnl], +[$FOO], +[NF: 1 +0: "" +TOTAL: 1 +], +[], +[FOO=""]) + +TESTWSP([default value],[],[], +[${FOO:-bar}], +[NF: 1 +0: bar +TOTAL: 1 +]) + +TESTWSP([default value (defined)],[],[], +[${FOO:-bar}], +[NF: 1 +0: qux +TOTAL: 1 +], +[], +[FOO=qux]) + +TESTWSP([default value (:- null)],[],[], +[${FOO:-bar}], +[NF: 1 +0: bar +TOTAL: 1 +], +[], +[FOO=]) + +TESTWSP([default value (- null)],[],[], +[${FOO-bar}], +[NF: 0 +TOTAL: 0 +], +[], +[FOO=]) + +TESTWSP([default value (- null, unset)],[],[], +[${FOO-bar}], +[NF: 1 +0: bar +TOTAL: 1 +]) + +TESTWSP([assign default values],[],[], +[${FOO=bar} +$FOO], +[NF: 1 +0: bar +TOTAL: 1 +NF: 1 +0: bar +TOTAL: 1 +]) + +TESTWSP([default error message (var defined)],[],[], +[a ${FOO:?} test], +[NF: 3 +0: a +1: bar +2: test +TOTAL: 3 +], +[], +[FOO=bar]) + +TESTWSP([default error message],[],[], +[${FOO:?}], +[NF: 0 +TOTAL: 0 +], +[FOO: variable null or not set +]) + +TESTWSP([custom error message (defined)],[wsp-custom-err wsp-custom-err00],[], +[a ${FOO:?please define it} test], +[NF: 3 +0: a +1: bar +2: test +TOTAL: 3 +], +[], +[FOO=bar]) + +TESTWSP([custom error message],[wsp-custom-err wsp-custom-err01],[], +[a ${FOO:?please define it} test], +[NF: 2 +0: a +1: test +TOTAL: 2 +], +[FOO: please define it +]) + +TESTWSP([alternate value (defined)],[wsp-alt wsp-alt00],[], +[a ${FOO:+isset} test], +[NF: 3 +0: a +1: isset +2: test +TOTAL: 3 +], +[], +[FOO=bar]) + +TESTWSP([alternate value],[wsp-alt wsp-alt01],[], +[a ${FOO:+isset} test], +[NF: 2 +0: a +1: test +TOTAL: 2 +], +[], +[unset FOO;]) + +TESTWSP([getvar],[wsp-getvar], +[foo=bar x=quux], +[begin $foo $x end], +[NF: 4 +0: begin +1: bar +2: quux +3: end +TOTAL: 4 +], +[], +[], +[unset foo; unset x]) + +TESTWSP([getvar and env],[wsp-getvar], +[foo=bar x=quux y=xur], +[begin $foo $TVAR $x $y end], +[NF: 6 +0: begin +1: bar +2: 12 +3: quux +4: zwar +5: end +TOTAL: 6 +], +[], +[TVAR=12 y=zwar], +[unset foo; unset x]) + +TESTWSP([getvar, alternate value],[wsp-getvar], +[foo=bar], +[a ${foo:+isset}], +[NF: 2 +0: a +1: isset +TOTAL: 2 +]) + +WSPGROUP() + +TESTWSP([ignore quotes],[wsp-ignore-quotes ],[-noquote], +["a text"], +[NF: 2 +0: "\"a" +1: "text\"" +TOTAL: 2 +]) + +WSPGROUP(wsp-delim) + +TESTWSP([custom delimiters (squeeze)],[], +[-delim : -nows -trimnl], +[semicolon: separated::list: of :words], +[NF: 5 +0: semicolon +1: " separated" +2: list +3: " of " +4: words +TOTAL: 5 +]) + +TESTWSP([custom delimiters (no squeeze)],[], +[-delim : -nows -nosqueeze_delims -trimnl], +[semicolon: separated::list: of :words], +[NF: 6 +0: semicolon +1: " separated" +2: "" +3: list +4: " of " +5: words +TOTAL: 6 +]) + +TESTWSP([custom, with returned delimiters],[], +[-delim : -nows -trimnl -return_delims], +[semicolon: separated::list: of :words], +[NF: 9 +0: semicolon +1: : +2: " separated" +3: : +4: list +5: : +6: " of " +7: : +8: words +TOTAL: 9 +]) + +TESTWSP([custom, with returned & squeezed delimiters],[], +[-delim : -nows -trimnl -return_delims -nosqueeze_delims], +[semicolon: separated::list: of :words], +[NF: 10 +0: semicolon +1: : +2: " separated" +3: : +4: : +5: list +6: : +7: " of " +8: : +9: words +TOTAL: 10 +]) + +WSPGROUP(wsp-sed) + +TESTWSP([sed expressions],[],[-sed], +[arg1 s/foo/bar/g;s/bar baz/quz quux/ arg2], +[NF: 3 +0: arg1 +1: "s/foo/bar/g;s/bar baz/quz quux/" +2: arg2 +TOTAL: 3 +]) + +WSPGROUP() + +TESTWSP([C escapes on],[wcp-c-escape],[-cescapes], +[a\ttab form\ffeed and new\nline], +[NF: 4 +0: a\ttab +1: form\ffeed +2: and +3: new\nline +TOTAL: 4 +]) + +TESTWSP([C escapes off],[wcp-c-escape-off],[-nocescapes], +[a\ttab form\ffeed and new\nline], +[NF: 4 +0: attab +1: formffeed +2: and +3: newnline +TOTAL: 4 +]) + +TESTWSP([ws elimination],[wsp-ws-elim],[-delim ' ()' -ws -return_delims], +[( list items )], +[NF: 4 +0: ( +1: list +2: items +3: ) +TOTAL: 4 +]) + +TESTWSP([ws elimination + return delim],[wsp-ws-elim-ret], +[-nodefault -novar -nocmd -delim ":," -return_delims -ws -dquote], +["foo" : "bar", "quux" : "baaz" ], +[NF: 7 +0: foo +1: : +2: bar +3: , +4: quux +5: : +6: baaz +TOTAL: 7 +]) + +TESTWSP([empty quotes],[wsp-empty-quotes],[-delim : -ws -return_delims], +[t=""], +[NF: 1 +0: t= +TOTAL: 1 +]) + +TESTWSP([delimiter following empty quotes], +[],[-delim : -ws -return_delims], +[t="":r], +[NF: 3 +0: t= +1: : +2: r +TOTAL: 3 +]) + +TESTWSP([suppress ws trimming within quotes], +[], +[-default -delim , -ws -return_delims], +[nocomponent,nonewline, formatfield="In message %{text}, "], +[NF: 5 +0: nocomponent +1: , +2: nonewline +3: , +4: "formatfield=In message %{text}, " +TOTAL: 5 +]) + +TESTWSP([unescape], +[wsp-unescape wsp-unescape-simple], +[-nodefault -novar -nocmd -quote -escape ':+:\\""'], +[\Seen "quote \"" "bs \\"], +[NF: 3 +0: \\Seen +1: "quote \"" +2: "bs \\" +TOTAL: 3 +]) + +TESTWSP([unescape: word/quote], +[wsp-unescape wsp-unescape-word], +[-nodefault -novar -nocmd -quote -escape-word '\\""' -escape-quote ':+0x:\\""'], +[\Seen "quote \"" "bs \\" "3\x31 \101" 3\x31 \101], +[NF: 6 +0: Seen +1: "quote \"" +2: "bs \\" +3: "31 A" +4: 3x31 +5: 101 +TOTAL: 6 +]) + +TESTWSP([dquote],[],[-nodefault -novar -nocmd -dquote], +[a "quoted example" isn't it], +[NF: 4 +0: a +1: "quoted example" +2: isn't +3: it +TOTAL: 4 +]) + +TESTWSP([squote],[],[-nodefault -novar -nocmd -squote], +[a 'quoted example' isn"t it], +[NF: 4 +0: a +1: "quoted example" +2: "isn\"t" +3: it +TOTAL: 4 +]) + +WSPGROUP(wsp-incr) + +TESTWSP([incremental],[],[-incremental], +[incremental "input test" line + + +], +[NF: 1 +0: incremental +TOTAL: 1 +NF: 1 +0: "input test" +TOTAL: 2 +NF: 1 +0: line +TOTAL: 3 +], +[input exhausted +]) + +TESTWSP([incremental append],[],[-incremental -append], +[incremental "input test" line + + +], +[NF: 1 +0: incremental +TOTAL: 1 +NF: 2 +0: incremental +1: "input test" +TOTAL: 2 +NF: 3 +0: incremental +1: "input test" +2: line +TOTAL: 3 +], +[input exhausted +]) + +TESTWSP([incremental ws], +[],[-return_delims -nosqueeze_delims -incremental -ws], +[a list test + + +], +[NF: 1 +0: a +TOTAL: 1 +NF: 1 +0: list +TOTAL: 2 +NF: 1 +0: test +TOTAL: 3 +], +[input exhausted +]) + +TESTWSP([incremental nosplit],[],[-incremental -nosplit], +[incremental "input test" line +], +[NF: 1 +0: "incremental input test line" +TOTAL: 1 +], +[input exhausted +]) + +TESTWSP([simple command substitution],[],[-cmd], +[begin $(words a b) end], +[NF: 4 +0: begin +1: a +2: b +3: end +TOTAL: 4 +]) + +TESTWSP([quoted command substitution],[],[-cmd], +[begin "$(words a b)" end], +[NF: 3 +0: begin +1: "a b" +2: end +TOTAL: 3 +]) + +TESTWSP([coalesced command substitution],[],[-cmd], +[begin($(words a b))end], +[NF: 2 +0: begin(a +1: b)end +TOTAL: 2 +]) + +TESTWSP([quoted coalesced command substitution],[],[-cmd], +["begin($(words a b))end"], +[NF: 1 +0: "begin(a b)end" +TOTAL: 1 +]) + +TESTWSP([variable and command substitution],[],[-cmd -var], +[begin $X $(words $X $Y) end], +[NF: 5 +0: begin +1: a +2: a +3: b +4: end +TOTAL: 5 +],[],[X=a Y=b]) + +TESTWSP([variable expansion and command substitution in quotes],[],[-cmd -var], +["${BEGIN}($(words $X $Y))end"], +[NF: 1 +0: "begin(a b)end" +TOTAL: 1 +],[],[X=a Y=b BEGIN=begin]) + +TESTWSP([nested commands],[],[-cmd -var], +[$(words output $(words in$SUFFIX text) end)], +[NF: 4 +0: output +1: input +2: text +3: end +TOTAL: 4 +],[],[SUFFIX=put]) + +dnl Something that doesn't fit into TESTWSP +AT_SETUP([pathname expansion]) +AT_KEYWORDS([wordsplit wsp wsp-path wsp-path-1]) +AT_CHECK([ +mkdir dir +> dir/1.c +> dir/2.c +> dir/3.b + +wsp -pathexpand<<'EOT' +begin dir/*.c end +EOT +], +[0], +[NF: 4 +0: begin +1: dir/1.c +2: dir/2.c +3: end +TOTAL: 4 +]) +AT_CLEANUP + +AT_SETUP([pathname expansion: no match]) +AT_KEYWORDS([wordsplit wsp wsp-path wsp-path-2]) +AT_CHECK([ +mkdir dir +> dir/1.c +> dir/2.b + +wsp -pathexpand<<'EOT' +begin dir/*.d end +EOT +], +[0], +[NF: 3 +0: begin +1: dir/*.d +2: end +TOTAL: 3 +]) +AT_CLEANUP + +AT_SETUP([pathname expansion: nullglob]) +AT_KEYWORDS([wordsplit wsp wsp-path wsp-path-3]) +AT_CHECK([ +mkdir dir +> dir/1.c +> dir/2.b + +wsp -pathexpand -nullglob<<'EOT' +begin dir/*.d end +EOT +], +[0], +[NF: 2 +0: begin +1: end +TOTAL: 2 +]) +AT_CLEANUP + +AT_SETUP([pathname expansion: failglob]) +AT_KEYWORDS([wordsplit wsp wsp-path wsp-path-4]) +AT_CHECK([ +mkdir dir +> dir/1.c +> dir/2.b + +wsp -pathexpand -failglob<<'EOT' +begin dir/*.d end +EOT +], +[0], +[], +[no files match pattern dir/*.d +]) +AT_CLEANUP + +TESTWSP([append],[],[-append-args extra arguments follow], +[some words and], +[NF: 6 +0: some +1: words +2: and +3: extra +4: arguments +5: follow +TOTAL: 3 +]) + +TESTWSP([append + dooffs + env],[], +[-env none -dooffs preface words -- V=2 -append-args extra arguments follow], +[some words and var=$V], +[NF: 7 (2) +(0): preface +(1): words +2: some +3: words +4: and +5: var=2 +6: extra +7: arguments +8: follow +TOTAL: 4 +]) + +# Maxwords +TESTWSP([maxwords],[], +[-trimnl -maxwords 3], +[ws_maxwords limits the number of returned words], +[NF: 3 +0: ws_maxwords +1: limits +2: "the number of returned words" +TOTAL: 3 +]) + +TESTWSP([maxwords return_delims],[], +[-trimnl -maxwords 8 -return_delims -delim :-], +[foo:::bar-:baz-quux:ux:zu], +[NF: 8 +0: foo +1: : +2: bar +3: - +4: : +5: baz +6: - +7: quux:ux:zu +TOTAL: 8 +]) + +TESTWSP([maxwords return_delims -squeeze_delims],[], +[-trimnl -maxwords 8 -return_delims -nosqueeze_delims -delim :-], +[foo:::bar-:baz:qux-], +[NF: 8 +0: foo +1: : +2: : +3: : +4: bar +5: - +6: : +7: baz:qux- +TOTAL: 8 +]) + +TESTWSP([maxwords incremental],[], +[-trimnl -maxwords 3 -incremental], +[foo bar baz qux uz + + +], +[NF: 1 +0: foo +TOTAL: 1 +NF: 1 +0: bar +TOTAL: 2 +NF: 1 +0: "baz qux uz" +TOTAL: 3 +], +[input exhausted +])) + +TESTWSP([variable nosplit],[],[-novar -novarsplit], +[begin ${VAR:- a b} end], +[NF: 3 +0: begin +1: "${VAR:- a b}" +2: end +TOTAL: 3 +]) + +TESTWSP([command nosplit],[],[-nocmd -nocmdsplit], +[begin $(words a b) end], +[NF: 3 +0: begin +1: "$(words a b)" +2: end +TOTAL: 3 +]) + +TESTWSP([positional parameters],[],[one two three four five six seven eight nine ten eleven twelve], +[$0 $5 ${10} +$#], +[NF: 3 +0: one +1: six +2: eleven +TOTAL: 3 +NF: 1 +0: 12 +TOTAL: 1 +]) + +TESTWSP([$* and $@],[],['one two' three 'four five'], +[$* +$@ +"$*" +"$@"], +[NF: 5 +0: one +1: two +2: three +3: four +4: five +TOTAL: 5 +NF: 3 +0: "one two" +1: three +2: "four five" +TOTAL: 3 +NF: 1 +0: "one two three four five" +TOTAL: 1 +NF: 1 +0: "one two three four five" +TOTAL: 1 +]) + +TESTWSP([$* and $@ in nosplit mode],[], +[-trimnl -nosplit 'one two' three 'four five'], +[$* +$@], +[NF: 1 +0: "one two three four five" +TOTAL: 1 +NF: 1 +0: "one two three four five" +TOTAL: 1 +]) + +TESTWSP([$* and $@ in nosplit mode with delimiter],[], +[-trimnl -nosplit -delim : 'one two' three 'four five'], +[$* +$@], +[NF: 1 +0: "one two:three:four five" +TOTAL: 1 +NF: 1 +0: "one two:three:four five" +TOTAL: 1 +]) + +# Namechar modification tests + +TESTWSP([namechar modification],[], +[-namechar ".:" -Dx.y=one -Dx:foo=bar], +[one is $x.y, foo is $x:foo], +[NF: 6 +0: one +1: is +2: one, +3: foo +4: is +5: bar +TOTAL: 6 +]) + +AT_BANNER([namechar modification]) +TESTWSP([default value],[], +[-namechar ":."], +[${x:foo:-bar}], +[NF: 1 +0: bar +TOTAL: 1 +]) + +TESTWSP([default value (defined)],[], +[-namechar ":." -Dx:foo=qux], +[${x:foo:-bar}], +[NF: 1 +0: qux +TOTAL: 1 +], +[]) + +TESTWSP([default value (:- null)],[], +[-namechar ":." -Dx:foo=], +[${x:foo:-bar}], +[NF: 1 +0: bar +TOTAL: 1 +], +[]) + +TESTWSP([default value (- null)],[], +[-namechar ":." -Dx:foo=], +[${x:foo-bar}], +[NF: 0 +TOTAL: 0 +], +[]) + +TESTWSP([default value (- null, unset)],[], +[-namechar ":."], +[${x:foo-bar}], +[NF: 1 +0: bar +TOTAL: 1 +]) + +TESTWSP([assign default values],[], +[-namechar ":."], +[${x:foo=bar} +$x:foo], +[NF: 1 +0: bar +TOTAL: 1 +NF: 1 +0: bar +TOTAL: 1 +]) + +TESTWSP([default error message (var defined)],[], +[-namechar ":." -Dx:foo=bar], +[a ${x:foo:?} test], +[NF: 3 +0: a +1: bar +2: test +TOTAL: 3 +]) + +TESTWSP([default error message],[], +[-namechar ":."], +[${x:foo:?}], +[NF: 0 +TOTAL: 0 +], +[x:foo: variable null or not set +]) + +TESTWSP([custom error message (defined)],[wsp-custom-err wsp-custom-err03], +[-namechar ":." -Dx:foo=bar], +[a ${x:foo:?please define it} test], +[NF: 3 +0: a +1: bar +2: test +TOTAL: 3 +]) + +TESTWSP([custom error message],[wsp-custom-err wsp-custom-err04], +[-namechar ":."], +[a ${x:foo:?please define it} test], +[NF: 2 +0: a +1: test +TOTAL: 2 +], +[x:foo: please define it +]) + +TESTWSP([alternate value (defined)],[wsp-alt wsp-alt02], +[-namechar ":." -Dx:foo=bar], +[a ${x:foo:+isset} test], +[NF: 3 +0: a +1: isset +2: test +TOTAL: 3 +], +[], +[FOO=bar]) + +TESTWSP([alternate value],[wsp-alt wsp-alt03], +[-namechar ":."], +[a ${x:foo:+isset} test], +[NF: 2 +0: a +1: test +TOTAL: 2 +]) + + +m4_popdef([TESTWSP]) +m4_popdef([wspnum]) +m4_popdef([wspid]) +m4_popdef([genkw]) +m4_popdef([wspgroupnum]) +m4_popdef([wspgroupname]) +m4_popdef([WSPGROUP]) diff -Nru dico-2.9/grecs/wordsplit/wordsplit.c dico-2.10/grecs/wordsplit/wordsplit.c --- dico-2.9/grecs/wordsplit/wordsplit.c 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/grecs/wordsplit/wordsplit.c 2020-06-14 10:26:03.000000000 +0000 @@ -0,0 +1,2891 @@ +/* wordsplit - a word splitter + Copyright (C) 2009-2019 Sergey Poznyakoff + + 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. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if ENABLE_NLS +# include +#else +# define gettext(msgid) msgid +#endif +#define _(msgid) gettext (msgid) +#define N_(msgid) msgid + +#include + +#define ISWS(c) ((c)==' '||(c)=='\t'||(c)=='\n') +#define ISDELIM(ws,c) \ + (strchr ((ws)->ws_delim, (c)) != NULL) +#define ISPUNCT(c) (strchr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",(c))!=NULL) +#define ISUPPER(c) ('A' <= ((unsigned) (c)) && ((unsigned) (c)) <= 'Z') +#define ISLOWER(c) ('a' <= ((unsigned) (c)) && ((unsigned) (c)) <= 'z') +#define ISALPHA(c) (ISUPPER(c) || ISLOWER(c)) +#define ISDIGIT(c) ('0' <= ((unsigned) (c)) && ((unsigned) (c)) <= '9') +#define ISXDIGIT(c) (strchr("abcdefABCDEF", c)!=NULL) +#define ISALNUM(c) (ISALPHA(c) || ISDIGIT(c)) +#define ISPRINT(c) (' ' <= ((unsigned) (c)) && ((unsigned) (c)) <= 127) + +#define ISVARBEG(c) (ISALPHA(c) || c == '_') +static inline int +is_name_char (struct wordsplit *wsp, int c) +{ + return ISALNUM (c) + || c == '_' + || ((wsp->ws_options & WRDSO_NAMECHAR) + && strchr (wsp->ws_namechar, c)); +} + +#define WSP_RETURN_DELIMS(wsp) \ + ((wsp)->ws_flags & WRDSF_RETURN_DELIMS || ((wsp)->ws_options & WRDSO_MAXWORDS)) + +#define to_num(c) \ + (ISDIGIT(c) ? c - '0' : (ISXDIGIT(c) ? toupper(c) - 'A' + 10 : 255 )) + +#define ALLOC_INIT 128 +#define ALLOC_INCR 128 + +static void +_wsplt_alloc_die (struct wordsplit *wsp) +{ + wsp->ws_error ("%s", _("memory exhausted")); + abort (); +} + +static void _wsplt_error (const char *fmt, ...) + __attribute__ ((format (printf, 1, 2))); + +static void +_wsplt_error (const char *fmt, ...) +{ + va_list ap; + + va_start (ap, fmt); + vfprintf (stderr, fmt, ap); + va_end (ap); + fputc ('\n', stderr); +} + +static void wordsplit_free_nodes (struct wordsplit *); + +static int +_wsplt_seterr (struct wordsplit *wsp, int ec) +{ + wsp->ws_errno = ec; + if (wsp->ws_flags & WRDSF_SHOWERR) + wordsplit_perror (wsp); + if (ec == WRDSE_USAGE) + errno = EINVAL; + return ec; +} + +static int +_wsplt_nomem (struct wordsplit *wsp) +{ + errno = ENOMEM; + wsp->ws_errno = WRDSE_NOSPACE; + if (wsp->ws_flags & WRDSF_ENOMEMABRT) + wsp->ws_alloc_die (wsp); + if (wsp->ws_flags & WRDSF_SHOWERR) + wordsplit_perror (wsp); + if (!(wsp->ws_flags & WRDSF_REUSE)) + wordsplit_free (wsp); + wordsplit_free_nodes (wsp); + return wsp->ws_errno; +} + +static void +_wsplt_store_errctx (struct wordsplit *wsp, char const *str, size_t len) +{ + free (wsp->ws_errctx); + wsp->ws_errctx = malloc (len + 1); + if (!wsp->ws_errctx) + { + wsp->ws_error ("%s", + _("memory exhausted while trying to store error context")); + } + else + { + memcpy (wsp->ws_errctx, str, len); + wsp->ws_errctx[len] = 0; + } +} + +static inline int +_wsplt_setctxerr (struct wordsplit *wsp, int ec, char const *str, size_t len) +{ + _wsplt_store_errctx (wsp, str, len); + return _wsplt_seterr (wsp, ec); +} + +static int wordsplit_run (const char *command, size_t length, + struct wordsplit *wsp, + int flags, int lvl); + +static int wordsplit_init (struct wordsplit *wsp, const char *input, size_t len, + int flags); +static int wordsplit_process_list (struct wordsplit *wsp, size_t start); +static int wordsplit_finish (struct wordsplit *wsp); + +static int +_wsplt_subsplit (struct wordsplit *wsp, struct wordsplit *wss, + char const *str, int len, + int flags, int finalize) +{ + int rc; + + wss->ws_delim = wsp->ws_delim; + wss->ws_debug = wsp->ws_debug; + wss->ws_error = wsp->ws_error; + wss->ws_alloc_die = wsp->ws_alloc_die; + + if (!(flags & WRDSF_NOVAR)) + { + wss->ws_env = wsp->ws_env; + wss->ws_getvar = wsp->ws_getvar; + flags |= wsp->ws_flags & (WRDSF_ENV | WRDSF_ENV_KV | WRDSF_GETVAR); + } + if (!(flags & WRDSF_NOCMD)) + { + wss->ws_command = wsp->ws_command; + } + + if ((flags & (WRDSF_NOVAR|WRDSF_NOCMD)) != (WRDSF_NOVAR|WRDSF_NOCMD)) + { + wss->ws_closure = wsp->ws_closure; + flags |= wsp->ws_flags & WRDSF_CLOSURE; + } + + wss->ws_options = wsp->ws_options & ~WRDSO_MAXWORDS; + wss->ws_namechar = wsp->ws_namechar; + + flags |= WRDSF_DELIM + | WRDSF_ALLOC_DIE + | WRDSF_ERROR + | WRDSF_DEBUG + | (wsp->ws_flags & (WRDSF_SHOWDBG | WRDSF_SHOWERR | WRDSF_OPTIONS)); + + rc = wordsplit_init (wss, str, len, flags); + if (rc) + return rc; + wss->ws_lvl = wsp->ws_lvl + 1; + rc = wordsplit_process_list (wss, 0); + if (rc) + { + wordsplit_free_nodes (wss); + return rc; + } + if (finalize) + { + rc = wordsplit_finish (wss); + wordsplit_free_nodes (wss); + } + return rc; +} + +static void +_wsplt_seterr_sub (struct wordsplit *wsp, struct wordsplit *wss) +{ + /* Clear user-defined error */ + if (wsp->ws_errno == WRDSE_USERERR) + free (wsp->ws_usererr); + /* Copy error state */ + wsp->ws_errno = wss->ws_errno; + if (wss->ws_errno == WRDSE_USERERR) + { + wsp->ws_usererr = wss->ws_usererr; + wss->ws_errno = WRDSE_EOF; + wss->ws_usererr = NULL; + } + /* Copy error context */ + free (wsp->ws_errctx); + wsp->ws_errctx = wss->ws_errctx; + wss->ws_errctx = NULL; +} + +static void +wordsplit_init0 (struct wordsplit *wsp) +{ + if (wsp->ws_flags & WRDSF_REUSE) + { + if (!(wsp->ws_flags & WRDSF_APPEND)) + wordsplit_free_words (wsp); + wordsplit_clearerr (wsp); + } + else + { + wsp->ws_wordv = NULL; + wsp->ws_wordc = 0; + wsp->ws_wordn = 0; + } + + wsp->ws_errno = 0; +} + +char wordsplit_c_escape_tab[] = "\\\\\"\"a\ab\bf\fn\nr\rt\tv\v"; + +static int +wordsplit_init (struct wordsplit *wsp, const char *input, size_t len, + int flags) +{ + wsp->ws_flags = flags; + + if (!(wsp->ws_flags & WRDSF_ALLOC_DIE)) + wsp->ws_alloc_die = _wsplt_alloc_die; + if (!(wsp->ws_flags & WRDSF_ERROR)) + wsp->ws_error = _wsplt_error; + + if (!(wsp->ws_flags & WRDSF_NOVAR)) + { + /* These will be initialized on first variable assignment */ + wsp->ws_envidx = wsp->ws_envsiz = 0; + wsp->ws_envbuf = NULL; + } + + if (!(wsp->ws_flags & WRDSF_NOCMD)) + { + if (!wsp->ws_command) + return _wsplt_seterr (wsp, WRDSE_USAGE); + } + + if (wsp->ws_flags & WRDSF_SHOWDBG) + { + if (!(wsp->ws_flags & WRDSF_DEBUG)) + { + if (wsp->ws_flags & WRDSF_ERROR) + wsp->ws_debug = wsp->ws_error; + else if (wsp->ws_flags & WRDSF_SHOWERR) + wsp->ws_debug = _wsplt_error; + else + wsp->ws_flags &= ~WRDSF_SHOWDBG; + } + } + + wsp->ws_input = input; + wsp->ws_len = len; + + if (!(wsp->ws_flags & WRDSF_DOOFFS)) + wsp->ws_offs = 0; + + if (!(wsp->ws_flags & WRDSF_DELIM)) + wsp->ws_delim = " \t\n"; + + wsp->ws_sep[0] = wsp->ws_delim[0]; + wsp->ws_sep[1] = 0; + + if (!(wsp->ws_flags & WRDSF_COMMENT)) + wsp->ws_comment = NULL; + + if (!(wsp->ws_flags & WRDSF_CLOSURE)) + wsp->ws_closure = NULL; + + if (!(wsp->ws_flags & WRDSF_OPTIONS)) + wsp->ws_options = 0; + + if (wsp->ws_flags & WRDSF_ESCAPE) + { + if (!wsp->ws_escape[WRDSX_WORD]) + wsp->ws_escape[WRDSX_WORD] = ""; + if (!wsp->ws_escape[WRDSX_QUOTE]) + wsp->ws_escape[WRDSX_QUOTE] = ""; + } + else + { + if (wsp->ws_flags & WRDSF_CESCAPES) + { + wsp->ws_escape[WRDSX_WORD] = wordsplit_c_escape_tab; + wsp->ws_escape[WRDSX_QUOTE] = wordsplit_c_escape_tab; + wsp->ws_options |= WRDSO_OESC_QUOTE | WRDSO_OESC_WORD + | WRDSO_XESC_QUOTE | WRDSO_XESC_WORD; + } + else + { + wsp->ws_escape[WRDSX_WORD] = ""; + wsp->ws_escape[WRDSX_QUOTE] = "\\\\\"\""; + wsp->ws_options |= WRDSO_BSKEEP_QUOTE; + } + } + + if (!(wsp->ws_options & WRDSO_PARAMV)) + { + wsp->ws_paramv = NULL; + wsp->ws_paramc = 0; + } + wsp->ws_paramidx = wsp->ws_paramsiz = 0; + wsp->ws_parambuf = NULL; + + if (wsp->ws_options & WRDSO_NAMECHAR) + { + if (wsp->ws_namechar[strcspn(wsp->ws_namechar, "${}*@-+?=")]) + return _wsplt_seterr (wsp, WRDSE_USAGE); + } + else + wsp->ws_namechar = NULL; + + wsp->ws_endp = 0; + wsp->ws_wordi = 0; + + if (wsp->ws_flags & WRDSF_REUSE) + wordsplit_free_nodes (wsp); + wsp->ws_head = wsp->ws_tail = NULL; + + wsp->ws_errctx = NULL; + + wordsplit_init0 (wsp); + + return 0; +} + +static int +alloc_space (struct wordsplit *wsp, size_t count) +{ + size_t offs = (wsp->ws_flags & WRDSF_DOOFFS) ? wsp->ws_offs : 0; + char **ptr; + size_t newalloc; + + if (wsp->ws_wordv == NULL) + { + newalloc = offs + count > ALLOC_INIT ? count : ALLOC_INIT; + ptr = calloc (newalloc, sizeof (ptr[0])); + } + else if (wsp->ws_wordn < offs + wsp->ws_wordc + count) + { + newalloc = offs + wsp->ws_wordc + + (count > ALLOC_INCR ? count : ALLOC_INCR); + ptr = realloc (wsp->ws_wordv, newalloc * sizeof (ptr[0])); + } + else + return 0; + + if (ptr) + { + wsp->ws_wordn = newalloc; + wsp->ws_wordv = ptr; + } + else + return _wsplt_nomem (wsp); + return 0; +} + + +/* Node state flags */ +#define _WSNF_NULL 0x01 /* null node (a noop) */ +#define _WSNF_WORD 0x02 /* node contains word in v.word */ +#define _WSNF_QUOTE 0x04 /* text is quoted */ +#define _WSNF_NOEXPAND 0x08 /* text is not subject to expansion */ +#define _WSNF_JOIN 0x10 /* node must be joined with the next node */ +#define _WSNF_SEXP 0x20 /* is a sed expression */ +#define _WSNF_DELIM 0x40 /* node is a delimiter */ +#define _WSNF_CONST 0x80 /* with _WSNF_WORD: v.word is constant */ +#define _WSNF_EMPTYOK 0x0100 /* special flag indicating that + wordsplit_add_segm must add the + segment even if it is empty */ + +struct wordsplit_node +{ + struct wordsplit_node *prev; /* Previous element */ + struct wordsplit_node *next; /* Next element */ + int flags; /* Node flags */ + union + { + struct + { + size_t beg; /* Start of word in ws_input */ + size_t end; /* End of word in ws_input */ + } segm; + char *word; + } v; +}; + +static const char * +wsnode_flagstr (int flags) +{ + static char retbuf[7]; + char *p = retbuf; + + if (flags & _WSNF_WORD) + *p++ = 'w'; + else if (flags & _WSNF_NULL) + *p++ = 'n'; + else + *p++ = '-'; + if (flags & _WSNF_QUOTE) + *p++ = 'q'; + else + *p++ = '-'; + if (flags & _WSNF_NOEXPAND) + *p++ = 'E'; + else + *p++ = '-'; + if (flags & _WSNF_JOIN) + *p++ = 'j'; + else + *p++ = '-'; + if (flags & _WSNF_SEXP) + *p++ = 's'; + else + *p++ = '-'; + if (flags & _WSNF_DELIM) + *p++ = 'd'; + else + *p++ = '-'; + *p = 0; + return retbuf; +} + +static const char * +wsnode_ptr (struct wordsplit *wsp, struct wordsplit_node *p) +{ + if (p->flags & _WSNF_NULL) + return ""; + else if (p->flags & _WSNF_WORD) + return p->v.word; + else + return wsp->ws_input + p->v.segm.beg; +} + +static size_t +wsnode_len (struct wordsplit_node *p) +{ + if (p->flags & _WSNF_NULL) + return 0; + else if (p->flags & _WSNF_WORD) + return strlen (p->v.word); + else + return p->v.segm.end - p->v.segm.beg; +} + +static int +wsnode_new (struct wordsplit *wsp, struct wordsplit_node **pnode) +{ + struct wordsplit_node *node = calloc (1, sizeof (*node)); + if (!node) + return _wsplt_nomem (wsp); + *pnode = node; + return 0; +} + +static void +wsnode_free (struct wordsplit_node *p) +{ + if ((p->flags & (_WSNF_WORD|_WSNF_CONST)) == _WSNF_WORD) + free (p->v.word); + free (p); +} + +static void +wsnode_append (struct wordsplit *wsp, struct wordsplit_node *node) +{ + node->next = NULL; + node->prev = wsp->ws_tail; + if (wsp->ws_tail) + wsp->ws_tail->next = node; + else + wsp->ws_head = node; + wsp->ws_tail = node; +} + +static void +wsnode_remove (struct wordsplit *wsp, struct wordsplit_node *node) +{ + struct wordsplit_node *p; + + p = node->prev; + if (p) + { + p->next = node->next; + if (!node->next) + p->flags &= ~_WSNF_JOIN; + } + else + wsp->ws_head = node->next; + + p = node->next; + if (p) + p->prev = node->prev; + else + wsp->ws_tail = node->prev; + + wsnode_free (node); +} + +static struct wordsplit_node * +wsnode_tail (struct wordsplit_node *p) +{ + while (p && p->next) + p = p->next; + return p; +} + +static void +wsnode_insert (struct wordsplit *wsp, struct wordsplit_node *node, + struct wordsplit_node *anchor, int before) +{ + if (!wsp->ws_head) + { + node->next = node->prev = NULL; + wsp->ws_head = wsp->ws_tail = node; + } + else if (before) + { + if (anchor->prev) + wsnode_insert (wsp, node, anchor->prev, 0); + else + { + struct wordsplit_node *tail = wsnode_tail (node); + node->prev = NULL; + tail->next = anchor; + anchor->prev = tail; + wsp->ws_head = node; + } + } + else + { + struct wordsplit_node *p; + struct wordsplit_node *tail = wsnode_tail (node); + + p = anchor->next; + if (p) + p->prev = tail; + else + wsp->ws_tail = tail; + tail->next = p; + node->prev = anchor; + anchor->next = node; + } +} + +static int +wordsplit_add_segm (struct wordsplit *wsp, size_t beg, size_t end, int flg) +{ + struct wordsplit_node *node; + int rc; + + if (end == beg && !(flg & _WSNF_EMPTYOK)) + return 0; + rc = wsnode_new (wsp, &node); + if (rc) + return rc; + node->flags = flg & ~(_WSNF_WORD | _WSNF_EMPTYOK); + node->v.segm.beg = beg; + node->v.segm.end = end; + wsnode_append (wsp, node); + return 0; +} + +static void +wordsplit_free_nodes (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + + for (p = wsp->ws_head; p;) + { + struct wordsplit_node *next = p->next; + wsnode_free (p); + p = next; + } + wsp->ws_head = wsp->ws_tail = NULL; +} + +static void +wordsplit_dump_nodes (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + int n = 0; + + for (p = wsp->ws_head, n = 0; p; p = p->next, n++) + { + if (p->flags & _WSNF_WORD) + wsp->ws_debug ("(%02d) %4d: %p: %#04x (%s):%s;", + wsp->ws_lvl, + n, p, p->flags, wsnode_flagstr (p->flags), p->v.word); + else + wsp->ws_debug ("(%02d) %4d: %p: %#04x (%s):%.*s;", + wsp->ws_lvl, + n, p, p->flags, wsnode_flagstr (p->flags), + (int) (p->v.segm.end - p->v.segm.beg), + wsp->ws_input + p->v.segm.beg); + } +} + +static int +coalesce_segment (struct wordsplit *wsp, struct wordsplit_node *node) +{ + struct wordsplit_node *p, *end; + size_t len = 0; + char *buf, *cur; + int stop; + + if (!(node->flags & _WSNF_JOIN)) + return 0; + + for (p = node; p && (p->flags & _WSNF_JOIN); p = p->next) + { + len += wsnode_len (p); + } + if (p) + len += wsnode_len (p); + end = p; + + buf = malloc (len + 1); + if (!buf) + return _wsplt_nomem (wsp); + cur = buf; + + p = node; + for (stop = 0; !stop;) + { + struct wordsplit_node *next = p->next; + const char *str = wsnode_ptr (wsp, p); + size_t slen = wsnode_len (p); + + memcpy (cur, str, slen); + cur += slen; + if (p != node) + { + node->flags |= p->flags & _WSNF_QUOTE; + stop = p == end; + wsnode_remove (wsp, p); + } + p = next; + } + + *cur = 0; + + node->flags &= ~_WSNF_JOIN; + + if (node->flags & _WSNF_WORD) + free (node->v.word); + else + node->flags |= _WSNF_WORD; + node->v.word = buf; + return 0; +} + +static void wordsplit_string_unquote_copy (struct wordsplit *ws, int inquote, + char *dst, const char *src, + size_t n); + +static int +wsnode_quoteremoval (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + + for (p = wsp->ws_head; p; p = p->next) + { + const char *str = wsnode_ptr (wsp, p); + size_t slen = wsnode_len (p); + int unquote; + + if (wsp->ws_flags & WRDSF_QUOTE) + unquote = !(p->flags & _WSNF_NOEXPAND); + else + unquote = 0; + + if (unquote) + { + if (!(p->flags & _WSNF_WORD)) + { + char *newstr = malloc (slen + 1); + if (!newstr) + return _wsplt_nomem (wsp); + memcpy (newstr, str, slen); + newstr[slen] = 0; + p->v.word = newstr; + p->flags |= _WSNF_WORD; + } + + wordsplit_string_unquote_copy (wsp, p->flags & _WSNF_QUOTE, + p->v.word, str, slen); + } + } + return 0; +} + +static int +wsnode_coalesce (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + + for (p = wsp->ws_head; p; p = p->next) + { + if (p->flags & _WSNF_JOIN) + if (coalesce_segment (wsp, p)) + return 1; + } + return 0; +} + +static int +wsnode_tail_coalesce (struct wordsplit *wsp, struct wordsplit_node *p) +{ + if (p->next) + { + struct wordsplit_node *np = p; + while (np && np->next) + { + np->flags |= _WSNF_JOIN; + np = np->next; + } + if (coalesce_segment (wsp, p)) + return 1; + } + return 0; +} + +static size_t skip_delim (struct wordsplit *wsp); + +static int +wordsplit_finish (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + size_t n; + int delim; + + /* Postprocess delimiters. It would be rather simple, if it weren't for + the incremental operation. + + Nodes of type _WSNF_DELIM get inserted to the node list if either + WRDSF_RETURN_DELIMS flag or WRDSO_MAXWORDS option is set. + + The following cases should be distinguished: + + 1. If both WRDSF_SQUEEZE_DELIMS and WRDSF_RETURN_DELIMS are set, compress + any runs of similar delimiter nodes to a single node. The nodes are + 'similar' if they point to the same delimiter character. + + If WRDSO_MAXWORDS option is set, stop compressing when + ws_wordi + 1 == ws_maxwords, and coalesce the rest of nodes into + a single last node. + + 2. If WRDSO_MAXWORDS option is set, but WRDSF_RETURN_DELIMS is not, + remove any delimiter nodes. Stop operation when + ws_wordi + 1 == ws_maxwords, and coalesce the rest of nodes into + a single last node. + + 3. If incremental operation is in progress, restart the loop any time + a delimiter node is about to be returned, unless WRDSF_RETURN_DELIMS + is set. + */ + again: + delim = 0; /* Delimiter being processed (if any) */ + n = 0; /* Number of words processed so far */ + p = wsp->ws_head; /* Current node */ + + while (p) + { + struct wordsplit_node *next = p->next; + if (p->flags & _WSNF_DELIM) + { + if (wsp->ws_flags & WRDSF_RETURN_DELIMS) + { + if (wsp->ws_flags & WRDSF_SQUEEZE_DELIMS) + { + char const *s = wsnode_ptr (wsp, p); + if (delim) + { + if (delim == *s) + { + wsnode_remove (wsp, p); + p = next; + continue; + } + else + { + delim = 0; + n++; /* Count this node; it will be returned */ + } + } + else + { + delim = *s; + p = next; + continue; + } + } + } + else if (wsp->ws_options & WRDSO_MAXWORDS) + { + wsnode_remove (wsp, p); + p = next; + continue; + } + } + else + { + if (delim) + { + /* Last node was a delimiter or a compressed run of delimiters; + Count it, and clear the delimiter marker */ + n++; + delim = 0; + } + if (wsp->ws_options & WRDSO_MAXWORDS) + { + if (wsp->ws_wordi + n + 1 == wsp->ws_maxwords) + break; + } + } + n++; + if (wsp->ws_flags & WRDSF_INCREMENTAL) + p = NULL; /* Break the loop */ + else + p = next; + } + + if (p) + { + /* We're here if WRDSO_MAXWORDS is in effect and wsp->ws_maxwords + words have already been collected. Reconstruct a single final + node from the remaining nodes. */ + if (wsnode_tail_coalesce (wsp, p)) + return wsp->ws_errno; + n++; + } + + if (n == 0) + { + /* The loop above have eliminated all nodes. */ + if (wsp->ws_flags & WRDSF_INCREMENTAL) + { + /* Restart the processing, if there's any input left. */ + if (wsp->ws_endp < wsp->ws_len) + { + int rc; + if (wsp->ws_flags & WRDSF_SHOWDBG) + wsp->ws_debug (_("Restarting")); + rc = wordsplit_process_list (wsp, skip_delim (wsp)); + if (rc) + return rc; + } + else + { + wsp->ws_errno = WRDSE_EOF; + return WRDSE_EOF; + } + goto again; + } + + if (wsp->ws_flags & WRDSF_NOSPLIT) + { + if (wordsplit_add_segm (wsp, 0, 0, _WSNF_EMPTYOK)) + return wsp->ws_errno; + n = 1; + } + } + + if (alloc_space (wsp, n + 1)) + return wsp->ws_errno; + + while (wsp->ws_head) + { + const char *str = wsnode_ptr (wsp, wsp->ws_head); + size_t slen = wsnode_len (wsp->ws_head); + char *newstr = malloc (slen + 1); + + /* Assign newstr first, even if it is NULL. This way + wordsplit_free will work even if we return + nomem later. */ + wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc] = newstr; + if (!newstr) + return _wsplt_nomem (wsp); + memcpy (newstr, str, slen); + newstr[slen] = 0; + + wsnode_remove (wsp, wsp->ws_head); + + wsp->ws_wordc++; + wsp->ws_wordi++; + + if (wsp->ws_flags & WRDSF_INCREMENTAL) + break; + } + wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc] = NULL; + return 0; +} + +int +wordsplit_append (wordsplit_t *wsp, int argc, char **argv) +{ + int rc; + size_t i; + + rc = alloc_space (wsp, wsp->ws_wordc + argc + 1); + if (rc) + return rc; + for (i = 0; i < argc; i++) + { + char *newstr = strdup (argv[i]); + if (!newstr) + { + while (i > 0) + { + free (wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc + i - 1]); + wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc + i - 1] = NULL; + i--; + } + return _wsplt_nomem (wsp); + } + wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc + i] = newstr; + } + wsp->ws_wordc += i; + wsp->ws_wordv[wsp->ws_offs + wsp->ws_wordc] = NULL; + return 0; +} + +/* Variable expansion */ +static int +node_split_prefix (struct wordsplit *wsp, + struct wordsplit_node **ptail, + struct wordsplit_node *node, + size_t beg, size_t len, int flg) +{ + struct wordsplit_node *newnode; + + if (len == 0) + return 0; + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + if (node->flags & _WSNF_WORD) + { + const char *str = wsnode_ptr (wsp, node); + char *newstr = malloc (len + 1); + if (!newstr) + return _wsplt_nomem (wsp); + memcpy (newstr, str + beg, len); + newstr[len] = 0; + newnode->flags = _WSNF_WORD; + newnode->v.word = newstr; + } + else + { + newnode->v.segm.beg = node->v.segm.beg + beg; + newnode->v.segm.end = newnode->v.segm.beg + len; + } + newnode->flags |= flg; + *ptail = newnode; + return 0; +} + +static int +find_closing_paren (const char *str, size_t i, size_t len, size_t *poff, + char const *paren) +{ + enum { st_init, st_squote, st_dquote } state = st_init; + size_t level = 1; + + for (; i < len; i++) + { + switch (state) + { + case st_init: + switch (str[i]) + { + default: + if (str[i] == paren[0]) + { + level++; + break; + } + else if (str[i] == paren[1]) + { + if (--level == 0) + { + *poff = i; + return 0; + } + break; + } + break; + + case '"': + state = st_dquote; + break; + + case '\'': + state = st_squote; + break; + } + break; + + case st_squote: + if (str[i] == '\'') + state = st_init; + break; + + case st_dquote: + if (str[i] == '\\') + i++; + else if (str[i] == '"') + state = st_init; + break; + } + } + return 1; +} + +static char const * +wsplt_env_find (struct wordsplit *wsp, const char *name, size_t len) +{ + size_t i; + + if (!wsp->ws_env) + return NULL; + if (wsp->ws_flags & WRDSF_ENV_KV) + { + /* A key-value pair environment */ + for (i = 0; wsp->ws_env[i]; i++) + { + size_t elen = strlen (wsp->ws_env[i]); + if (elen == len && memcmp (wsp->ws_env[i], name, elen) == 0) + return wsp->ws_env[i + 1]; + /* Skip the value. Break the loop if it is NULL. */ + i++; + if (wsp->ws_env[i] == NULL) + break; + } + } + else + { + /* Usual (A=B) environment. */ + for (i = 0; wsp->ws_env[i]; i++) + { + size_t j; + const char *var = wsp->ws_env[i]; + + for (j = 0; j < len; j++) + if (name[j] != var[j]) + break; + if (j == len && var[j] == '=') + return var + j + 1; + } + } + return NULL; +} + +static int +wsplt_env_lookup (struct wordsplit *wsp, const char *name, size_t len, + char **ret) +{ + if (wsp->ws_flags & WRDSF_ENV) + { + char const *val = wsplt_env_find (wsp, name, len); + if (val) + { + char *retval = strdup (val); + if (!retval) + return WRDSE_NOSPACE; + *ret = retval; + return WRDSE_OK; + } + } + return WRDSE_UNDEF; +} + +static int +wsplt_env_getvar (struct wordsplit *wsp, const char *name, size_t len, + char **ret) +{ + return wsp->ws_getvar (ret, name, len, wsp->ws_closure); +} + +static int +wsplt_assign_var (struct wordsplit *wsp, const char *name, size_t namelen, + char const *value) +{ + int n = (wsp->ws_flags & WRDSF_ENV_KV) ? 2 : 1; + char *v; + + if (wsp->ws_envidx + n >= wsp->ws_envsiz) + { + size_t sz; + char **newenv; + + if (!wsp->ws_envbuf) + { + if (wsp->ws_flags & WRDSF_ENV) + { + size_t i = 0, j; + + if (wsp->ws_env) + { + for (; wsp->ws_env[i]; i++) + ; + } + + sz = i + n + 1; + + newenv = calloc (sz, sizeof(newenv[0])); + if (!newenv) + return _wsplt_nomem (wsp); + + for (j = 0; j < i; j++) + { + newenv[j] = strdup (wsp->ws_env[j]); + if (!newenv[j]) + { + for (; j > 1; j--) + free (newenv[j-1]); + free (newenv); + return _wsplt_nomem (wsp); + } + } + newenv[j] = NULL; + + wsp->ws_envbuf = newenv; + wsp->ws_envidx = i; + wsp->ws_envsiz = sz; + wsp->ws_env = (const char**) wsp->ws_envbuf; + } + else + { + newenv = calloc (WORDSPLIT_ENV_INIT, sizeof(newenv[0])); + if (!newenv) + return _wsplt_nomem (wsp); + wsp->ws_envbuf = newenv; + wsp->ws_envidx = 0; + wsp->ws_envsiz = WORDSPLIT_ENV_INIT; + wsp->ws_env = (const char**) wsp->ws_envbuf; + wsp->ws_flags |= WRDSF_ENV; + } + } + else + { + size_t n = wsp->ws_envsiz; + + if ((size_t) -1 / 3 * 2 / sizeof (wsp->ws_envbuf[0]) <= n) + return _wsplt_nomem (wsp); + n += (n + 1) / 2; + newenv = realloc (wsp->ws_envbuf, n * sizeof (wsp->ws_envbuf[0])); + if (!newenv) + return _wsplt_nomem (wsp); + wsp->ws_envbuf = newenv; + wsp->ws_envsiz = n; + wsp->ws_env = (const char**) wsp->ws_envbuf; + } + } + + if (wsp->ws_flags & WRDSF_ENV_KV) + { + /* A key-value pair environment */ + char *p = malloc (namelen + 1); + if (!p) + return _wsplt_nomem (wsp); + memcpy (p, name, namelen); + p[namelen] = 0; + + v = strdup (value); + if (!v) + { + free (p); + return _wsplt_nomem (wsp); + } + wsp->ws_env[wsp->ws_envidx++] = p; + wsp->ws_env[wsp->ws_envidx++] = v; + } + else + { + v = malloc (namelen + strlen(value) + 2); + if (!v) + return _wsplt_nomem (wsp); + memcpy (v, name, namelen); + v[namelen++] = '='; + strcpy(v + namelen, value); + wsp->ws_env[wsp->ws_envidx++] = v; + } + wsp->ws_env[wsp->ws_envidx] = NULL; + return WRDSE_OK; +} + +static int +wsplt_assign_param (struct wordsplit *wsp, int param_idx, char *value) +{ + char *v; + + if (param_idx < 0) + return _wsplt_seterr (wsp, WRDSE_BADPARAM); + if (param_idx == wsp->ws_paramc) + { + char **parambuf; + if (!wsp->ws_parambuf) + { + size_t i; + + parambuf = calloc ((size_t)param_idx + 1, sizeof (parambuf[0])); + if (!parambuf) + return _wsplt_nomem (wsp); + + for (i = 0; i < wsp->ws_paramc; i++) + { + parambuf[i] = strdup (wsp->ws_paramv[i]); + if (!parambuf[i]) + { + for (; i > 1; i--) + free (parambuf[i-1]); + free (parambuf); + return _wsplt_nomem (wsp); + } + } + + wsp->ws_parambuf = parambuf; + wsp->ws_paramidx = param_idx; + wsp->ws_paramsiz = param_idx + 1; + } + else + { + size_t n = wsp->ws_paramsiz; + + if ((size_t) -1 / 3 * 2 / sizeof (wsp->ws_parambuf[0]) <= n) + return _wsplt_nomem (wsp); + n += (n + 1) / 2; + parambuf = realloc (wsp->ws_parambuf, n * sizeof (wsp->ws_parambuf[0])); + if (!parambuf) + return _wsplt_nomem (wsp); + wsp->ws_parambuf = parambuf; + wsp->ws_paramsiz = n; + wsp->ws_parambuf[param_idx] = NULL; + } + + wsp->ws_paramv = (const char**) wsp->ws_parambuf; + wsp->ws_paramc = param_idx + 1; + } + else if (param_idx > wsp->ws_paramc) + return _wsplt_seterr (wsp, WRDSE_BADPARAM); + + v = strdup (value); + if (!v) + return _wsplt_nomem (wsp); + + free (wsp->ws_parambuf[param_idx]); + wsp->ws_parambuf[param_idx] = v; + return WRDSE_OK; +} + +/* Recover from what looked like a variable reference, but turned out + not to be one. STR points to first character after '$'. */ +static int +expvar_recover (struct wordsplit *wsp, const char *str, + struct wordsplit_node **ptail, const char **pend, int flg) +{ + struct wordsplit_node *newnode; + + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + *ptail = newnode; + newnode->flags = _WSNF_WORD | flg; + newnode->v.word = malloc (3); + if (!newnode->v.word) + return _wsplt_nomem (wsp); + newnode->v.word[0] = '$'; + newnode->v.word[1] = str[0]; + newnode->v.word[2] = 0; + *pend = str; + return 0; +} + +static int +expand_paramv (struct wordsplit *wsp, struct wordsplit_node **ptail, int flg, + int q) +{ + struct wordsplit ws; + int wsflags = WRDSF_NOVAR | WRDSF_NOCMD | WRDSF_QUOTE + | (WSP_RETURN_DELIMS (wsp) ? WRDSF_RETURN_DELIMS : 0) + | (q ? WRDSF_NOSPLIT : 0); + size_t i; + struct wordsplit_node *tail = *ptail; + + for (i = 0; i < wsp->ws_paramc; i++) + { + struct wordsplit_node *np; + int rc = _wsplt_subsplit (wsp, &ws, + wsp->ws_paramv[i], strlen (wsp->ws_paramv[i]), + wsflags, q); + if (rc) + { + _wsplt_seterr_sub (wsp, &ws); + wordsplit_free (&ws); + return 1; + } + + if (q) + { + if (wsnode_new (wsp, &np)) + return 1; + wsnode_insert (wsp, np, *ptail, 0); + *ptail = np; + np->flags = _WSNF_WORD | _WSNF_NOEXPAND | flg; + np->v.word = ws.ws_wordv[0]; + + ws.ws_wordv[0] = NULL; + } + else + { + for (np = ws.ws_head; np; np = np->next) + np->flags = _WSNF_WORD | _WSNF_NOEXPAND | flg; + wsnode_insert (wsp, ws.ws_head, *ptail, 0); + *ptail = ws.ws_tail; + ws.ws_head = ws.ws_tail = NULL; + } + + wsflags |= WRDSF_REUSE; + } + if (wsflags & WRDSF_REUSE) + wordsplit_free (&ws); + + if (flg & _WSNF_QUOTE) + { + tail = tail->next; + /* Insert delimiters, mark nodes as joinable */ + while (tail != *ptail) + { + struct wordsplit_node *next = tail->next; + struct wordsplit_node *newnode; + + tail->flags |= _WSNF_JOIN; + + if (wsnode_new (wsp, &newnode)) + return 1; + newnode->flags = _WSNF_WORD | _WSNF_CONST | _WSNF_NOEXPAND | _WSNF_JOIN; + newnode->v.word = wsp->ws_sep; + + wsnode_insert (wsp, newnode, tail, 0); + tail = next; + } + } + + return 0; +} + +static int +expvar (struct wordsplit *wsp, const char *str, size_t len, + struct wordsplit_node **ptail, const char **pend, int flg) +{ + size_t i = 0; + const char *defstr = NULL; + char *value; + struct wordsplit_node *newnode; + const char *start = str - 1; + int rc; + struct wordsplit ws; + int is_param = 0; + long param_idx = 0; + + if (ISVARBEG (str[0])) + { + for (i = 1; i < len; i++) + if (!is_name_char (wsp, str[i])) + break; + *pend = str + i - 1; + } + else if ((wsp->ws_options & WRDSO_PARAMV) && ISDIGIT (str[0])) + { + i = 1; + *pend = str; + is_param = 1; + param_idx = to_num (str[0]); + } + else if ((wsp->ws_options & WRDSO_PARAMV) && str[0] == '#') + { + char b[16]; + snprintf (b, sizeof(b), "%d", (int) wsp->ws_paramc); + value = strdup (b); + if (!value) + return _wsplt_nomem (wsp); + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + *ptail = newnode; + newnode->flags = _WSNF_WORD | _WSNF_NOEXPAND | flg; + newnode->v.word = value; + return 0; + } + else if ((wsp->ws_options & WRDSO_PARAMV) && str[0] == '*') + { + return expand_paramv (wsp, ptail, flg, 0); + } + else if ((wsp->ws_options & WRDSO_PARAMV) && str[0] == '@') + { + return expand_paramv (wsp, ptail, flg, 1); + } + else if (str[0] == '{' + && (ISVARBEG (str[1]) + || (is_param = (((wsp->ws_options & WRDSO_PARAMV) + && ISDIGIT (str[1])) + || ((wsp->ws_options & WRDSO_PARAM_NEGIDX) + && (str[1] == '-' + && ISDIGIT (str[2]))))) != 0)) + { + int i0 = str[0] == '-' ? 1 : 0; + str++; + len--; + for (i = i0; i < len; i++) + { + if (str[i] == '}') + { + defstr = NULL; + *pend = str + i; + break; + } + else if (strchr ("-+?=", str[i])) + { + size_t j; + + defstr = str + i; + if (find_closing_paren (str, i, len, &j, "{}")) + return _wsplt_seterr (wsp, WRDSE_CBRACE); + if (i > i0 + 1 && str[i-1] == ':') + i--; + *pend = str + j; + break; + } + else if (is_param) + { + if (ISDIGIT (str[i])) + { + param_idx = param_idx * 10 + to_num (str[i]); + if ((str[0] == '-' && -param_idx < INT_MIN) + || param_idx > INT_MAX) + return expvar_recover (wsp, str - 1, ptail, pend, flg); + } + else + { + return expvar_recover (wsp, str - 1, ptail, pend, flg); + } + } + else if (!is_name_char (wsp, str[i])) + { + if (str[i] == ':' && i + 1 < len && strchr ("-+?=", str[i+1])) + continue; + return expvar_recover (wsp, str - 1, ptail, pend, flg); + } + } + + if (is_param && str[0] == '-') + param_idx = wsp->ws_paramc - param_idx; + + if (i == len) + return _wsplt_seterr (wsp, WRDSE_CBRACE); + } + else + { + return expvar_recover (wsp, str, ptail, pend, flg); + } + + /* Actually expand the variable */ + /* str - start of the variable name + i - its length + defstr - default replacement str */ + + if (is_param) + { + if (param_idx >= 0 && param_idx < wsp->ws_paramc) + { + value = strdup (wsp->ws_paramv[param_idx]); + if (!value) + rc = WRDSE_NOSPACE; + else + rc = WRDSE_OK; + } + else + rc = WRDSE_UNDEF; + } + else + { + if (wsp->ws_flags & WRDSF_GETVAR) + { + if (wsp->ws_options & WRDSO_GETVARPREF) + { + rc = wsplt_env_getvar (wsp, str, i, &value); + if (rc == WRDSE_UNDEF) + rc = wsplt_env_lookup (wsp, str, i, &value); + } + else + { + rc = wsplt_env_lookup (wsp, str, i, &value); + if (rc == WRDSE_UNDEF) + rc = wsplt_env_getvar (wsp, str, i, &value); + } + } + else + rc = wsplt_env_lookup (wsp, str, i, &value); + } + + if (rc == WRDSE_OK + && (!value || value[0] == 0) + && defstr && defstr[-1] == ':') + { + free (value); + rc = WRDSE_UNDEF; + } + + switch (rc) + { + case WRDSE_OK: + if (defstr && *defstr == '+') + { + size_t size = *pend - ++defstr; + + rc = _wsplt_subsplit (wsp, &ws, defstr, size, + WRDSF_NOSPLIT | WRDSF_WS | WRDSF_QUOTE | + (wsp->ws_flags & + (WRDSF_NOVAR | WRDSF_NOCMD)), 1); + if (rc) + return rc; + free (value); + value = ws.ws_wordv[0]; + ws.ws_wordv[0] = NULL; + wordsplit_free (&ws); + } + break; + + case WRDSE_UNDEF: + if (defstr) + { + size_t size; + if (*defstr == '-' || *defstr == '=') + { + size = *pend - ++defstr; + + rc = _wsplt_subsplit (wsp, &ws, defstr, size, + WRDSF_NOSPLIT | WRDSF_WS | WRDSF_QUOTE | + (wsp->ws_flags & + (WRDSF_NOVAR | WRDSF_NOCMD)), + 1); + if (rc) + return rc; + + value = ws.ws_wordv[0]; + ws.ws_wordv[0] = NULL; + wordsplit_free (&ws); + + if (defstr[-1] == '=') + { + if (is_param) + rc = wsplt_assign_param (wsp, param_idx, value); + else + rc = wsplt_assign_var (wsp, str, i, value); + } + if (rc) + { + free (value); + return rc; + } + } + else + { + if (*defstr == '?') + { + size = *pend - ++defstr; + if (size == 0) + wsp->ws_error (_("%.*s: variable null or not set"), + (int) i, str); + else + { + rc = _wsplt_subsplit (wsp, &ws, defstr, size, + WRDSF_NOSPLIT | WRDSF_WS | + WRDSF_QUOTE | + (wsp->ws_flags & + (WRDSF_NOVAR | WRDSF_NOCMD)), + 1); + if (rc == 0) + wsp->ws_error ("%.*s: %s", + (int) i, str, ws.ws_wordv[0]); + else + wsp->ws_error ("%.*s: %.*s", + (int) i, str, (int) size, defstr); + wordsplit_free (&ws); + } + } + value = NULL; + } + } + else if (wsp->ws_flags & WRDSF_UNDEF) + { + _wsplt_setctxerr (wsp, WRDSE_UNDEF, str, i); + return 1; + } + else + { + if (wsp->ws_flags & WRDSF_WARNUNDEF) + wsp->ws_error (_("warning: undefined variable `%.*s'"), + (int) i, str); + if (wsp->ws_flags & WRDSF_KEEPUNDEF) + value = NULL; + else + { + value = strdup (""); + if (!value) + return _wsplt_nomem (wsp); + } + } + break; + + case WRDSE_NOSPACE: + return _wsplt_nomem (wsp); + + case WRDSE_USERERR: + if (wsp->ws_errno == WRDSE_USERERR) + free (wsp->ws_usererr); + wsp->ws_usererr = value; + /* fall through */ + default: + _wsplt_seterr (wsp, rc); + return 1; + } + + if (value) + { + if (flg & _WSNF_QUOTE) + { + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + *ptail = newnode; + newnode->flags = _WSNF_WORD | _WSNF_NOEXPAND | flg; + newnode->v.word = value; + } + else if (*value == 0) + { + free (value); + /* Empty string is a special case */ + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + *ptail = newnode; + newnode->flags = _WSNF_NULL; + } + else + { + struct wordsplit ws; + int rc; + + rc = _wsplt_subsplit (wsp, &ws, value, strlen (value), + WRDSF_NOVAR | WRDSF_NOCMD | + WRDSF_QUOTE + | (WSP_RETURN_DELIMS (wsp) ? WRDSF_RETURN_DELIMS : 0) , + 0); + free (value); + if (rc) + { + _wsplt_seterr_sub (wsp, &ws); + wordsplit_free (&ws); + return 1; + } + wsnode_insert (wsp, ws.ws_head, *ptail, 0); + *ptail = ws.ws_tail; + ws.ws_head = ws.ws_tail = NULL; + wordsplit_free (&ws); + } + } + else if (wsp->ws_flags & WRDSF_KEEPUNDEF) + { + size_t size = *pend - start + 1; + + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + *ptail = newnode; + newnode->flags = _WSNF_WORD | _WSNF_NOEXPAND | flg; + newnode->v.word = malloc (size + 1); + if (!newnode->v.word) + return _wsplt_nomem (wsp); + memcpy (newnode->v.word, start, size); + newnode->v.word[size] = 0; + } + else + { + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + *ptail = newnode; + newnode->flags = _WSNF_NULL; + } + return 0; +} + +static int +begin_var_p (int c) +{ + return memchr ("{#@*", c, 4) != NULL || ISVARBEG (c) || ISDIGIT (c); +} + +static int +node_expand (struct wordsplit *wsp, struct wordsplit_node *node, + int (*beg_p) (int), + int (*ws_exp_fn) (struct wordsplit *wsp, + const char *str, size_t len, + struct wordsplit_node **ptail, + const char **pend, + int flg)) +{ + const char *str = wsnode_ptr (wsp, node); + size_t slen = wsnode_len (node); + const char *end = str + slen; + const char *p; + size_t off = 0; + struct wordsplit_node *tail = node; + + for (p = str; p < end; p++) + { + if (*p == '\\') + { + p++; + continue; + } + if (*p == '$' && beg_p (p[1])) + { + size_t n = p - str; + + if (tail != node) + tail->flags |= _WSNF_JOIN; + if (node_split_prefix (wsp, &tail, node, off, n, _WSNF_JOIN)) + return 1; + p++; + if (ws_exp_fn (wsp, p, slen - n, &tail, &p, + node->flags & (_WSNF_JOIN | _WSNF_QUOTE))) + return 1; + off += p - str + 1; + str = p + 1; + } + } + if (p > str) + { + if (tail != node) + tail->flags |= _WSNF_JOIN; + if (node_split_prefix (wsp, &tail, node, off, p - str, + node->flags & (_WSNF_JOIN|_WSNF_QUOTE))) + return 1; + } + if (tail != node) + { + wsnode_remove (wsp, node); + } + return 0; +} + +/* Remove NULL nodes from the list */ +static void +wsnode_nullelim (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + + for (p = wsp->ws_head; p;) + { + struct wordsplit_node *next = p->next; + if (p->flags & _WSNF_DELIM && p->prev) + p->prev->flags &= ~_WSNF_JOIN; + if (p->flags & _WSNF_NULL) + { + wsnode_remove (wsp, p); + } + p = next; + } +} + +static int +wordsplit_varexp (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + + for (p = wsp->ws_head; p;) + { + struct wordsplit_node *next = p->next; + if (!(p->flags & (_WSNF_NOEXPAND|_WSNF_DELIM))) + if (node_expand (wsp, p, begin_var_p, expvar)) + return 1; + p = next; + } + + wsnode_nullelim (wsp); + return 0; +} + +static int +begin_cmd_p (int c) +{ + return c == '('; +} + +static int +expcmd (struct wordsplit *wsp, const char *str, size_t len, + struct wordsplit_node **ptail, const char **pend, int flg) +{ + int rc; + size_t j; + char *value; + struct wordsplit_node *newnode; + struct wordsplit ws; + + str++; + len--; + + if (find_closing_paren (str, 0, len, &j, "()")) + { + _wsplt_seterr (wsp, WRDSE_PAREN); + return 1; + } + + *pend = str + j; + rc = _wsplt_subsplit (wsp, &ws, str, j, WRDSF_WS | WRDSF_QUOTE, 1); + if (rc) + { + _wsplt_seterr_sub (wsp, &ws); + wordsplit_free (&ws); + return 1; + } + rc = wsp->ws_command (&value, str, j, ws.ws_wordv, wsp->ws_closure); + wordsplit_free (&ws); + + if (rc == WRDSE_NOSPACE) + return _wsplt_nomem (wsp); + else if (rc) + { + if (rc == WRDSE_USERERR) + { + if (wsp->ws_errno == WRDSE_USERERR) + free (wsp->ws_usererr); + wsp->ws_usererr = value; + } + _wsplt_seterr (wsp, rc); + return 1; + } + + if (value) + { + if (flg & _WSNF_QUOTE) + { + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + *ptail = newnode; + newnode->flags = _WSNF_WORD | _WSNF_NOEXPAND | flg; + newnode->v.word = value; + } + else if (*value == 0) + { + free (value); + /* Empty string is a special case */ + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + *ptail = newnode; + newnode->flags = _WSNF_NULL; + } + else + { + struct wordsplit ws; + int rc; + + rc = _wsplt_subsplit (wsp, &ws, value, strlen (value), + WRDSF_NOVAR | WRDSF_NOCMD + | WRDSF_WS | WRDSF_QUOTE + | (WSP_RETURN_DELIMS (wsp) ? WRDSF_RETURN_DELIMS : 0), + 0); + free (value); + if (rc) + { + _wsplt_seterr_sub (wsp, &ws); + wordsplit_free (&ws); + return 1; + } + wsnode_insert (wsp, ws.ws_head, *ptail, 0); + *ptail = ws.ws_tail; + ws.ws_head = ws.ws_tail = NULL; + wordsplit_free (&ws); + } + } + else + { + if (wsnode_new (wsp, &newnode)) + return 1; + wsnode_insert (wsp, newnode, *ptail, 0); + *ptail = newnode; + newnode->flags = _WSNF_NULL; + } + return 0; +} + +static int +wordsplit_cmdexp (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + + for (p = wsp->ws_head; p;) + { + struct wordsplit_node *next = p->next; + if (!(p->flags & _WSNF_NOEXPAND)) + if (node_expand (wsp, p, begin_cmd_p, expcmd)) + return 1; + p = next; + } + + wsnode_nullelim (wsp); + return 0; +} + +/* Strip off any leading and trailing whitespace. This function is called + right after the initial scanning, therefore it assumes that every + node in the list is a text reference node. */ +static int +wordsplit_trimws (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + + for (p = wsp->ws_head; p; p = p->next) + { + size_t n; + + if (!(p->flags & _WSNF_QUOTE)) + { + /* Skip leading whitespace: */ + for (n = p->v.segm.beg; n < p->v.segm.end && ISWS (wsp->ws_input[n]); + n++) + ; + p->v.segm.beg = n; + } + + while (p->next && (p->flags & _WSNF_JOIN)) + p = p->next; + + if (p->flags & _WSNF_QUOTE) + continue; + + /* Trim trailing whitespace */ + for (n = p->v.segm.end; + n > p->v.segm.beg && ISWS (wsp->ws_input[n - 1]); n--); + p->v.segm.end = n; + if (p->v.segm.beg == p->v.segm.end) + p->flags |= _WSNF_NULL; + } + + wsnode_nullelim (wsp); + return 0; +} + +static int +wordsplit_tildexpand (struct wordsplit *wsp) +{ + struct wordsplit_node *p; + char *uname = NULL; + size_t usize = 0; + + for (p = wsp->ws_head; p; p = p->next) + { + const char *str; + + if (p->flags & _WSNF_QUOTE) + continue; + + str = wsnode_ptr (wsp, p); + if (str[0] == '~') + { + size_t i, size, dlen; + size_t slen = wsnode_len (p); + struct passwd *pw; + char *newstr; + + for (i = 1; i < slen && str[i] != '/'; i++) + ; + if (i == slen) + continue; + if (i > 1) + { + if (i > usize) + { + char *p = realloc (uname, i); + if (!p) + { + free (uname); + return _wsplt_nomem (wsp); + } + uname = p; + usize = i; + } + --i; + memcpy (uname, str + 1, i); + uname[i] = 0; + pw = getpwnam (uname); + } + else + pw = getpwuid (getuid ()); + + if (!pw) + continue; + + dlen = strlen (pw->pw_dir); + size = slen - i + dlen; + newstr = malloc (size); + if (!newstr) + { + free (uname); + return _wsplt_nomem (wsp); + } + --size; + + memcpy (newstr, pw->pw_dir, dlen); + memcpy (newstr + dlen, str + i + 1, slen - i - 1); + newstr[size] = 0; + if (p->flags & _WSNF_WORD) + free (p->v.word); + p->v.word = newstr; + p->flags |= _WSNF_WORD; + } + } + free (uname); + return 0; +} + +static int +isglob (const char *s, int l) +{ + while (l--) + { + if (strchr ("*?[", *s++)) + return 1; + } + return 0; +} + +static int +wordsplit_pathexpand (struct wordsplit *wsp) +{ + struct wordsplit_node *p, *next; + char *pattern = NULL; + size_t patsize = 0; + size_t slen; + int flags = 0; + +#ifdef GLOB_PERIOD + if (wsp->ws_options & WRDSO_DOTGLOB) + flags = GLOB_PERIOD; +#endif + + for (p = wsp->ws_head; p; p = next) + { + const char *str; + + next = p->next; + + if (p->flags & _WSNF_QUOTE) + continue; + + str = wsnode_ptr (wsp, p); + slen = wsnode_len (p); + + if (isglob (str, slen)) + { + int i; + glob_t g; + struct wordsplit_node *prev; + + if (slen + 1 > patsize) + { + char *p = realloc (pattern, slen + 1); + if (!p) + return _wsplt_nomem (wsp); + pattern = p; + patsize = slen + 1; + } + memcpy (pattern, str, slen); + pattern[slen] = 0; + + switch (glob (pattern, flags, NULL, &g)) + { + case 0: + break; + + case GLOB_NOSPACE: + free (pattern); + return _wsplt_nomem (wsp); + + case GLOB_NOMATCH: + if (wsp->ws_options & WRDSO_NULLGLOB) + { + wsnode_remove (wsp, p); + } + else if (wsp->ws_options & WRDSO_FAILGLOB) + { + char buf[128]; + if (wsp->ws_errno == WRDSE_USERERR) + free (wsp->ws_usererr); + snprintf (buf, sizeof (buf), _("no files match pattern %s"), + pattern); + free (pattern); + wsp->ws_usererr = strdup (buf); + if (!wsp->ws_usererr) + return _wsplt_nomem (wsp); + else + return _wsplt_seterr (wsp, WRDSE_USERERR); + } + continue; + + default: + free (pattern); + return _wsplt_setctxerr (wsp, WRDSE_GLOBERR, pattern, slen); + } + + prev = p; + for (i = 0; i < g.gl_pathc; i++) + { + struct wordsplit_node *newnode; + char *newstr; + + if (wsnode_new (wsp, &newnode)) + return 1; + newstr = strdup (g.gl_pathv[i]); + if (!newstr) + return _wsplt_nomem (wsp); + newnode->v.word = newstr; + newnode->flags |= _WSNF_WORD|_WSNF_QUOTE; + wsnode_insert (wsp, newnode, prev, 0); + prev = newnode; + } + globfree (&g); + + wsnode_remove (wsp, p); + } + } + free (pattern); + return 0; +} + +static int +skip_sed_expr (const char *command, size_t i, size_t len) +{ + int state; + + do + { + int delim; + + if (command[i] == ';') + i++; + if (!(command[i] == 's' && i + 3 < len && ISPUNCT (command[i + 1]))) + break; + + delim = command[++i]; + state = 1; + for (i++; i < len; i++) + { + if (state == 3) + { + if (command[i] == delim || !ISALNUM (command[i])) + break; + } + else if (command[i] == '\\') + i++; + else if (command[i] == delim) + state++; + } + } + while (state == 3 && i < len && command[i] == ';'); + return i; +} + +/* wsp->ws_endp points to a delimiter character. If RETURN_DELIMS + is true, return its value, otherwise return the index past it. */ +static inline size_t +skip_delim_internal (struct wordsplit *wsp, int return_delims) +{ + return return_delims ? wsp->ws_endp : wsp->ws_endp + 1; +} + +static inline size_t +skip_delim (struct wordsplit *wsp) +{ + return skip_delim_internal (wsp, WSP_RETURN_DELIMS (wsp)); +} + +static inline size_t +skip_delim_real (struct wordsplit *wsp) +{ + return skip_delim_internal (wsp, wsp->ws_flags & WRDSF_RETURN_DELIMS); +} + +#define _WRDS_EOF 0 +#define _WRDS_OK 1 +#define _WRDS_ERR 2 + +static int +scan_qstring (struct wordsplit *wsp, size_t start, size_t *end) +{ + size_t j; + const char *command = wsp->ws_input; + size_t len = wsp->ws_len; + char q = command[start]; + + for (j = start + 1; j < len && command[j] != q; j++) + if (q == '"' && command[j] == '\\') + j++; + if (j < len && command[j] == q) + { + int flags = _WSNF_QUOTE | _WSNF_EMPTYOK; + if (q == '\'') + flags |= _WSNF_NOEXPAND; + if (wordsplit_add_segm (wsp, start + 1, j, flags)) + return _WRDS_ERR; + *end = j; + } + else + { + wsp->ws_endp = start; + _wsplt_seterr (wsp, WRDSE_QUOTE); + return _WRDS_ERR; + } + return 0; +} + +static int +scan_word (struct wordsplit *wsp, size_t start, int consume_all) +{ + size_t len = wsp->ws_len; + const char *command = wsp->ws_input; + const char *comment = wsp->ws_comment; + int join = 0; + int flags = 0; + struct wordsplit_node *np = wsp->ws_tail; + + size_t i = start; + + if (i >= len) + { + wsp->ws_errno = WRDSE_EOF; + return _WRDS_EOF; + } + + start = i; + + if (wsp->ws_flags & WRDSF_SED_EXPR + && command[i] == 's' && i + 3 < len && ISPUNCT (command[i + 1])) + { + flags = _WSNF_SEXP; + i = skip_sed_expr (command, i, len); + } + else if (consume_all || !ISDELIM (wsp, command[i])) + { + while (i < len) + { + if (comment && strchr (comment, command[i]) != NULL) + { + size_t j; + for (j = i + 1; j < len && command[j] != '\n'; j++) + ; + if (wordsplit_add_segm (wsp, start, i, 0)) + return _WRDS_ERR; + wsp->ws_endp = j; + return _WRDS_OK; + } + + if (wsp->ws_flags & WRDSF_QUOTE) + { + if (command[i] == '\\') + { + if (++i == len) + break; + i++; + continue; + } + + if (((wsp->ws_flags & WRDSF_SQUOTE) && command[i] == '\'') || + ((wsp->ws_flags & WRDSF_DQUOTE) && command[i] == '"')) + { + if (join && wsp->ws_tail) + wsp->ws_tail->flags |= _WSNF_JOIN; + if (wordsplit_add_segm (wsp, start, i, _WSNF_JOIN)) + return _WRDS_ERR; + if (scan_qstring (wsp, i, &i)) + return _WRDS_ERR; + start = i + 1; + join = 1; + } + } + + if (command[i] == '$') + { + if ((!(wsp->ws_flags & WRDSF_NOVAR) + || (wsp->ws_options & WRDSO_NOVARSPLIT)) + && command[i+1] == '{' + && find_closing_paren (command, i + 2, len, &i, "{}") == 0) + continue; + if ((!(wsp->ws_flags & WRDSF_NOCMD) + || (wsp->ws_options & WRDSO_NOCMDSPLIT)) + && command[i+1] == '(' + && find_closing_paren (command, i + 2, len, &i, "()") == 0) + continue; + } + + if (!consume_all && ISDELIM (wsp, command[i])) + break; + else + i++; + } + } + else if (WSP_RETURN_DELIMS (wsp)) + { + i++; + flags |= _WSNF_DELIM; + } + else if (!(wsp->ws_flags & WRDSF_SQUEEZE_DELIMS)) + flags |= _WSNF_EMPTYOK; + + if (join && i > start && wsp->ws_tail) + wsp->ws_tail->flags |= _WSNF_JOIN; + if (wordsplit_add_segm (wsp, start, i, flags)) + return _WRDS_ERR; + wsp->ws_endp = i; + if (wsp->ws_flags & WRDSF_INCREMENTAL) + return _WRDS_EOF; + + if (consume_all) + { + if (!np) + np = wsp->ws_head; + while (np) + { + np->flags |= _WSNF_QUOTE; + np = np->next; + } + } + + return _WRDS_OK; +} + +static int +xtonum (int *pval, const char *src, int base, int cnt) +{ + int i, val; + + for (i = 0, val = 0; i < cnt; i++, src++) + { + int n = *(unsigned char *) src; + if (n > 127 || (n = to_num (n)) >= base) + break; + val = val * base + n; + } + *pval = val; + return i; +} + +size_t +wordsplit_c_quoted_length (const char *str, int quote_hex, int *quote) +{ + size_t len = 0; + + *quote = 0; + for (; *str; str++) + { + if (strchr (" \"", *str)) + *quote = 1; + + if (*str == ' ') + len++; + else if (*str == '"') + len += 2; + else if (*str != '\t' && *str != '\\' && ISPRINT (*str)) + len++; + else if (quote_hex) + len += 3; + else + { + if (wordsplit_c_quote_char (*str)) + len += 2; + else + len += 4; + } + } + return len; +} + +static int +wsplt_unquote_char (const char *transtab, int c) +{ + while (*transtab && transtab[1]) + { + if (*transtab++ == c) + return *transtab; + ++transtab; + } + return 0; +} + +static int +wsplt_quote_char (const char *transtab, int c) +{ + for (; *transtab && transtab[1]; transtab += 2) + { + if (transtab[1] == c) + return *transtab; + } + return 0; +} + +int +wordsplit_c_unquote_char (int c) +{ + return wsplt_unquote_char (wordsplit_c_escape_tab, c); +} + +int +wordsplit_c_quote_char (int c) +{ + return wsplt_quote_char (wordsplit_c_escape_tab, c); +} + +void +wordsplit_string_unquote_copy (struct wordsplit *ws, int inquote, + char *dst, const char *src, size_t n) +{ + int i = 0; + int c; + + inquote = !!inquote; + while (i < n) + { + if (src[i] == '\\') + { + ++i; + if (WRDSO_ESC_TEST (ws, inquote, WRDSO_XESC) + && (src[i] == 'x' || src[i] == 'X')) + { + if (n - i < 2) + { + *dst++ = '\\'; + *dst++ = src[i++]; + } + else + { + int off = xtonum (&c, src + i + 1, + 16, 2); + if (off == 0) + { + *dst++ = '\\'; + *dst++ = src[i++]; + } + else + { + *dst++ = c; + i += off + 1; + } + } + } + else if (WRDSO_ESC_TEST (ws, inquote, WRDSO_OESC) + && (unsigned char) src[i] < 128 && ISDIGIT (src[i])) + { + if (n - i < 1) + { + *dst++ = '\\'; + *dst++ = src[i++]; + } + else + { + int off = xtonum (&c, src + i, 8, 3); + if (off == 0) + { + *dst++ = '\\'; + *dst++ = src[i++]; + } + else + { + *dst++ = c; + i += off; + } + } + } + else if ((c = wsplt_unquote_char (ws->ws_escape[inquote], src[i]))) + { + *dst++ = c; + ++i; + } + else + { + if (WRDSO_ESC_TEST (ws, inquote, WRDSO_BSKEEP)) + *dst++ = '\\'; + *dst++ = src[i++]; + } + } + else + *dst++ = src[i++]; + } + *dst = 0; +} + +void +wordsplit_c_quote_copy (char *dst, const char *src, int quote_hex) +{ + for (; *src; src++) + { + if (*src == '"') + { + *dst++ = '\\'; + *dst++ = *src; + } + else if (*src != '\t' && *src != '\\' && ISPRINT (*src)) + *dst++ = *src; + else + { + char tmp[4]; + + if (quote_hex) + { + snprintf (tmp, sizeof tmp, "%%%02X", *(unsigned char *) src); + memcpy (dst, tmp, 3); + dst += 3; + } + else + { + int c = wordsplit_c_quote_char (*src); + *dst++ = '\\'; + if (c) + *dst++ = c; + else + { + snprintf (tmp, sizeof tmp, "%03o", *(unsigned char *) src); + memcpy (dst, tmp, 3); + dst += 3; + } + } + } + } +} + + +/* This structure describes a single expansion phase */ +struct exptab +{ + char const *descr; /* Textual description (for debugging) */ + int flag; /* WRDSF_ bit that controls this phase */ + int opt; /* Entry-specific options (see EXPOPT_ flags below */ + int (*expansion) (struct wordsplit *wsp); /* expansion function */ +}; + +/* The following options control expansions: */ +/* Normally the exptab entry is run if its flag bit is set in struct + wordsplit. The EXPOPT_NEG option negates this test so that expansion + is performed if its associated flag bit is not set in struct wordsplit. */ +#define EXPOPT_NEG 0x01 +/* All bits in flag must be set in order for entry to match */ +#define EXPORT_ALLOF 0x02 +/* Coalesce the input list before running the expansion. */ +#define EXPOPT_COALESCE 0x04 + +static struct exptab exptab[] = { + { N_("WS trimming"), WRDSF_WS, 0, + wordsplit_trimws }, + { N_("command substitution"), WRDSF_NOCMD, EXPOPT_NEG|EXPOPT_COALESCE, + wordsplit_cmdexp }, + { N_("coalesce list"), 0, EXPOPT_NEG|EXPOPT_COALESCE, + NULL }, + { N_("tilde expansion"), WRDSF_PATHEXPAND, 0, + wordsplit_tildexpand }, + { N_("variable expansion"), WRDSF_NOVAR, EXPOPT_NEG, + wordsplit_varexp }, + { N_("quote removal"), 0, EXPOPT_NEG, + wsnode_quoteremoval }, + { N_("coalesce list"), 0, EXPOPT_NEG|EXPOPT_COALESCE, + NULL }, + { N_("path expansion"), WRDSF_PATHEXPAND, 0, + wordsplit_pathexpand }, + { NULL } +}; + +static inline int +exptab_matches(struct exptab *p, struct wordsplit *wsp) +{ + int result; + + result = (wsp->ws_flags & p->flag); + if (p->opt & EXPORT_ALLOF) + result = result == p->flag; + if (p->opt & EXPOPT_NEG) + result = !result; + + return result; +} + +static int +wordsplit_process_list (struct wordsplit *wsp, size_t start) +{ + struct exptab *p; + + if (wsp->ws_flags & WRDSF_SHOWDBG) + wsp->ws_debug (_("(%02d) Input:%.*s;"), + wsp->ws_lvl, (int) wsp->ws_len, wsp->ws_input); + + if ((wsp->ws_flags & WRDSF_NOSPLIT) + || ((wsp->ws_options & WRDSO_MAXWORDS) + && wsp->ws_wordi + 1 == wsp->ws_maxwords)) + { + /* Treat entire input as a single word */ + if (scan_word (wsp, start, 1) == _WRDS_ERR) + return wsp->ws_errno; + } + else + { + int rc; + + while ((rc = scan_word (wsp, start, 0)) == _WRDS_OK) + start = skip_delim (wsp); + /* Make sure tail element is not joinable */ + if (wsp->ws_tail) + wsp->ws_tail->flags &= ~_WSNF_JOIN; + if (rc == _WRDS_ERR) + return wsp->ws_errno; + } + + if (wsp->ws_flags & WRDSF_SHOWDBG) + { + wsp->ws_debug ("(%02d) %s", wsp->ws_lvl, _("Initial list:")); + wordsplit_dump_nodes (wsp); + } + + for (p = exptab; p->descr; p++) + { + if (exptab_matches(p, wsp)) + { + if (p->opt & EXPOPT_COALESCE) + { + if (wsnode_coalesce (wsp)) + break; + if (wsp->ws_flags & WRDSF_SHOWDBG) + { + wsp->ws_debug ("(%02d) %s", wsp->ws_lvl, + _("Coalesced list:")); + wordsplit_dump_nodes (wsp); + } + } + if (p->expansion) + { + if (p->expansion (wsp)) + break; + if (wsp->ws_flags & WRDSF_SHOWDBG) + { + wsp->ws_debug ("(%02d) %s", wsp->ws_lvl, _(p->descr)); + wordsplit_dump_nodes (wsp); + } + } + } + } + + return wsp->ws_errno; +} + +static int +wordsplit_run (const char *command, size_t length, struct wordsplit *wsp, + int flags, int lvl) +{ + int rc; + size_t start; + + /* Initialize error context early */ + wsp->ws_errctx = NULL; + if (!command) + { + if (!(flags & WRDSF_INCREMENTAL)) + return _wsplt_seterr (wsp, WRDSE_USAGE); + + if (wsp->ws_head) + return wordsplit_finish (wsp); + + start = skip_delim_real (wsp); + if (wsp->ws_endp == wsp->ws_len) + return _wsplt_seterr (wsp, WRDSE_NOINPUT); + + wsp->ws_flags |= WRDSF_REUSE; + wordsplit_init0 (wsp); + } + else + { + start = 0; + rc = wordsplit_init (wsp, command, length, flags); + if (rc) + return rc; + wsp->ws_lvl = lvl; + } + + rc = wordsplit_process_list (wsp, start); + if (rc) + return rc; + return wordsplit_finish (wsp); +} + +int +wordsplit_len (const char *command, size_t length, struct wordsplit *wsp, + int flags) +{ + return wordsplit_run (command, length, wsp, flags, 0); +} + +int +wordsplit (const char *command, struct wordsplit *ws, int flags) +{ + return wordsplit_len (command, command ? strlen (command) : 0, ws, flags); +} + +void +wordsplit_free_words (struct wordsplit *ws) +{ + size_t i; + + for (i = 0; i < ws->ws_wordc; i++) + { + char *p = ws->ws_wordv[ws->ws_offs + i]; + if (p) + { + free (p); + ws->ws_wordv[ws->ws_offs + i] = NULL; + } + } + ws->ws_wordc = 0; +} + +void +wordsplit_free_envbuf (struct wordsplit *ws) +{ + if (!(ws->ws_flags & WRDSF_ENV)) + return; + if (ws->ws_envbuf) + { + size_t i; + + for (i = 0; ws->ws_envbuf[i]; i++) + free (ws->ws_envbuf[i]); + free (ws->ws_envbuf); + ws->ws_envidx = ws->ws_envsiz = 0; + ws->ws_envbuf = NULL; + } +} + +void +wordsplit_free_parambuf (struct wordsplit *ws) +{ + if (!(ws->ws_options & WRDSO_PARAMV)) + return; + if (ws->ws_parambuf) + { + size_t i; + + for (i = 0; ws->ws_parambuf[i]; i++) + free (ws->ws_parambuf[i]); + free (ws->ws_parambuf); + ws->ws_paramidx = ws->ws_paramsiz = 0; + ws->ws_parambuf = NULL; + } +} + +void +wordsplit_clearerr (struct wordsplit *ws) +{ + if (ws->ws_errno == WRDSE_USERERR) + free (ws->ws_usererr); + ws->ws_usererr = NULL; + + free (ws->ws_errctx); + ws->ws_errctx = NULL; + + ws->ws_errno = WRDSE_OK; +} + +void +wordsplit_free (struct wordsplit *ws) +{ + if (ws->ws_errno == WRDSE_USAGE) + /* Usage error: the structure is not properly initialized and there's + nothing to free. */ + return; + wordsplit_clearerr (ws); + wordsplit_free_nodes (ws); + wordsplit_free_words (ws); + free (ws->ws_wordv); + ws->ws_wordv = NULL; + wordsplit_free_envbuf (ws); + wordsplit_free_parambuf (ws); +} + +int +wordsplit_get_words (struct wordsplit *ws, size_t *wordc, char ***wordv) +{ + char **p = realloc (ws->ws_wordv, + (ws->ws_wordc + 1) * sizeof (ws->ws_wordv[0])); + if (!p) + return -1; + *wordv = p; + *wordc = ws->ws_wordc; + + ws->ws_wordv = NULL; + ws->ws_wordc = 0; + ws->ws_wordn = 0; + + return 0; +} + +const char *_wordsplit_errstr[] = { + N_("no error"), + N_("missing closing quote"), + N_("memory exhausted"), + N_("invalid wordsplit usage"), + N_("unbalanced curly brace"), + N_("undefined variable"), + N_("input exhausted"), + N_("unbalanced parenthesis"), + N_("globbing error"), + N_("user-defined error"), + N_("invalid parameter number in assignment") +}; +int _wordsplit_nerrs = + sizeof (_wordsplit_errstr) / sizeof (_wordsplit_errstr[0]); + +const char * +wordsplit_strerror (struct wordsplit *ws) +{ + if (ws->ws_errno == WRDSE_USERERR) + return ws->ws_usererr; + if (ws->ws_errno < _wordsplit_nerrs) + return _wordsplit_errstr[ws->ws_errno]; + return N_("unknown error"); +} + +void +wordsplit_perror (struct wordsplit *wsp) +{ + switch (wsp->ws_errno) + { + case WRDSE_QUOTE: + wsp->ws_error (_("missing closing %c (start near #%lu)"), + wsp->ws_input[wsp->ws_endp], + (unsigned long) wsp->ws_endp); + break; + + default: + if (wsp->ws_errctx) + wsp->ws_error ("%s: %s", wordsplit_strerror (wsp), wsp->ws_errctx); + else + wsp->ws_error ("%s", wordsplit_strerror (wsp)); + } +} diff -Nru dico-2.9/grecs/wordsplit/wordsplit.h dico-2.10/grecs/wordsplit/wordsplit.h --- dico-2.9/grecs/wordsplit/wordsplit.h 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/grecs/wordsplit/wordsplit.h 2020-06-14 10:26:03.000000000 +0000 @@ -0,0 +1,312 @@ +/* wordsplit - a word splitter + Copyright (C) 2009-2019 Sergey Poznyakoff + + 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. + + You should have received a copy of the GNU General Public License along + with this program. If not, see . */ + +#ifndef __WORDSPLIT_H +#define __WORDSPLIT_H + +#include + +typedef struct wordsplit wordsplit_t; + +/* Structure used to direct the splitting. Members marked with [Input] + can be defined before calling wordsplit(), those marked with [Output] + provide return values when the function returns. If neither mark is + used, the member is internal and must not be used by the caller. + + In the comments below, the identifiers in parentheses indicate bits that + must be set (or unset, if starting with !) in ws_flags (if starting with + WRDSF_) or ws_options (if starting with WRDSO_) to initialize or use the + given member. + + If not redefined explicitly, most of them are set to some reasonable + default value upon entry to wordsplit(). */ +struct wordsplit +{ + size_t ws_wordc; /* [Output] Number of words in ws_wordv. */ + char **ws_wordv; /* [Output] Array of parsed out words. */ + size_t ws_offs; /* [Input] (WRDSF_DOOFFS) Number of initial + elements in ws_wordv to fill with NULLs. */ + size_t ws_wordn; /* Number of elements ws_wordv can accomodate. */ + int ws_flags; /* [Input] Flags passed to wordsplit. */ + int ws_options; /* [Input] (WRDSF_OPTIONS) + Additional options. */ + size_t ws_maxwords; /* [Input] (WRDSO_MAXWORDS) Return at most that + many words */ + size_t ws_wordi; /* [Output] (WRDSF_INCREMENTAL) Total number of + words returned so far */ + + const char *ws_delim; /* [Input] (WRDSF_DELIM) Word delimiters. */ + const char *ws_comment; /* [Input] (WRDSF_COMMENT) Comment characters. */ + const char *ws_escape[2]; /* [Input] (WRDSF_ESCAPE) Characters to be escaped + with backslash. */ + const char *ws_namechar; /* [Input] (WRDSO_NAMECHAR) Characters that can + be parts of a variable name, in addition to + alphanumerics and underscore. */ + + void (*ws_alloc_die) (wordsplit_t *wsp); + /* [Input] (WRDSF_ALLOC_DIE) Function called when + out of memory. Must not return. */ + void (*ws_error) (const char *, ...) + __attribute__ ((__format__ (__printf__, 1, 2))); + /* [Input] (WRDSF_ERROR) Function used for error + reporting */ + void (*ws_debug) (const char *, ...) + __attribute__ ((__format__ (__printf__, 1, 2))); + /* [Input] (WRDSF_DEBUG) Function used for debug + output. */ + const char **ws_env; /* [Input] (WRDSF_ENV, !WRDSF_NOVAR) Array of + environment variables. */ + + /* Temporary storage for environment variables. It is initialized + upon first assignment which occurs during the parsing process + (e.g. ${x:=2}). When this happens, all variables from ws_env are + moved to ws_envbuf first, and the ws_envbuf address is assigned + to ws_env. From this moment on, all variable expansions are served + from ws_envbuf. */ + char **ws_envbuf; /* Storage for variables */ + size_t ws_envidx; /* Index of first free slot */ + size_t ws_envsiz; /* Size of the ws_envbuf array */ + + char const **ws_paramv; /* [WRDSO_PARAMV] User-supplied positional + parameters */ + size_t ws_paramc; /* Number of positional parameters */ + + /* Temporary storage for parameters. Works similarly to ws_enbuf. + */ + char **ws_parambuf; + size_t ws_paramidx; + size_t ws_paramsiz; + + int (*ws_getvar) (char **ret, const char *var, size_t len, void *clos); + /* [Input] (WRDSF_GETVAR, !WRDSF_NOVAR) Looks up + the name VAR (LEN bytes long) in the table of + variables and if found returns in memory + location pointed to by RET the value of that + variable. Returns WRDSE_OK (0) on success, + and an error code (see WRDSE_* defines below) + on error. User-specific errors can be returned + by storing the error diagnostic string in RET + and returning WRDSE_USERERR. + Whatever is stored in RET, it must be allocated + using malloc(3). */ + void *ws_closure; /* [Input] (WRDSF_CLOSURE) Passed as the CLOS + argument to ws_getvar and ws_command. */ + int (*ws_command) (char **ret, const char *cmd, size_t len, char **argv, + void *clos); + /* [Input] (!WRDSF_NOCMD) Returns in the memory + location pointed to by RET the expansion of + the command CMD (LEN bytes long). On input, + ARGV contains CMD split out to words. + + See ws_getvar for a discussion of possible + return values. */ + + const char *ws_input; /* Input string (the S argument to wordsplit). */ + size_t ws_len; /* Length of ws_input. */ + size_t ws_endp; /* Points past the last processed byte in + ws_input. */ + int ws_errno; /* [Output] Error code, if an error occurred. */ + char *ws_usererr; /* Points to textual description of + the error, if ws_errno is WRDSE_USERERR. Must + be allocated with malloc(3). */ + char *ws_errctx; /* Context in which the error occurred: + For WRDSE_UNDEF - name of the undefined variable, + For WRDSE_GLOBERR - pattern that caused error. + */ + struct wordsplit_node *ws_head, *ws_tail; + /* Doubly-linked list of parsed out nodes. */ + char ws_sep[2]; /* Temporary storage used during splitting */ + int ws_lvl; /* Invocation nesting level. */ +}; + +/* Initial size for ws_env, if allocated automatically */ +#define WORDSPLIT_ENV_INIT 16 + +/* Wordsplit flags. */ +/* Append the words found to the array resulting from a previous + call. */ +#define WRDSF_APPEND 0x00000001 +/* Insert ws_offs initial NULLs in the array ws_wordv. + (These are not counted in the returned ws_wordc.) */ +#define WRDSF_DOOFFS 0x00000002 +/* Don't do command substitution. */ +#define WRDSF_NOCMD 0x00000004 +/* The parameter p resulted from a previous call to + wordsplit(), and wordsplit_free() was not called. Reuse the + allocated storage. */ +#define WRDSF_REUSE 0x00000008 +/* Print errors */ +#define WRDSF_SHOWERR 0x00000010 +/* Consider it an error if an undefined variable is expanded. */ +#define WRDSF_UNDEF 0x00000020 +/* Don't do variable expansion. */ +#define WRDSF_NOVAR 0x00000040 +/* Abort on ENOMEM error */ +#define WRDSF_ENOMEMABRT 0x00000080 +/* Trim off any leading and trailind whitespace */ +#define WRDSF_WS 0x00000100 +/* Handle single quotes */ +#define WRDSF_SQUOTE 0x00000200 +/* Handle double quotes */ +#define WRDSF_DQUOTE 0x00000400 +/* Handle single and double quotes */ +#define WRDSF_QUOTE (WRDSF_SQUOTE|WRDSF_DQUOTE) +/* Replace each input sequence of repeated delimiters with a single + delimiter */ +#define WRDSF_SQUEEZE_DELIMS 0x00000800 +/* Return delimiters */ +#define WRDSF_RETURN_DELIMS 0x00001000 +/* Treat sed expressions as words */ +#define WRDSF_SED_EXPR 0x00002000 +/* ws_delim field is initialized */ +#define WRDSF_DELIM 0x00004000 +/* ws_comment field is initialized */ +#define WRDSF_COMMENT 0x00008000 +/* ws_alloc_die field is initialized */ +#define WRDSF_ALLOC_DIE 0x00010000 +/* ws_error field is initialized */ +#define WRDSF_ERROR 0x00020000 +/* ws_debug field is initialized */ +#define WRDSF_DEBUG 0x00040000 +/* ws_env field is initialized */ +#define WRDSF_ENV 0x00080000 +/* ws_getvar field is initialized */ +#define WRDSF_GETVAR 0x00100000 +/* enable debugging */ +#define WRDSF_SHOWDBG 0x00200000 +/* Don't split input into words. Useful for side effects. */ +#define WRDSF_NOSPLIT 0x00400000 +/* Keep undefined variables in place, instead of expanding them to + empty strings. */ +#define WRDSF_KEEPUNDEF 0x00800000 +/* Warn about undefined variables */ +#define WRDSF_WARNUNDEF 0x01000000 +/* Handle C escapes */ +#define WRDSF_CESCAPES 0x02000000 +/* ws_closure is set */ +#define WRDSF_CLOSURE 0x04000000 +/* ws_env is a Key/Value environment, i.e. the value of a variable is + stored in the element that follows its name. */ +#define WRDSF_ENV_KV 0x08000000 +/* ws_escape is set */ +#define WRDSF_ESCAPE 0x10000000 +/* Incremental mode */ +#define WRDSF_INCREMENTAL 0x20000000 +/* Perform pathname and tilde expansion */ +#define WRDSF_PATHEXPAND 0x40000000 +/* ws_options is initialized */ +#define WRDSF_OPTIONS 0x80000000 + +#define WRDSF_DEFFLAGS \ + (WRDSF_NOVAR | WRDSF_NOCMD | \ + WRDSF_QUOTE | WRDSF_SQUEEZE_DELIMS | WRDSF_CESCAPES) + +/* Remove the word that produces empty string after path expansion */ +#define WRDSO_NULLGLOB 0x00000001 +/* Print error message if path expansion produces empty string */ +#define WRDSO_FAILGLOB 0x00000002 +/* Allow a leading period to be matched by metacharacters. */ +#define WRDSO_DOTGLOB 0x00000004 +/* Prefer ws_getvar over lookup in ws_env, if both are supplied */ +#define WRDSO_GETVARPREF 0x00000008 +/* Keep backslash in unrecognized escape sequences in words */ +#define WRDSO_BSKEEP_WORD 0x00000010 +/* Handle octal escapes in words */ +#define WRDSO_OESC_WORD 0x00000020 +/* Handle hex escapes in words */ +#define WRDSO_XESC_WORD 0x00000040 + +/* ws_maxwords field is initialized */ +#define WRDSO_MAXWORDS 0x00000080 + +/* Keep backslash in unrecognized escape sequences in quoted strings */ +#define WRDSO_BSKEEP_QUOTE 0x00000100 +/* Handle octal escapes in quoted strings */ +#define WRDSO_OESC_QUOTE 0x00000200 +/* Handle hex escapes in quoted strings */ +#define WRDSO_XESC_QUOTE 0x00000400 +/* Unused: 0x00000800 */ +/* Don't split variable references, even if they contain whitespace + (e.g. ${VAR:-foo bar}) */ +#define WRDSO_NOVARSPLIT 0x00001000 +/* Don't split commands, even containing whitespace, e.g. + $(echo foo bar) */ +#define WRDSO_NOCMDSPLIT 0x00002000 + +/* Enable positional parameters */ +#define WRDSO_PARAMV 0x00004000 +/* Enable negative positional indices (${-1} is the last positional + parameter) */ +#define WRDSO_PARAM_NEGIDX 0x00008000 +/* ws_namechar member is initialized */ +#define WRDSO_NAMECHAR 0x00010000 + +#define WRDSO_BSKEEP WRDSO_BSKEEP_WORD +#define WRDSO_OESC WRDSO_OESC_WORD +#define WRDSO_XESC WRDSO_XESC_WORD + +/* Indices into ws_escape */ +#define WRDSX_WORD 0 +#define WRDSX_QUOTE 1 + +/* Set escape option F in WS for words (Q==0) or quoted strings (Q==1) */ +#define WRDSO_ESC_SET(ws,q,f) ((ws)->ws_options |= ((f) << 4*(q))) +/* Test WS for escape option F for words (Q==0) or quoted strings (Q==1) */ +#define WRDSO_ESC_TEST(ws,q,f) ((ws)->ws_options & ((f) << 4*(q))) + +#define WRDSE_OK 0 +#define WRDSE_EOF WRDSE_OK +#define WRDSE_QUOTE 1 +#define WRDSE_NOSPACE 2 +#define WRDSE_USAGE 3 +#define WRDSE_CBRACE 4 +#define WRDSE_UNDEF 5 +#define WRDSE_NOINPUT 6 +#define WRDSE_PAREN 7 +#define WRDSE_GLOBERR 8 +#define WRDSE_USERERR 9 +#define WRDSE_BADPARAM 10 + +int wordsplit (const char *s, wordsplit_t *ws, int flags); +int wordsplit_len (const char *s, size_t len, wordsplit_t *ws, int flags); +void wordsplit_free (wordsplit_t *ws); +void wordsplit_free_words (wordsplit_t *ws); +void wordsplit_free_envbuf (wordsplit_t *ws); +void wordsplit_free_parambuf (struct wordsplit *ws); +int wordsplit_get_words (wordsplit_t *ws, size_t *wordc, char ***wordv); + +static inline void wordsplit_getwords (wordsplit_t *ws, size_t *wordc, char ***wordv) + __attribute__ ((deprecated)); + +static inline void +wordsplit_getwords (wordsplit_t *ws, size_t *wordc, char ***wordv) +{ + wordsplit_get_words (ws, wordc, wordv); +} + +int wordsplit_append (wordsplit_t *wsp, int argc, char **argv); + +int wordsplit_c_unquote_char (int c); +int wordsplit_c_quote_char (int c); +size_t wordsplit_c_quoted_length (const char *str, int quote_hex, int *quote); +void wordsplit_c_quote_copy (char *dst, const char *src, int quote_hex); + +void wordsplit_perror (wordsplit_t *ws); +const char *wordsplit_strerror (wordsplit_t *ws); + +void wordsplit_clearerr (wordsplit_t *ws); + +#endif diff -Nru dico-2.9/grecs/wordsplit/wsp.c dico-2.10/grecs/wordsplit/wsp.c --- dico-2.9/grecs/wordsplit/wsp.c 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/grecs/wordsplit/wsp.c 2020-06-14 10:26:03.000000000 +0000 @@ -0,0 +1,852 @@ +/* wsp - test program for wordsplit + Copyright (C) 2014-2019 Sergey Poznyakoff + + Wordsplit 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. + + Wordsplit 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 wordsplit. If not, see . */ + +#ifdef HAVE_CONFIG_H +# include +#endif +#include +#include +#include +#include +#include +#include "wordsplit-version.h" +#include "wordsplit.h" + +extern char **environ; + +char *progname; + +/* Global options */ +enum + { + TRIMNL_OPTION = 0x01, /* Remove trailing newline */ + PLAINTEXT_OPTION = 0x02 /* Print intput verbatim (no escapes) */ + }; + +/* Environment types */ +enum env_type + { + env_none, /* No environment */ + env_null, /* Null environment */ + env_sys, /* Use system environment */ + env_extra /* Use small built-in "extra" environment */ + }; + +enum + { + MAX_F_ENV = 16, + MAX_X_ENV = 16 + }; + +struct wsclosure +{ + int options; /* Global options */ + struct wordsplit ws; /* The wordsplit structure */ + int wsflags; /* Wordsplit flags */ + enum env_type env_type; /* Environment type */ + int offarg; /* Index of the first of the initial words in + the argv array. The ws.ws_dooffs field gives + the number of such variables. Forces the + WRDSF_DOOFFS flag. */ + char *fenvbase[MAX_F_ENV+1]; + /* Environment for testing the ws_getenv function */ + int fenvidx; /* Number of variables in fenvbase */ + + char *xenvbase[MAX_X_ENV+1]; + /* Extra environment variables */ + int xenvidx; /* Number of variables in xenvbase */ + + int append_start; /* First argument to append (index in argv) */ + int append_count; /* Number of arguments to append */ +}; + +/* Command line option types */ +enum + { + ws_no_argument, /* Option requires no arguments */ + ws_boolean, /* Option is boolean (can be prefixed with -no) */ + ws_required_argument, /* Option requires one argument */ + ws_multiple_arguments /* Option takes multiple arguments, terminated with + "--" or end of argument list */ + }; + +/* Structure describing a single command-line option */ +struct wsopt +{ + const char *name; /* Option name */ + int tok; /* Corresponding flag */ + int arg; /* Option type (see the enum above) */ + void (*setfn) (int tok, int neg, char *arg, struct wsclosure *wsc); + /* Setter function */ +}; + +/* Index of the next argument in the argv */ +static int wsoptind = -1; + +void +print_version (void) +{ + printf ("wsp (wordsplit %s)\n", WORDSPLIT_VERSION); +} + +/* Parse next argument from the command line. Return EOF on end of arguments + or when the "--" argument is seen. */ +static int +getwsopt (int argc, char **argv, struct wsopt *wso, struct wsclosure *wsc) +{ + int negate = 0; + char *opt; + + if (wsoptind == -1) + wsoptind = 1; + if (wsoptind == argc) + return EOF; + + opt = argv[wsoptind++]; + if (strcmp (opt, "--") == 0) + return EOF; + if (*opt != '-') + { + if (strchr (opt, '=')) + { + assert (wsc->fenvidx < MAX_F_ENV); + wsc->fenvbase[wsc->fenvidx++] = opt; + return 0; + } + wsoptind--; + return EOF; + } + + if (strncmp (opt, "-D", 2) == 0) + { + char *asgn; + + if (opt[2]) + asgn = opt + 2; + else if (wsoptind == argc) + { + fprintf (stderr, "%s: missing arguments for -D\n", + progname); + exit (1); + } + else + asgn = argv[wsoptind++]; + + if (strchr (asgn, '=')) + { + assert (wsc->xenvidx < MAX_F_ENV); + wsc->xenvbase[wsc->xenvidx++] = asgn; + return 0; + } + wsoptind--; + return EOF; + } + + if (strcmp (opt, "--version") == 0) + { + print_version (); + exit (0); + } + + opt++; /* skip past initial dash */ + + if (strncmp (opt, "no-", 3) == 0) + { + negate = 1; + opt += 3; + } + else if (strncmp (opt, "no", 2) == 0) + { + negate = 1; + opt += 2; + } + + for (; wso->name; wso++) + { + if (wso->arg == ws_boolean && wso->name[0] == 'n' && wso->name[1] == 'o' + && strcmp (wso->name + 2, opt) == 0) + { + negate ^= 1; + break; + } + if (strcmp (wso->name, opt) == 0) + break; + } + + if (wso->name) + { + char *arg; + if (wso->arg == ws_multiple_arguments) + { + while (1) + { + if (wsoptind == argc) + break; + arg = argv[wsoptind++]; + if (strcmp (arg, "--") == 0) + break; + wso->setfn (wso->tok, negate, arg, wsc); + } + } + else + { + if (wso->arg == ws_required_argument) + { + if (wsoptind == argc) + { + fprintf (stderr, "%s: missing arguments for -%s\n", + progname, opt); + exit (1); + } + arg = argv[wsoptind++]; + } + wso->setfn (wso->tok, negate, arg, wsc); + } + return 0; + } + + fprintf (stderr, "%s: unrecognized option: -%s\n", + progname, opt); + fprintf (stderr, "%s: try %s -help for more detail\n", + progname, progname); + exit (1); +} + +/* Setter functions for various options */ + +static void +setfn_flag (int flag, int neg, char *arg, struct wsclosure *wsc) +{ + if (neg) + wsc->wsflags &= ~flag; + else + wsc->wsflags |= flag; +} + +static void +setfn_option (int flag, int neg, char *arg, struct wsclosure *wsc) +{ + wsc->wsflags |= WRDSF_OPTIONS; + if (neg) + wsc->ws.ws_options &= ~flag; + else + wsc->ws.ws_options |= flag; +} + +static void +setfn_delim (int flag, int neg, char *arg, struct wsclosure *wsc) +{ + wsc->wsflags |= flag; + wsc->ws.ws_delim = arg; +} + +static void +setfn_comment (int flag, int neg, char *arg, struct wsclosure *wsc) +{ + wsc->wsflags |= flag; + wsc->ws.ws_comment = arg; +} + +static void +set_escape_string (wordsplit_t *ws, int *wsflags, int q, const char *str) +{ + if (*str == ':') + { + while (*++str != ':') + { + int f; + switch (*str) + { + case '+': + f = WRDSO_BSKEEP; + break; + + case '0': + f = WRDSO_OESC; + break; + + case 'x': + f = WRDSO_XESC; + break; + + default: + fprintf (stderr, "%s: invalid escape flag near %s\n", + progname, str); + abort (); + } + WRDSO_ESC_SET (ws, q, f); + } + *wsflags |= WRDSF_OPTIONS; + ++str; + } + ws->ws_escape[q] = str; +} + +static void +setfn_escape (int flag, int neg, char *arg, struct wsclosure *wsc) +{ + wsc->wsflags |= flag; + set_escape_string (&wsc->ws, &wsc->wsflags, 0, arg); + set_escape_string (&wsc->ws, &wsc->wsflags, 1, arg); +} + +static void +setfn_escape_qw (char *arg, int quote, struct wsclosure *wsc) +{ + if (!(wsc->wsflags & WRDSF_ESCAPE)) + { + wsc->wsflags |= WRDSF_ESCAPE; + wsc->ws.ws_escape[!quote] = NULL; + } + set_escape_string (&wsc->ws, &wsc->wsflags, quote, arg); +} + +static void +setfn_escape_word (int flag, int neg, char *arg, struct wsclosure *wsc) +{ + setfn_escape_qw (arg, 0, wsc); +} + +static void +setfn_escape_quote (int flag, int neg, char *arg, struct wsclosure *wsc) +{ + setfn_escape_qw (arg, 1, wsc); +} + +static void +setfn_maxwords (int flag, int neg, char *arg, struct wsclosure *wsc) +{ + char *p; + + wsc->wsflags |= WRDSF_OPTIONS; + wsc->ws.ws_options |= WRDSO_MAXWORDS; + + wsc->ws.ws_maxwords = strtoul (arg, &p, 10); + if (*p) + { + fprintf (stderr, "%s: invalid number: %s\n", progname, arg); + exit (1); + } +} + +static void +setfn_namechar (int flag, int neg, char *arg, struct wsclosure *wsc) +{ + wsc->wsflags |= WRDSF_OPTIONS; + wsc->ws.ws_options |= WRDSO_NAMECHAR; + wsc->ws.ws_namechar = arg; +} + +static void +setfn_global (int flag, int neg, char *arg, struct wsclosure *wsc) +{ + if (neg) + wsc->options &= ~flag; + else + wsc->options |= flag; +} + +static void +setfn_env (int flag, int neg, char *arg, struct wsclosure *wsc) +{ + if (strcmp (arg, "none") == 0) + wsc->env_type = env_none; + else if (strcmp (arg, "null") == 0) + wsc->env_type = env_null; + else if (strcmp (arg, "sys") == 0) + wsc->env_type = env_sys; + else if (strcmp (arg, "extra") == 0) + wsc->env_type = env_extra; + else + { + fprintf (stderr, "%s: environment flag: %s\n", progname, arg); + exit (1); + } +} + +static void +setfn_dooffs (int flag, int neg, char *arg, struct wsclosure *wsc) +{ + if (!(wsc->wsflags & flag)) + { + wsc->wsflags |= flag; + wsc->offarg = wsoptind - 1; + wsc->ws.ws_offs = 0; + } + wsc->ws.ws_offs++; +} + +static void +setfn_append (int flag, int neg, char *arg, struct wsclosure *wsc) +{ + if (wsc->append_count == 0) + wsc->append_start = wsoptind - 1; + wsc->append_count++; +} + +static void help (void); + +static void +setfn_help (int flag, int neg, char *arg, struct wsclosure *wsc) +{ + help (); + exit (0); +} + +/* Available options: */ +struct wsopt opttab[] = { + /* Global options */ + { "trimnl", TRIMNL_OPTION, ws_boolean, setfn_global }, + { "plaintext", PLAINTEXT_OPTION, ws_boolean, setfn_global }, + { "env", 0, ws_required_argument, setfn_env }, + + /* Wordsplit flags */ + { "append", WRDSF_APPEND, ws_boolean, setfn_flag }, + /*{ "reuse", WRDSF_REUSE, ws_boolean, setfn_flag },*/ + { "undef", WRDSF_UNDEF, ws_boolean, setfn_flag }, + { "novar", WRDSF_NOVAR, ws_boolean, setfn_flag }, + { "nocmd", WRDSF_NOCMD, ws_boolean, setfn_flag }, + { "ws", WRDSF_WS, ws_boolean, setfn_flag }, + { "quote", WRDSF_QUOTE, ws_boolean, setfn_flag }, + { "squote", WRDSF_SQUOTE, ws_boolean, setfn_flag }, + { "dquote", WRDSF_DQUOTE, ws_boolean, setfn_flag }, + { "squeeze_delims", WRDSF_SQUEEZE_DELIMS, ws_boolean, setfn_flag }, + { "return_delims", WRDSF_RETURN_DELIMS, ws_boolean, setfn_flag }, + { "sed", WRDSF_SED_EXPR, ws_boolean, setfn_flag }, + { "debug", WRDSF_SHOWDBG, ws_boolean, setfn_flag }, + { "nosplit", WRDSF_NOSPLIT, ws_boolean, setfn_flag }, + { "keepundef", WRDSF_KEEPUNDEF, ws_boolean, setfn_flag }, + { "warnundef", WRDSF_WARNUNDEF, ws_boolean, setfn_flag }, + { "cescapes", WRDSF_CESCAPES, ws_boolean, setfn_flag }, + { "default", WRDSF_DEFFLAGS, ws_boolean, setfn_flag }, + { "env_kv", WRDSF_ENV_KV, ws_boolean, setfn_flag }, + { "incremental", WRDSF_INCREMENTAL, ws_boolean, setfn_flag }, + { "pathexpand", WRDSF_PATHEXPAND, ws_boolean, setfn_flag }, + { "default", WRDSF_DEFFLAGS, ws_boolean, setfn_flag }, + /* Wordsplit options */ + { "nullglob", WRDSO_NULLGLOB, ws_boolean, setfn_option }, + { "failglob", WRDSO_FAILGLOB, ws_boolean, setfn_option }, + { "dotglob", WRDSO_DOTGLOB, ws_boolean, setfn_option }, + { "bskeep_words", WRDSO_BSKEEP_WORD, ws_boolean, setfn_option }, + { "bskeep_quote", WRDSO_BSKEEP_QUOTE, ws_boolean, setfn_option }, + { "bskeep", WRDSO_BSKEEP_WORD|WRDSO_BSKEEP_QUOTE, + ws_boolean, setfn_option }, + { "novarsplit", WRDSO_NOVARSPLIT, ws_boolean, setfn_option }, + { "nocmdsplit", WRDSO_NOCMDSPLIT, ws_boolean, setfn_option }, + { "maxwords", WRDSO_MAXWORDS, ws_required_argument, setfn_maxwords }, + { "namechar", WRDSO_NAMECHAR, ws_required_argument, setfn_namechar }, + /* String options */ + { "delim", WRDSF_DELIM, ws_required_argument, setfn_delim }, + { "comment", WRDSF_COMMENT,ws_required_argument, setfn_comment }, + { "escape", WRDSF_ESCAPE, ws_required_argument, setfn_escape }, + { "escape-word", WRDSF_ESCAPE, ws_required_argument, setfn_escape_word }, + { "escape-quote", WRDSF_ESCAPE, ws_required_argument, setfn_escape_quote }, + + { "dooffs", WRDSF_DOOFFS, ws_multiple_arguments, setfn_dooffs }, + { "append-args", 0, ws_multiple_arguments, setfn_append }, + + { "help", 0, ws_no_argument, setfn_help }, + + { NULL, 0 } +}; + +static void +help (void) +{ + size_t i; + + printf ("usage: %s [options] [-D VAR=VALUE ...] [VAR=VALUE...] [-- EXTRA...]\n", progname); + printf ("options are:\n"); + for (i = 0; opttab[i].name; i++) + { + printf (" -"); + if (opttab[i].arg == ws_boolean) + printf ("[no]"); + if (strncmp (opttab[i].name, "no", 2) == 0) + printf ("%s", opttab[i].name + 2); + else + printf ("%s", opttab[i].name); + switch (opttab[i].arg) + { + case ws_no_argument: + case ws_boolean: + break; + case ws_required_argument: + printf(" ARG"); + break; + case ws_multiple_arguments: + printf(" ARGS... --"); + } + putchar ('\n'); + } + putchar ('\n'); +} + +void +print_qword (const char *word, int plaintext) +{ + static char *qbuf = NULL; + static size_t qlen = 0; + int quote; + size_t size = wordsplit_c_quoted_length (word, 0, "e); + + if (plaintext) + { + printf ("%s", word); + return; + } + + if (*word == 0) + quote = 1; + + if (size >= qlen) + { + qlen = size + 1; + qbuf = realloc (qbuf, qlen); + assert (qbuf != NULL); + } + wordsplit_c_quote_copy (qbuf, word, 0); + qbuf[size] = 0; + if (quote) + printf ("\"%s\"", qbuf); + else + printf ("%s", qbuf); +} + +/* Convert environment to K/V form */ +static char ** +make_env_kv (char **origenv) +{ + size_t i, j, size; + char **newenv; + + /* Count the number of entries */ + for (i = 0; origenv[i]; i++) + ; + + size = i * 2 + 1; + newenv = calloc (size, sizeof (newenv[0])); + assert (newenv != NULL); + + for (i = j = 0; origenv[i]; i++) + { + size_t len = strcspn (origenv[i], "="); + char *p = malloc (len+1); + assert (p != NULL); + memcpy (p, origenv[i], len); + p[len] = 0; + newenv[j++] = p; + p = strdup (origenv[i] + len + 1); + assert (p != NULL); + newenv[j++] = p; + } + newenv[j] = NULL; + return newenv; +} + +static int +wsp_getvar (char **ret, const char *vptr, size_t vlen, void *data) +{ + char **base = data; + int i; + + for (i = 0; base[i]; i++) + { + size_t l = strcspn (base[i], "="); + if (l == vlen && memcmp (base[i], vptr, vlen) == 0) + { + char *p = strdup (base[i] + vlen + 1); + if (p == NULL) + return WRDSE_NOSPACE; + *ret = p; + return WRDSE_OK; + } + } + return WRDSE_UNDEF; +} + +static int +cmd_quote (char **ret, const char *str, size_t len, char **argv) +{ + int alen; + for (alen = 0; alen < len && !(str[alen] == ' ' || str[alen] == '\t'); alen++) + ; + for (; alen < len && (str[alen] == ' ' || str[alen] == '\t'); alen++) + ; + len -= alen; + *ret = malloc (len + 1); + if (!*ret) + return WRDSE_NOSPACE; + memcpy (*ret, str + alen, len); + (*ret)[len] = 0; + return WRDSE_OK; +} + +static int +cmd_words (char **ret, const char *str, size_t len, char **argv) +{ + char *p; + int i; + + p = malloc (len + 1); + if (!p) + return WRDSE_NOSPACE; + *ret = p; + for (i = 1; argv[i]; i++) + { + size_t s = strlen (argv[i]); + if (i > 1) + *p++ = ' '; + memcpy (p, argv[i], s); + p += s; + } + *p = 0; + return WRDSE_OK; +} + +static int +cmd_lines (char **ret, const char *str, size_t len, char **argv) +{ + char *p; + int i; + + p = malloc (len + 1); + if (!p) + return WRDSE_NOSPACE; + *ret = p; + for (i = 1; argv[i]; i++) + { + size_t s = strlen (argv[i]); + if (i > 1) + *p++ = '\n'; + memcpy (p, argv[i], s); + p += s; + } + *p = 0; + return WRDSE_OK; +} + +static struct command +{ + char const *name; + int (*cmd)(char **ret, const char *str, size_t len, char **argv); +} comtab[] = { + { "quote", cmd_quote }, + { "words", cmd_words }, + { "lines", cmd_lines } +}; + +static int +wsp_runcmd (char **ret, const char *str, size_t len, char **argv, void *closure) +{ + int i; + char const msg[] = "unknown command: "; + + for (i = 0; ; i++) + { + if (i == sizeof (comtab) / sizeof (comtab[0])) + break; + if (strcmp (comtab[i].name, argv[0]) == 0) + return comtab[i].cmd (ret, str, len, argv); + } + + *ret = malloc (sizeof (msg) + strlen (argv[0])); + if (!*ret) + return WRDSE_NOSPACE; + strcat (strcpy (*ret, msg), argv[0]); + return WRDSE_USERERR; +} + +int +main (int argc, char **argv) +{ + struct wsclosure wsc; + char buf[1024], *ptr, *saved_ptr; + int next_call = 0; + + wsc.options = 0; + wsc.wsflags = 0; + wsc.env_type = env_sys; + wsc.offarg = 0; + wsc.fenvidx = 0; + wsc.xenvidx = 0; + wsc.ws.ws_options = 0; + wsc.wsflags = (WRDSF_DEFFLAGS & ~WRDSF_NOVAR) | + WRDSF_ENOMEMABRT | + WRDSF_SHOWERR; + wsc.append_count = 0; + + progname = argv[0]; + while (getwsopt (argc, argv, opttab, &wsc) != EOF) + ; + + wsc.fenvbase[wsc.fenvidx] = NULL; + wsc.xenvbase[wsc.xenvidx] = NULL; + + if (wsc.fenvidx > 0) + { + wsc.wsflags |= WRDSF_GETVAR | WRDSF_CLOSURE; + wsc.ws.ws_getvar = wsp_getvar; + wsc.ws.ws_closure = wsc.fenvbase; + } + + if (wsoptind < argc) + { + wsc.ws.ws_paramc = argc - wsoptind; + wsc.ws.ws_paramv = (char const **) (argv + wsoptind); + wsc.ws.ws_options |= WRDSO_PARAMV|WRDSO_PARAM_NEGIDX; + wsc.wsflags |= WRDSF_OPTIONS; + } + + switch (wsc.env_type) + { + case env_null: + wsc.wsflags |= WRDSF_ENV; + wsc.ws.ws_env = NULL; + break; + + case env_none: + break; + + case env_sys: + { + char **newenv; + + if (wsc.xenvidx) + { + size_t i, j; + for (i = 0; environ[i]; i++) + ; + newenv = calloc (i + wsc.xenvidx + 1, sizeof (*newenv)); + assert (newenv != NULL); + for (i = 0; environ[i]; i++) + { + newenv[i] = strdup (environ[i]); + assert (newenv[i] != NULL); + } + for (j = 0; j < wsc.xenvidx; j++, i++) + { + newenv[i] = strdup (wsc.xenvbase[j]); + assert (newenv[i] != NULL); + } + newenv[i] = NULL; + } + else + newenv = environ; + + wsc.wsflags |= WRDSF_ENV; + if (wsc.wsflags & WRDSF_ENV_KV) + wsc.ws.ws_env = (const char **) make_env_kv (newenv); + else + wsc.ws.ws_env = (const char **) newenv; + } + break; + + case env_extra: + wsc.wsflags |= WRDSF_ENV; + if (wsc.wsflags & WRDSF_ENV_KV) + wsc.ws.ws_env = (const char **) make_env_kv (wsc.xenvbase); + else + wsc.ws.ws_env = (const char **) wsc.xenvbase; + break; + } + + if (!(wsc.wsflags & WRDSF_NOCMD)) + wsc.ws.ws_command = wsp_runcmd; + + if (wsc.wsflags & WRDSF_INCREMENTAL) + wsc.options |= TRIMNL_OPTION; + + next_call = 0; + while ((ptr = fgets (buf, sizeof (buf), stdin))) + { + int rc; + size_t i; + + if (wsc.options & TRIMNL_OPTION) + { + size_t len = strlen (ptr); + if (len && ptr[len-1] == '\n') + ptr[len-1] = 0; + } + + if (wsc.wsflags & WRDSF_INCREMENTAL) + { + if (next_call) + { + if (*ptr == 0) + ptr = NULL; + else + free (saved_ptr); + } + else + next_call = 1; + if (ptr) + { + ptr = saved_ptr = strdup (ptr); + assert (ptr != NULL); + } + } + + rc = wordsplit (ptr, &wsc.ws, wsc.wsflags); + if (rc) + { + if (!(wsc.wsflags & WRDSF_SHOWERR)) + wordsplit_perror (&wsc.ws); + continue; + } + + if (wsc.offarg) + { + size_t i; + for (i = 0; i < wsc.ws.ws_offs; i++) + wsc.ws.ws_wordv[i] = argv[wsc.offarg + i]; + wsc.offarg = 0; + } + + if (wsc.append_count) + { + rc = wordsplit_append (&wsc.ws, wsc.append_count, + argv + wsc.append_start); + if (rc) + { + if (!(wsc.wsflags & WRDSF_SHOWERR)) + wordsplit_perror (&wsc.ws); + continue; + } + } + + wsc.wsflags |= WRDSF_REUSE; + printf ("NF: %lu", (unsigned long) wsc.ws.ws_wordc); + if (wsc.wsflags & WRDSF_DOOFFS) + printf (" (%lu)", (unsigned long) wsc.ws.ws_offs); + putchar ('\n'); + for (i = 0; i < wsc.ws.ws_offs; i++) + { + printf ("(%lu): ", (unsigned long) i); + print_qword (wsc.ws.ws_wordv[i], wsc.options & PLAINTEXT_OPTION); + putchar ('\n'); + } + for (; i < wsc.ws.ws_offs + wsc.ws.ws_wordc; i++) + { + printf ("%lu: ", (unsigned long) i); + print_qword (wsc.ws.ws_wordv[i], wsc.options & PLAINTEXT_OPTION); + putchar ('\n'); + } + printf ("TOTAL: %lu\n", (unsigned long) wsc.ws.ws_wordi); + } + return 0; +} diff -Nru dico-2.9/imprimatur/Makefile.in dico-2.10/imprimatur/Makefile.in --- dico-2.9/imprimatur/Makefile.in 2019-04-24 06:43:57.000000000 +0000 +++ dico-2.10/imprimatur/Makefile.in 2020-09-04 04:04:55.000000000 +0000 @@ -113,8 +113,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -146,15 +146,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -227,7 +227,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -562,6 +561,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -875,9 +875,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/include/appi18n.h dico-2.10/include/appi18n.h --- dico-2.9/include/appi18n.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/appi18n.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/dico/assoc.h dico-2.10/include/dico/assoc.h --- dico-2.9/include/dico/assoc.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico/assoc.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/dico/diag.h dico-2.10/include/dico/diag.h --- dico-2.9/include/dico/diag.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico/diag.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/dico/filter.h dico-2.10/include/dico/filter.h --- dico-2.9/include/dico/filter.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico/filter.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/dico/list.h dico-2.10/include/dico/list.h --- dico-2.9/include/dico/list.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico/list.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/dico/Makefile.am dico-2.10/include/dico/Makefile.am --- dico-2.9/include/dico/Makefile.am 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico/Makefile.am 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 2008-2019 Sergey Poznyakoff +# Copyright (C) 2008-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/dico/Makefile.in dico-2.10/include/dico/Makefile.in --- dico-2.9/include/dico/Makefile.in 2019-04-24 06:43:58.000000000 +0000 +++ dico-2.10/include/dico/Makefile.in 2020-09-04 04:04:55.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 2008-2019 Sergey Poznyakoff +# Copyright (C) 2008-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -274,7 +274,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -609,6 +608,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -922,9 +922,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/include/dico/markup.h dico-2.10/include/dico/markup.h --- dico-2.9/include/dico/markup.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico/markup.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,7 +20,7 @@ #include extern const char *dico_markup_type; -dico_list_t dico_markup_list; +extern dico_list_t dico_markup_list; const char *dico_markup_lookup(const char *name); int dico_markup_register(const char *name); diff -Nru dico-2.9/include/dico/parseopt.h dico-2.10/include/dico/parseopt.h --- dico-2.9/include/dico/parseopt.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico/parseopt.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/dico/strat.h dico-2.10/include/dico/strat.h --- dico-2.9/include/dico/strat.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico/strat.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/dico/stream.h dico-2.10/include/dico/stream.h --- dico-2.9/include/dico/stream.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico/stream.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/dico/tokenize.h dico-2.10/include/dico/tokenize.h --- dico-2.9/include/dico/tokenize.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico/tokenize.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/dico/types.h dico-2.10/include/dico/types.h --- dico-2.9/include/dico/types.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico/types.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/dico/udb.h dico-2.10/include/dico/udb.h --- dico-2.9/include/dico/udb.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico/udb.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/dico/url.h dico-2.10/include/dico/url.h --- dico-2.9/include/dico/url.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico/url.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/dico/utf8.h dico-2.10/include/dico/utf8.h --- dico-2.9/include/dico/utf8.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico/utf8.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/dico/util.h dico-2.10/include/dico/util.h --- dico-2.9/include/dico/util.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico/util.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/dico/xlat.h dico-2.10/include/dico/xlat.h --- dico-2.9/include/dico/xlat.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico/xlat.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/dico.h dico-2.10/include/dico.h --- dico-2.9/include/dico.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/dico.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/gsaslstr.h dico-2.10/include/gsaslstr.h --- dico-2.9/include/gsaslstr.h 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/gsaslstr.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/lib/config.h.in dico-2.10/include/lib/config.h.in --- dico-2.9/include/lib/config.h.in 2019-04-24 06:44:04.000000000 +0000 +++ dico-2.10/include/lib/config.h.in 2020-09-04 04:04:58.000000000 +0000 @@ -1,4 +1,4 @@ -/* include/lib/config.h.in. Generated from ./configure.xQVih8 by autoheader. */ +/* include/lib/config.h.in. Generated from ./configure.PRQeRA by autoheader. */ /* Define to the name of a netrc-style autologin file */ #undef DEFAULT_AUTOLOGIN_FILE @@ -290,13 +290,15 @@ module search path. */ #undef LT_MODULE_PATH_VAR -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ +/* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Define to the shared library suffix, say, ".dylib". */ #undef LT_SHARED_EXT +/* Define to the shared archive member specification, say "(shr.o)". */ +#undef LT_SHARED_LIB_MEMBER + /* Define if dlsym() requires a leading underscore in symbol names. */ #undef NEED_USCORE @@ -358,7 +360,7 @@ /* Define to empty if `const' does not conform to ANSI C. */ #undef const -/* Define to a type to use for `error_t' if it is not otherwise available. */ +/* Define to a type to use for 'error_t' if it is not otherwise available. */ #undef error_t /* Define to `__inline__' or `__inline' if that's what the C compiler diff -Nru dico-2.9/include/libi18n.h dico-2.10/include/libi18n.h --- dico-2.9/include/libi18n.h 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/include/libi18n.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/Makefile.am dico-2.10/include/Makefile.am --- dico-2.9/include/Makefile.am 2019-02-22 10:00:07.000000000 +0000 +++ dico-2.10/include/Makefile.am 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/Makefile.in dico-2.10/include/Makefile.in --- dico-2.9/include/Makefile.in 2019-04-24 06:43:58.000000000 +0000 +++ dico-2.10/include/Makefile.in 2020-09-04 04:04:55.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -316,7 +316,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -651,6 +650,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -964,9 +964,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/include/prog/config.h.in dico-2.10/include/prog/config.h.in --- dico-2.9/include/prog/config.h.in 2019-04-24 06:43:54.000000000 +0000 +++ dico-2.10/include/prog/config.h.in 2020-09-04 04:04:54.000000000 +0000 @@ -1007,13 +1007,15 @@ module search path. */ #undef LT_MODULE_PATH_VAR -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ +/* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Define to the shared library suffix, say, ".dylib". */ #undef LT_SHARED_EXT +/* Define to the shared archive member specification, say "(shr.o)". */ +#undef LT_SHARED_LIB_MEMBER + /* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ #undef MALLOC_0_IS_NONNULL @@ -1357,7 +1359,7 @@ /* Define to empty if `const' does not conform to ANSI C. */ #undef const -/* Define to a type to use for `error_t' if it is not otherwise available. */ +/* Define to a type to use for 'error_t' if it is not otherwise available. */ #undef error_t /* Please see the Gnulib manual for how to use these macros. diff -Nru dico-2.9/include/testsuite.inc dico-2.10/include/testsuite.inc --- dico-2.9/include/testsuite.inc 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/include/testsuite.inc 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/include/xdico.h dico-2.10/include/xdico.h --- dico-2.9/include/xdico.h 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/include/xdico.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/assoc.c dico-2.10/lib/assoc.c --- dico-2.9/lib/assoc.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/assoc.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2003-2019 Sergey Poznyakoff + Copyright (C) 2003-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/bsearch.c dico-2.10/lib/bsearch.c --- dico-2.9/lib/bsearch.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/bsearch.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2018-2019 Sergey Poznyakoff + Copyright (C) 2018-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/crlfstr.c dico-2.10/lib/crlfstr.c --- dico-2.9/lib/crlfstr.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/crlfstr.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/dbgstream.c dico-2.10/lib/dbgstream.c --- dico-2.9/lib/dbgstream.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/dbgstream.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/diag.c dico-2.10/lib/diag.c --- dico-2.9/lib/diag.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/diag.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/fdiostr.c dico-2.10/lib/fdiostr.c --- dico-2.9/lib/fdiostr.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/fdiostr.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/fdstream.c dico-2.10/lib/fdstream.c --- dico-2.9/lib/fdstream.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/fdstream.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/fltstream.c dico-2.10/lib/fltstream.c --- dico-2.9/lib/fltstream.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/fltstream.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2003-2019 Sergey Poznyakoff + Copyright (C) 2003-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/header.c dico-2.10/lib/header.c --- dico-2.9/lib/header.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/header.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/iostr.c dico-2.10/lib/iostr.c --- dico-2.9/lib/iostr.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/iostr.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/key.c dico-2.10/lib/key.c --- dico-2.9/lib/key.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/key.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/levenshtein.c dico-2.10/lib/levenshtein.c --- dico-2.9/lib/levenshtein.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/levenshtein.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2007-2019 Sergey Poznyakoff + Copyright (C) 2007-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/libi18n.c dico-2.10/lib/libi18n.c --- dico-2.9/lib/libi18n.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/libi18n.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/linetrimstr.c dico-2.10/lib/linetrimstr.c --- dico-2.9/lib/linetrimstr.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/linetrimstr.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/list.c dico-2.10/lib/list.c --- dico-2.9/lib/list.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/list.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2003-2019 Sergey Poznyakoff + Copyright (C) 2003-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/logstream.c dico-2.10/lib/logstream.c --- dico-2.9/lib/logstream.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/logstream.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/Makefile.am dico-2.10/lib/Makefile.am --- dico-2.9/lib/Makefile.am 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/Makefile.am 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/Makefile.in dico-2.10/lib/Makefile.in --- dico-2.9/lib/Makefile.in 2019-04-24 06:43:58.000000000 +0000 +++ dico-2.10/lib/Makefile.in 2020-09-04 04:04:56.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -354,7 +354,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -689,6 +688,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -1002,9 +1002,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/lib/mapstream.c dico-2.10/lib/mapstream.c --- dico-2.9/lib/mapstream.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/mapstream.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/markup.c dico-2.10/lib/markup.c --- dico-2.9/lib/markup.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/markup.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/mergesort.c dico-2.10/lib/mergesort.c --- dico-2.9/lib/mergesort.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/mergesort.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2018-2019 Sergey Poznyakoff + Copyright (C) 2018-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/parseopt.c dico-2.10/lib/parseopt.c --- dico-2.9/lib/parseopt.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/parseopt.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/soundex.c dico-2.10/lib/soundex.c --- dico-2.9/lib/soundex.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/soundex.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2007-2019 Sergey Poznyakoff + Copyright (C) 2007-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/strat.c dico-2.10/lib/strat.c --- dico-2.9/lib/strat.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/strat.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/stream.c dico-2.10/lib/stream.c --- dico-2.9/lib/stream.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/stream.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/atlocal.in dico-2.10/lib/tests/atlocal.in --- dico-2.9/lib/tests/atlocal.in 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/atlocal.in 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # @configure_input@ -*- shell-script -*- # Configurable variable values for Dico test suite. -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff PATH=@abs_builddir@:$top_srcdir:$srcdir:$PATH diff -Nru dico-2.9/lib/tests/crlf00.at dico-2.10/lib/tests/crlf00.at --- dico-2.9/lib/tests/crlf00.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/crlf00.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/crlf01.at dico-2.10/lib/tests/crlf01.at --- dico-2.9/lib/tests/crlf01.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/crlf01.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/crlf02.at dico-2.10/lib/tests/crlf02.at --- dico-2.9/lib/tests/crlf02.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/crlf02.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/crlf03.at dico-2.10/lib/tests/crlf03.at --- dico-2.9/lib/tests/crlf03.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/crlf03.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/crlf04.at dico-2.10/lib/tests/crlf04.at --- dico-2.9/lib/tests/crlf04.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/crlf04.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/crlf05.at dico-2.10/lib/tests/crlf05.at --- dico-2.9/lib/tests/crlf05.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/crlf05.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/crlftool.c dico-2.10/lib/tests/crlftool.c --- dico-2.9/lib/tests/crlftool.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/crlftool.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/dlev00.at dico-2.10/lib/tests/dlev00.at --- dico-2.9/lib/tests/dlev00.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/dlev00.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/dlev01.at dico-2.10/lib/tests/dlev01.at --- dico-2.9/lib/tests/dlev01.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/dlev01.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/itrsh.c dico-2.10/lib/tests/itrsh.c --- dico-2.9/lib/tests/itrsh.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/itrsh.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2003-2019 Sergey Poznyakoff + Copyright (C) 2003-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/itrsh.h dico-2.10/lib/tests/itrsh.h --- dico-2.9/lib/tests/itrsh.h 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/itrsh.h 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2003-2019 Sergey Poznyakoff + Copyright (C) 2003-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/lev00.at dico-2.10/lib/tests/lev00.at --- dico-2.9/lib/tests/lev00.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/lev00.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/lev01.at dico-2.10/lib/tests/lev01.at --- dico-2.9/lib/tests/lev01.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/lev01.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/levtest.c dico-2.10/lib/tests/levtest.c --- dico-2.9/lib/tests/levtest.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/levtest.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/linetrim.c dico-2.10/lib/tests/linetrim.c --- dico-2.9/lib/tests/linetrim.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/linetrim.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/list.at dico-2.10/lib/tests/list.at --- dico-2.9/lib/tests/list.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/list.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/listop.c dico-2.10/lib/tests/listop.c --- dico-2.9/lib/tests/listop.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/listop.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2003-2019 Sergey Poznyakoff + Copyright (C) 2003-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/lntrim00.at dico-2.10/lib/tests/lntrim00.at --- dico-2.9/lib/tests/lntrim00.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/lntrim00.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/lntrim01.at dico-2.10/lib/tests/lntrim01.at --- dico-2.9/lib/tests/lntrim01.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/lntrim01.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/lntrim02.at dico-2.10/lib/tests/lntrim02.at --- dico-2.9/lib/tests/lntrim02.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/lntrim02.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/lntrim03.at dico-2.10/lib/tests/lntrim03.at --- dico-2.9/lib/tests/lntrim03.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/lntrim03.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/Makefile.am dico-2.10/lib/tests/Makefile.am --- dico-2.9/lib/tests/Makefile.am 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/Makefile.am 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/Makefile.in dico-2.10/lib/tests/Makefile.in --- dico-2.9/lib/tests/Makefile.in 2019-04-24 06:43:58.000000000 +0000 +++ dico-2.10/lib/tests/Makefile.in 2020-09-04 04:04:56.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -114,8 +114,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -147,15 +147,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -301,7 +301,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -636,6 +635,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -949,9 +949,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/lib/tests/package.m4 dico-2.10/lib/tests/package.m4 --- dico-2.9/lib/tests/package.m4 2019-04-24 06:44:59.000000000 +0000 +++ dico-2.10/lib/tests/package.m4 2020-09-04 04:06:35.000000000 +0000 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [GNU dico]) m4_define([AT_PACKAGE_TARNAME], [dico]) -m4_define([AT_PACKAGE_VERSION], [2.9]) -m4_define([AT_PACKAGE_STRING], [GNU dico 2.9]) +m4_define([AT_PACKAGE_VERSION], [2.10]) +m4_define([AT_PACKAGE_STRING], [GNU dico 2.10]) m4_define([AT_PACKAGE_BUGREPORT], [bug-dico@gnu.org]) diff -Nru dico-2.9/lib/tests/soundex.at dico-2.10/lib/tests/soundex.at --- dico-2.9/lib/tests/soundex.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/soundex.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2016-2019 Sergey Poznyakoff +# Copyright (C) 2016-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/soundex.c dico-2.10/lib/tests/soundex.c --- dico-2.9/lib/tests/soundex.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/soundex.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2016-2019 Sergey Poznyakoff + Copyright (C) 2016-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/strcasecmp.at dico-2.10/lib/tests/strcasecmp.at --- dico-2.9/lib/tests/strcasecmp.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/strcasecmp.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/strlen.at dico-2.10/lib/tests/strlen.at --- dico-2.9/lib/tests/strlen.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/strlen.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/strncasecmp.at dico-2.10/lib/tests/strncasecmp.at --- dico-2.9/lib/tests/strncasecmp.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/strncasecmp.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/testsuite dico-2.10/lib/tests/testsuite --- dico-2.9/lib/tests/testsuite 2019-04-24 06:45:00.000000000 +0000 +++ dico-2.10/lib/tests/testsuite 2020-09-04 04:06:35.000000000 +0000 @@ -940,7 +940,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -GNU dico 2.9 test suite test groups: +GNU dico 2.10 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -981,7 +981,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (GNU dico 2.9)" && + $as_echo "$as_me (GNU dico 2.10)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1178,13 +1178,13 @@ exec 5>>"$at_suite_log" # Banners and logs. -$as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" +$as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" { - $as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" + $as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" echo $as_echo "$as_me: command line was:" @@ -2027,7 +2027,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [GNU dico 2.9] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [GNU dico 2.10] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may diff -Nru dico-2.9/lib/tests/testsuite.at dico-2.10/lib/tests/testsuite.at --- dico-2.9/lib/tests/testsuite.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/testsuite.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/tolower.at dico-2.10/lib/tests/tolower.at --- dico-2.9/lib/tests/tolower.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/tolower.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/toupper.at dico-2.10/lib/tests/toupper.at --- dico-2.9/lib/tests/toupper.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/toupper.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/utf8.c dico-2.10/lib/tests/utf8.c --- dico-2.9/lib/tests/utf8.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/utf8.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/wcstrcasecmp.at dico-2.10/lib/tests/wcstrcasecmp.at --- dico-2.9/lib/tests/wcstrcasecmp.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/wcstrcasecmp.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/wcstrchr.at dico-2.10/lib/tests/wcstrchr.at --- dico-2.9/lib/tests/wcstrchr.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/wcstrchr.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/wcstrcmp.at dico-2.10/lib/tests/wcstrcmp.at --- dico-2.9/lib/tests/wcstrcmp.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/wcstrcmp.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/wcstrncasecmp.at dico-2.10/lib/tests/wcstrncasecmp.at --- dico-2.9/lib/tests/wcstrncasecmp.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/wcstrncasecmp.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/wcstrncmp.at dico-2.10/lib/tests/wcstrncmp.at --- dico-2.9/lib/tests/wcstrncmp.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/wcstrncmp.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tests/wcstrstr.at dico-2.10/lib/tests/wcstrstr.at --- dico-2.9/lib/tests/wcstrstr.at 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tests/wcstrstr.at 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/tokenize.c dico-2.10/lib/tokenize.c --- dico-2.9/lib/tokenize.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/tokenize.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/udb.c dico-2.10/lib/udb.c --- dico-2.9/lib/udb.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/udb.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/url.c dico-2.10/lib/url.c --- dico-2.9/lib/url.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/url.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2003-2019 Sergey Poznyakoff + Copyright (C) 2003-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/utf8.c dico-2.10/lib/utf8.c --- dico-2.9/lib/utf8.c 2019-02-22 10:00:08.000000000 +0000 +++ dico-2.10/lib/utf8.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2007-2019 Sergey Poznyakoff + Copyright (C) 2007-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1545,7 +1545,7 @@ return 1; } n = utf8_char_width(itr->curptr); - if (n > itr->length) { + if (n == 0 || n > itr->length) { itr->end = 1; itr->err = 1; return 1; diff -Nru dico-2.9/lib/util.c dico-2.10/lib/util.c --- dico-2.9/lib/util.c 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/lib/util.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/lib/xlat.c dico-2.10/lib/xlat.c --- dico-2.9/lib/xlat.c 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/lib/xlat.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/libltdl/argz.c dico-2.10/libltdl/argz.c --- dico-2.9/libltdl/argz.c 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/argz.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,226 +0,0 @@ -/* argz.c -- argz implementation for non-glibc systems - - Copyright (C) 2004, 2006, 2007, 2008 Free Software Foundation, Inc. - Written by Gary V. Vaughan, 2004 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl 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 Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#if defined(LTDL) && defined LT_CONFIG_H -# include LT_CONFIG_H -#else -# include -#endif - -#include - -#include -#include -#include -#include -#include -#include - -#define EOS_CHAR '\0' - -error_t -argz_append (char **pargz, size_t *pargz_len, const char *buf, size_t buf_len) -{ - size_t argz_len; - char *argz; - - assert (pargz); - assert (pargz_len); - assert ((*pargz && *pargz_len) || (!*pargz && !*pargz_len)); - - /* If nothing needs to be appended, no more work is required. */ - if (buf_len == 0) - return 0; - - /* Ensure there is enough room to append BUF_LEN. */ - argz_len = *pargz_len + buf_len; - argz = (char *) realloc (*pargz, argz_len); - if (!argz) - return ENOMEM; - - /* Copy characters from BUF after terminating '\0' in ARGZ. */ - memcpy (argz + *pargz_len, buf, buf_len); - - /* Assign new values. */ - *pargz = argz; - *pargz_len = argz_len; - - return 0; -} - - -error_t -argz_create_sep (const char *str, int delim, char **pargz, size_t *pargz_len) -{ - size_t argz_len; - char *argz = 0; - - assert (str); - assert (pargz); - assert (pargz_len); - - /* Make a copy of STR, but replacing each occurrence of - DELIM with '\0'. */ - argz_len = 1+ strlen (str); - if (argz_len) - { - const char *p; - char *q; - - argz = (char *) malloc (argz_len); - if (!argz) - return ENOMEM; - - for (p = str, q = argz; *p != EOS_CHAR; ++p) - { - if (*p == delim) - { - /* Ignore leading delimiters, and fold consecutive - delimiters in STR into a single '\0' in ARGZ. */ - if ((q > argz) && (q[-1] != EOS_CHAR)) - *q++ = EOS_CHAR; - else - --argz_len; - } - else - *q++ = *p; - } - /* Copy terminating EOS_CHAR. */ - *q = *p; - } - - /* If ARGZ_LEN has shrunk to nothing, release ARGZ's memory. */ - if (!argz_len) - argz = (free (argz), (char *) 0); - - /* Assign new values. */ - *pargz = argz; - *pargz_len = argz_len; - - return 0; -} - - -error_t -argz_insert (char **pargz, size_t *pargz_len, char *before, const char *entry) -{ - assert (pargz); - assert (pargz_len); - assert (entry && *entry); - - /* No BEFORE address indicates ENTRY should be inserted after the - current last element. */ - if (!before) - return argz_append (pargz, pargz_len, entry, 1+ strlen (entry)); - - /* This probably indicates a programmer error, but to preserve - semantics, scan back to the start of an entry if BEFORE points - into the middle of it. */ - while ((before > *pargz) && (before[-1] != EOS_CHAR)) - --before; - - { - size_t entry_len = 1+ strlen (entry); - size_t argz_len = *pargz_len + entry_len; - size_t offset = before - *pargz; - char *argz = (char *) realloc (*pargz, argz_len); - - if (!argz) - return ENOMEM; - - /* Make BEFORE point to the equivalent offset in ARGZ that it - used to have in *PARGZ incase realloc() moved the block. */ - before = argz + offset; - - /* Move the ARGZ entries starting at BEFORE up into the new - space at the end -- making room to copy ENTRY into the - resulting gap. */ - memmove (before + entry_len, before, *pargz_len - offset); - memcpy (before, entry, entry_len); - - /* Assign new values. */ - *pargz = argz; - *pargz_len = argz_len; - } - - return 0; -} - - -char * -argz_next (char *argz, size_t argz_len, const char *entry) -{ - assert ((argz && argz_len) || (!argz && !argz_len)); - - if (entry) - { - /* Either ARGZ/ARGZ_LEN is empty, or ENTRY points into an address - within the ARGZ vector. */ - assert ((!argz && !argz_len) - || ((argz <= entry) && (entry < (argz + argz_len)))); - - /* Move to the char immediately after the terminating - '\0' of ENTRY. */ - entry = 1+ strchr (entry, EOS_CHAR); - - /* Return either the new ENTRY, or else NULL if ARGZ is - exhausted. */ - return (entry >= argz + argz_len) ? 0 : (char *) entry; - } - else - { - /* This should probably be flagged as a programmer error, - since starting an argz_next loop with the iterator set - to ARGZ is safer. To preserve semantics, handle the NULL - case by returning the start of ARGZ (if any). */ - if (argz_len > 0) - return argz; - else - return 0; - } -} - - -void -argz_stringify (char *argz, size_t argz_len, int sep) -{ - assert ((argz && argz_len) || (!argz && !argz_len)); - - if (sep) - { - --argz_len; /* don't stringify the terminating EOS */ - while (--argz_len > 0) - { - if (argz[argz_len] == EOS_CHAR) - argz[argz_len] = sep; - } - } -} - diff -Nru dico-2.9/libltdl/argz_.h dico-2.10/libltdl/argz_.h --- dico-2.9/libltdl/argz_.h 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/argz_.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,68 +0,0 @@ -/* lt__argz.h -- internal argz interface for non-glibc systems - - Copyright (C) 2004, 2007, 2008 Free Software Foundation, Inc. - Written by Gary V. Vaughan, 2004 - - NOTE: The canonical source of this file is maintained with the - GNU Libtool package. Report bugs to bug-libtool@gnu.org. - -GNU Libltdl is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -As a special exception to the GNU Lesser General Public License, -if you distribute this file as part of a program or library that -is built using GNU Libtool, you may include this file under the -same distribution terms that you use for the rest of that program. - -GNU Libltdl 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 Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libltdl; see the file COPYING.LIB. If not, a -copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, -or obtained by writing to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#if !defined(LT__ARGZ_H) -#define LT__ARGZ_H 1 - -#include -#define __need_error_t -#include -#include - -#if defined(LTDL) -# include "lt__glibc.h" -# include "lt_system.h" -#else -# define LT_SCOPE -#endif - -#if defined(__cplusplus) -extern "C" { -#endif - -LT_SCOPE error_t argz_append (char **pargz, size_t *pargz_len, - const char *buf, size_t buf_len); -LT_SCOPE error_t argz_create_sep(const char *str, int delim, - char **pargz, size_t *pargz_len); -LT_SCOPE error_t argz_insert (char **pargz, size_t *pargz_len, - char *before, const char *entry); -LT_SCOPE char * argz_next (char *argz, size_t argz_len, - const char *entry); -LT_SCOPE void argz_stringify (char *argz, size_t argz_len, int sep); - -#if defined(__cplusplus) -} -#endif - -#if !defined(LTDL) -# undef LT_SCOPE -#endif - -#endif /*!defined(LT__ARGZ_H)*/ diff -Nru dico-2.9/libltdl/COPYING.LIB dico-2.10/libltdl/COPYING.LIB --- dico-2.9/libltdl/COPYING.LIB 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/COPYING.LIB 2019-01-25 07:21:28.000000000 +0000 @@ -1,9 +1,8 @@ - GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -23,8 +22,7 @@ Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations -below. +strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that @@ -57,7 +55,7 @@ that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. -^L + Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a @@ -89,8 +87,7 @@ special circumstances. For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it -becomes +encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this @@ -114,7 +111,7 @@ "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. -^L + GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION @@ -139,8 +136,7 @@ "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control -compilation +interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not @@ -220,7 +216,7 @@ ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. -^L + Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. @@ -271,7 +267,7 @@ distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. -^L + 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work @@ -333,7 +329,7 @@ accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. -^L + 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined @@ -374,7 +370,7 @@ restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. -^L + 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or @@ -388,10 +384,9 @@ the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply, and the section as a whole is intended to apply in other -circumstances. +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any @@ -409,11 +404,11 @@ 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License -may add an explicit geographical distribution limitation excluding those -countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. @@ -427,7 +422,7 @@ the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. -^L + 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is @@ -461,30 +456,27 @@ DAMAGES. END OF TERMS AND CONDITIONS -^L + How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms -of the ordinary General Public License). +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). - To apply these terms, attach the following notices to the library. -It is safest to attach them to the start of each source file to most -effectively convey the exclusion of warranty; and each file should -have at least the "copyright" line and a pointer to where the full -notice is found. + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. - - + Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. + version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -493,23 +485,18 @@ You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -Also add information on how to contact you by electronic and paper -mail. +Also add information on how to contact you by electronic and paper mail. -You should also get your employer (if you work as a programmer) or -your +You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James -Random Hacker. + library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! - - diff -Nru dico-2.9/libltdl/libltdl/lt__alloc.h dico-2.10/libltdl/libltdl/lt__alloc.h --- dico-2.9/libltdl/libltdl/lt__alloc.h 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/libltdl/lt__alloc.h 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,6 @@ /* lt__alloc.h -- internal memory management interface - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. Written by Gary V. Vaughan, 2004 NOTE: The canonical source of this file is maintained with the @@ -28,7 +28,7 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#if !defined(LT__ALLOC_H) +#if !defined LT__ALLOC_H #define LT__ALLOC_H 1 #include "lt_system.h" @@ -37,10 +37,10 @@ #define MALLOC(tp, n) (tp*) lt__malloc((n) * sizeof(tp)) #define REALLOC(tp, mem, n) (tp*) lt__realloc((mem), (n) * sizeof(tp)) -#define FREE(mem) LT_STMT_START { \ - if (mem) { free ((void *)mem); mem = NULL; } } LT_STMT_END -#define MEMREASSIGN(p, q) LT_STMT_START { \ - if ((p) != (q)) { if (p) free (p); (p) = (q); (q) = 0; } \ +#define FREE(mem) LT_STMT_START { \ + free (mem); mem = NULL; } LT_STMT_END +#define MEMREASSIGN(p, q) LT_STMT_START { \ + if ((p) != (q)) { free (p); (p) = (q); (q) = 0; } \ } LT_STMT_END /* If set, this function is called when memory allocation has failed. */ @@ -55,4 +55,4 @@ LT_END_C_DECLS -#endif /*!defined(LT__ALLOC_H)*/ +#endif /*!defined LT__ALLOC_H*/ diff -Nru dico-2.9/libltdl/libltdl/lt__argz_.h dico-2.10/libltdl/libltdl/lt__argz_.h --- dico-2.9/libltdl/libltdl/lt__argz_.h 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/libltdl/libltdl/lt__argz_.h 2019-01-25 07:21:28.000000000 +0000 @@ -0,0 +1,69 @@ +/* lt__argz.h -- internal argz interface for non-glibc systems + + Copyright (C) 2004, 2007-2008, 2011-2015 Free Software Foundation, + Inc. + Written by Gary V. Vaughan, 2004 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#if !defined LT__ARGZ_H +#define LT__ARGZ_H 1 + +#include +#define __need_error_t +#include +#include + +#if defined LTDL +# include "lt__glibc.h" +# include "lt_system.h" +#else +# define LT_SCOPE +#endif + +#if defined __cplusplus +extern "C" { +#endif + +LT_SCOPE error_t argz_append (char **pargz, size_t *pargz_len, + const char *buf, size_t buf_len); +LT_SCOPE error_t argz_create_sep(const char *str, int delim, + char **pargz, size_t *pargz_len); +LT_SCOPE error_t argz_insert (char **pargz, size_t *pargz_len, + char *before, const char *entry); +LT_SCOPE char * argz_next (char *argz, size_t argz_len, + const char *entry); +LT_SCOPE void argz_stringify (char *argz, size_t argz_len, int sep); + +#if defined __cplusplus +} +#endif + +#if !defined LTDL +# undef LT_SCOPE +#endif + +#endif /*!defined LT__ARGZ_H*/ diff -Nru dico-2.9/libltdl/libltdl/lt__dirent.h dico-2.10/libltdl/libltdl/lt__dirent.h --- dico-2.9/libltdl/libltdl/lt__dirent.h 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/libltdl/lt__dirent.h 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,7 @@ /* lt__dirent.h -- internal directory entry scanning interface - Copyright (C) 2001, 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 2001, 2004, 2006, 2011-2015 Free Software Foundation, + Inc. Written by Bob Friesenhahn, 2001 NOTE: The canonical source of this file is maintained with the @@ -28,10 +29,10 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#if !defined(LT__DIRENT_H) +#if !defined LT__DIRENT_H #define LT__DIRENT_H 1 -#if defined(LT_CONFIG_H) +#if defined LT_CONFIG_H # include LT_CONFIG_H #else # include @@ -80,8 +81,8 @@ LT_END_C_DECLS -#else /* !defined(__WINDOWS__)*/ +#else /* !defined __WINDOWS__*/ ERROR - cannot find dirent -#endif /*!defined(__WINDOWS__)*/ +#endif /*!defined __WINDOWS__*/ -#endif /*!defined(LT__DIRENT_H)*/ +#endif /*!defined LT__DIRENT_H*/ diff -Nru dico-2.9/libltdl/libltdl/lt_dlloader.h dico-2.10/libltdl/libltdl/lt_dlloader.h --- dico-2.9/libltdl/libltdl/lt_dlloader.h 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/libltdl/lt_dlloader.h 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,7 @@ /* lt_dlloader.h -- dynamic library loader interface - Copyright (C) 2004, 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 2004, 2007-2008, 2011-2015 Free Software Foundation, + Inc. Written by Gary V. Vaughan, 2004 NOTE: The canonical source of this file is maintained with the @@ -28,7 +29,7 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#if !defined(LT_DLLOADER_H) +#if !defined LT_DLLOADER_H #define LT_DLLOADER_H 1 #include @@ -87,4 +88,4 @@ LT_END_C_DECLS -#endif /*!defined(LT_DLLOADER_H)*/ +#endif /*!defined LT_DLLOADER_H*/ diff -Nru dico-2.9/libltdl/libltdl/lt_error.h dico-2.10/libltdl/libltdl/lt_error.h --- dico-2.9/libltdl/libltdl/lt_error.h 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/libltdl/lt_error.h 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,7 @@ -/* lt_error.h -- error propogation interface +/* lt_error.h -- error propagation interface - Copyright (C) 1999, 2000, 2001, 2004, 2007 Free Software Foundation, Inc. + Copyright (C) 1999-2001, 2004, 2007, 2011-2015 Free Software + Foundation, Inc. Written by Thomas Tanner, 1999 NOTE: The canonical source of this file is maintained with the @@ -29,7 +30,7 @@ */ /* Only include this header file once. */ -#if !defined(LT_ERROR_H) +#if !defined LT_ERROR_H #define LT_ERROR_H 1 #include @@ -82,4 +83,4 @@ LT_END_C_DECLS -#endif /*!defined(LT_ERROR_H)*/ +#endif /*!defined LT_ERROR_H*/ diff -Nru dico-2.9/libltdl/libltdl/lt__glibc.h dico-2.10/libltdl/libltdl/lt__glibc.h --- dico-2.9/libltdl/libltdl/lt__glibc.h 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/libltdl/lt__glibc.h 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,7 @@ /* lt__glibc.h -- support for non glibc environments - Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2004, 2006-2007, 2011-2015 Free Software Foundation, + Inc. Written by Gary V. Vaughan, 2004 NOTE: The canonical source of this file is maintained with the @@ -28,16 +29,16 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#if !defined(LT__GLIBC_H) +#if !defined LT__GLIBC_H #define LT__GLIBC_H 1 -#if defined(LT_CONFIG_H) +#if defined LT_CONFIG_H # include LT_CONFIG_H #else # include #endif -#if !defined(HAVE_ARGZ_H) || !defined(HAVE_WORKING_ARGZ) +#if !defined HAVE_ARGZ_H || !defined HAVE_WORKING_ARGZ /* Redefine any glibc symbols we reimplement to import the implementations into our lt__ namespace so we don't ever clash with the system library if our clients use argz_* @@ -52,7 +53,10 @@ # define argz_next lt__argz_next # undef argz_stringify # define argz_stringify lt__argz_stringify -#endif + +# include + +#else #ifdef __cplusplus extern "C" { @@ -64,6 +68,8 @@ } #endif +#endif /*!defined HAVE_ARGZ_H || !defined HAVE_WORKING_ARGZ*/ + # define slist_concat lt__slist_concat # define slist_cons lt__slist_cons # define slist_delete lt__slist_delete @@ -80,4 +86,4 @@ #include -#endif /*!defined(LT__GLIBC_H)*/ +#endif /*!defined LT__GLIBC_H*/ diff -Nru dico-2.9/libltdl/libltdl/lt__private.h dico-2.10/libltdl/libltdl/lt__private.h --- dico-2.9/libltdl/libltdl/lt__private.h 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/libltdl/lt__private.h 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,6 @@ /* lt__private.h -- internal apis for libltdl - Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 2004-2008, 2011-2015 Free Software Foundation, Inc. Written by Gary V. Vaughan, 2004 NOTE: The canonical source of this file is maintained with the @@ -28,10 +28,10 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#if !defined(LT__PRIVATE_H) +#if !defined LT__PRIVATE_H #define LT__PRIVATE_H 1 -#if defined(LT_CONFIG_H) +#if defined LT_CONFIG_H # include LT_CONFIG_H #else # include @@ -43,7 +43,7 @@ #include #include -#if defined(HAVE_UNISTD_H) +#if defined HAVE_UNISTD_H # include #endif @@ -56,15 +56,15 @@ /* ...and all exported interfaces. */ #include "ltdl.h" -#if defined(WITH_DMALLOC) +#if defined WITH_DMALLOC # include #endif /* DLL building support on win32 hosts; mostly to workaround their ridiculous implementation of data symbol exporting. */ #ifndef LT_GLOBAL_DATA -# if defined(__WINDOWS__) || defined(__CYGWIN__) -# if defined(DLL_EXPORT) /* defined by libtool (if required) */ +# if defined __WINDOWS__ || defined __CYGWIN__ +# if defined DLL_EXPORT /* defined by libtool (if required) */ # define LT_GLOBAL_DATA __declspec(dllexport) # endif # endif @@ -86,7 +86,7 @@ LT_BEGIN_C_DECLS -#if !defined(errno) +#if !defined errno extern int errno; #endif @@ -94,8 +94,8 @@ /* For readability: */ -#define strneq(s1, s2) (strcmp((s1), (s2)) != 0) -#define streq(s1, s2) (!strcmp((s1), (s2))) +#define STRNEQ(s1, s2) (strcmp((s1), (s2)) != 0) +#define STREQ(s1, s2) (strcmp((s1), (s2)) == 0) @@ -146,4 +146,4 @@ LT_END_C_DECLS -#endif /*!defined(LT__PRIVATE_H)*/ +#endif /*!defined LT__PRIVATE_H*/ diff -Nru dico-2.9/libltdl/libltdl/lt__strl.h dico-2.10/libltdl/libltdl/lt__strl.h --- dico-2.9/libltdl/libltdl/lt__strl.h 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/libltdl/lt__strl.h 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,6 @@ /* lt__strl.h -- size-bounded string copying and concatenation - Copyright (C) 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2011-2015 Free Software Foundation, Inc. Written by Bob Friesenhahn, 2004 NOTE: The canonical source of this file is maintained with the @@ -28,10 +28,10 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#if !defined(LT__STRL_H) +#if !defined LT__STRL_H #define LT__STRL_H 1 -#if defined(LT_CONFIG_H) +#if defined LT_CONFIG_H # include LT_CONFIG_H #else # include @@ -40,14 +40,14 @@ #include #include "lt_system.h" -#if !defined(HAVE_STRLCAT) +#if !defined HAVE_STRLCAT # define strlcat(dst,src,dstsize) lt_strlcat(dst,src,dstsize) LT_SCOPE size_t lt_strlcat(char *dst, const char *src, const size_t dstsize); -#endif /* !defined(HAVE_STRLCAT) */ +#endif /* !defined HAVE_STRLCAT */ -#if !defined(HAVE_STRLCPY) +#if !defined HAVE_STRLCPY # define strlcpy(dst,src,dstsize) lt_strlcpy(dst,src,dstsize) LT_SCOPE size_t lt_strlcpy(char *dst, const char *src, const size_t dstsize); -#endif /* !defined(HAVE_STRLCPY) */ +#endif /* !defined HAVE_STRLCPY */ -#endif /*!defined(LT__STRL_H)*/ +#endif /*!defined LT__STRL_H*/ diff -Nru dico-2.9/libltdl/libltdl/lt_system.h dico-2.10/libltdl/libltdl/lt_system.h --- dico-2.9/libltdl/libltdl/lt_system.h 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/libltdl/lt_system.h 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,6 @@ /* lt_system.h -- system portability abstraction layer - Copyright (C) 2004, 2007, 2010 Free Software Foundation, Inc. + Copyright (C) 2004, 2007, 2010-2015 Free Software Foundation, Inc. Written by Gary V. Vaughan, 2004 NOTE: The canonical source of this file is maintained with the @@ -28,7 +28,7 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#if !defined(LT_SYSTEM_H) +#if !defined LT_SYSTEM_H #define LT_SYSTEM_H 1 #include @@ -36,10 +36,10 @@ #include /* Some systems do not define EXIT_*, even with STDC_HEADERS. */ -#if !defined(EXIT_SUCCESS) +#if !defined EXIT_SUCCESS # define EXIT_SUCCESS 0 #endif -#if !defined(EXIT_FAILURE) +#if !defined EXIT_FAILURE # define EXIT_FAILURE 1 #endif @@ -53,7 +53,7 @@ /* LTDL_BEGIN_C_DECLS should be used at the beginning of your declarations, so that C++ compilers don't mangle their names. Use LTDL_END_C_DECLS at the end of C declarations. */ -#if defined(__cplusplus) +#if defined __cplusplus # define LT_BEGIN_C_DECLS extern "C" { # define LT_END_C_DECLS } #else @@ -61,13 +61,13 @@ # define LT_END_C_DECLS /* empty */ #endif -/* LT_STMT_START/END are used to create macros which expand to a +/* LT_STMT_START/END are used to create macros that expand to a a single compound statement in a portable way. */ -#if defined (__GNUC__) && !defined (__STRICT_ANSI__) && !defined (__cplusplus) +#if defined __GNUC__ && !defined __STRICT_ANSI__ && !defined __cplusplus # define LT_STMT_START (void)( # define LT_STMT_END ) #else -# if (defined (sun) || defined (__sun__)) +# if (defined sun || defined __sun__) # define LT_STMT_START if (1) # define LT_STMT_END else (void)0 # else @@ -77,11 +77,11 @@ #endif /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST -#elif defined(__osf__) +#elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else @@ -91,41 +91,41 @@ /* Canonicalise Windows and Cygwin recognition macros. To match the values set by recent Cygwin compilers, make sure that if __CYGWIN__ is defined (after canonicalisation), __WINDOWS__ is NOT! */ -#if defined(__CYGWIN32__) && !defined(__CYGWIN__) +#if defined __CYGWIN32__ && !defined __CYGWIN__ # define __CYGWIN__ __CYGWIN32__ #endif -#if defined(__CYGWIN__) -# if defined(__WINDOWS__) +#if defined __CYGWIN__ +# if defined __WINDOWS__ # undef __WINDOWS__ # endif -#elif defined(_WIN32) +#elif defined _WIN32 # define __WINDOWS__ _WIN32 -#elif defined(WIN32) +#elif defined WIN32 # define __WINDOWS__ WIN32 #endif -#if defined(__CYGWIN__) && defined(__WINDOWS__) +#if defined __CYGWIN__ && defined __WINDOWS__ # undef __WINDOWS__ #endif /* DLL building support on win32 hosts; mostly to workaround their ridiculous implementation of data symbol exporting. */ -#if !defined(LT_SCOPE) -# if defined(__WINDOWS__) || defined(__CYGWIN__) -# if defined(DLL_EXPORT) /* defined by libtool (if required) */ +#if !defined LT_SCOPE +# if defined __WINDOWS__ || defined __CYGWIN__ +# if defined DLL_EXPORT /* defined by libtool (if required) */ # define LT_SCOPE extern __declspec(dllexport) # endif -# if defined(LIBLTDL_DLL_IMPORT) /* define if linking with this dll */ +# if defined LIBLTDL_DLL_IMPORT /* define if linking with this dll */ /* note: cygwin/mingw compilers can rely instead on auto-import */ # define LT_SCOPE extern __declspec(dllimport) # endif # endif -# if !defined(LT_SCOPE) /* static linking or !__WINDOWS__ */ +# if !defined LT_SCOPE /* static linking or !__WINDOWS__ */ # define LT_SCOPE extern # endif #endif -#if defined(__WINDOWS__) +#if defined __WINDOWS__ /* LT_DIRSEP_CHAR is accepted *in addition* to '/' as a directory separator when it is set. */ # define LT_DIRSEP_CHAR '\\' @@ -134,13 +134,13 @@ # define LT_PATHSEP_CHAR ':' #endif -#if defined(_MSC_VER) /* Visual Studio */ +#if defined _MSC_VER /* Visual Studio */ # define R_OK 4 #endif /* fopen() mode flags for reading a text file */ #undef LT_READTEXT_MODE -#if defined(__WINDOWS__) || defined(__CYGWIN__) +#if defined __WINDOWS__ || defined __CYGWIN__ # define LT_READTEXT_MODE "rt" #else # define LT_READTEXT_MODE "r" @@ -163,4 +163,4 @@ # define LT_CONC3(a, b, c) LT__CONC3(a, b, c) #endif -#endif /*!defined(LT_SYSTEM_H)*/ +#endif /*!defined LT_SYSTEM_H*/ diff -Nru dico-2.9/libltdl/libltdl/slist.h dico-2.10/libltdl/libltdl/slist.h --- dico-2.9/libltdl/libltdl/slist.h 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/libltdl/slist.h 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,7 @@ /* slist.h -- generalised singly linked lists - Copyright (C) 2000, 2004, 2009 Free Software Foundation, Inc. + Copyright (C) 2000, 2004, 2009, 2011-2015 Free Software Foundation, + Inc. Written by Gary V. Vaughan, 2000 NOTE: The canonical source of this file is maintained with the @@ -30,7 +31,7 @@ /* A generalised list. This is deliberately transparent so that you can make the NEXT field of all your chained data structures first, - and then cast them to `(SList *)' so that they can be manipulated + and then cast them to '(SList *)' so that they can be manipulated by this API. Alternatively, you can generate raw SList elements using slist_new(), @@ -38,10 +39,10 @@ get to manage the memory involved by yourself. */ -#if !defined(SLIST_H) +#if !defined SLIST_H #define SLIST_H 1 -#if defined(LTDL) +#if defined LTDL # include # include #else @@ -50,13 +51,13 @@ #include -#if defined(__cplusplus) +#if defined __cplusplus extern "C" { #endif typedef struct slist { struct slist *next; /* chain forward pointer*/ - const void *userdata; /* for boxed `SList' item */ + const void *userdata; /* for boxed 'SList' item */ } SList; typedef void * SListCallback (SList *item, void *userdata); @@ -85,12 +86,12 @@ LT_SCOPE SList *slist_box (const void *userdata); LT_SCOPE void * slist_unbox (SList *item); -#if defined(__cplusplus) +#if defined __cplusplus } #endif -#if !defined(LTDL) +#if !defined LTDL # undef LT_SCOPE #endif -#endif /*!defined(SLIST_H)*/ +#endif /*!defined SLIST_H*/ diff -Nru dico-2.9/libltdl/loaders/dld_link.c dico-2.10/libltdl/loaders/dld_link.c --- dico-2.9/libltdl/loaders/dld_link.c 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/loaders/dld_link.c 2019-01-25 07:21:28.000000000 +0000 @@ -1,7 +1,7 @@ /* loader-dld_link.c -- dynamic linking with dld - Copyright (C) 1998, 1999, 2000, 2004, 2006, - 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software + Foundation, Inc. Written by Thomas Tanner, 1998 NOTE: The canonical source of this file is maintained with the @@ -90,14 +90,14 @@ /* --- IMPLEMENTATION --- */ -#if defined(HAVE_DLD_H) +#if defined HAVE_DLD_H # include #endif /* A function called through the vtable when this loader is no longer needed by the application. */ static int -vl_exit (lt_user_data LT__UNUSED loader_data) +vl_exit (lt_user_data loader_data LT__UNUSED) { vtable = NULL; return 0; @@ -107,8 +107,8 @@ loader. Returns an opaque representation of the newly opened module for processing with this loader's other vtable functions. */ static lt_module -vm_open (lt_user_data LT__UNUSED loader_data, const char *filename, - lt_dladvise LT__UNUSED advise) +vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, + lt_dladvise advise LT__UNUSED) { lt_module module = lt__strdup (filename); @@ -124,7 +124,7 @@ /* A function called through the vtable when a particular module should be unloaded. */ static int -vm_close (lt_user_data LT__UNUSED loader_data, lt_module module) +vm_close (lt_user_data loader_data LT__UNUSED, lt_module module) { int errors = 0; @@ -144,7 +144,7 @@ /* A function called through the vtable to get the address of a symbol loaded from a particular module. */ static void * -vm_sym (lt_user_data LT__UNUSED loader_data, lt_module LT__UNUSED module, +vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module LT__UNUSED, const char *name) { void *address = dld_get_func (name); diff -Nru dico-2.9/libltdl/loaders/dlopen.c dico-2.10/libltdl/loaders/dlopen.c --- dico-2.9/libltdl/loaders/dlopen.c 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/loaders/dlopen.c 2019-01-25 07:21:28.000000000 +0000 @@ -1,7 +1,7 @@ /* loader-dlopen.c -- dynamic linking with dlopen/dlsym - Copyright (C) 1998, 1999, 2000, 2004, 2006, - 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software + Foundation, Inc. Written by Thomas Tanner, 1998 NOTE: The canonical source of this file is maintained with the @@ -68,7 +68,7 @@ if (vtable && !vtable->name) { vtable->name = "lt_dlopen"; -#if defined(DLSYM_USCORE) +#if defined DLSYM_USCORE vtable->sym_prefix = "_"; #endif vtable->module_open = vm_open; @@ -93,53 +93,53 @@ /* --- IMPLEMENTATION --- */ -#if defined(HAVE_DLFCN_H) +#if defined HAVE_DLFCN_H # include #endif -#if defined(HAVE_SYS_DL_H) +#if defined HAVE_SYS_DL_H # include #endif /* We may have to define LT_LAZY_OR_NOW in the command line if we find out it does not work in some platform. */ -#if !defined(LT_LAZY_OR_NOW) -# if defined(RTLD_LAZY) +#if !defined LT_LAZY_OR_NOW +# if defined RTLD_LAZY # define LT_LAZY_OR_NOW RTLD_LAZY # else -# if defined(DL_LAZY) +# if defined DL_LAZY # define LT_LAZY_OR_NOW DL_LAZY # endif # endif /* !RTLD_LAZY */ #endif -#if !defined(LT_LAZY_OR_NOW) -# if defined(RTLD_NOW) +#if !defined LT_LAZY_OR_NOW +# if defined RTLD_NOW # define LT_LAZY_OR_NOW RTLD_NOW # else -# if defined(DL_NOW) +# if defined DL_NOW # define LT_LAZY_OR_NOW DL_NOW # endif # endif /* !RTLD_NOW */ #endif -#if !defined(LT_LAZY_OR_NOW) +#if !defined LT_LAZY_OR_NOW # define LT_LAZY_OR_NOW 0 #endif /* !LT_LAZY_OR_NOW */ /* We only support local and global symbols from modules for loaders that provide such a thing, otherwise the system default is used. */ -#if !defined(RTLD_GLOBAL) -# if defined(DL_GLOBAL) +#if !defined RTLD_GLOBAL +# if defined DL_GLOBAL # define RTLD_GLOBAL DL_GLOBAL # endif #endif /* !RTLD_GLOBAL */ -#if !defined(RTLD_LOCAL) -# if defined(DL_LOCAL) +#if !defined RTLD_LOCAL +# if defined DL_LOCAL # define RTLD_LOCAL DL_LOCAL # endif #endif /* !RTLD_LOCAL */ -#if defined(HAVE_DLERROR) +#if defined HAVE_DLERROR # define DLERROR(arg) dlerror () #else # define DLERROR(arg) LT__STRERROR (arg) @@ -152,7 +152,7 @@ /* A function called through the vtable when this loader is no longer needed by the application. */ static int -vl_exit (lt_user_data LT__UNUSED loader_data) +vl_exit (lt_user_data loader_data LT__UNUSED) { vtable = NULL; return 0; @@ -163,11 +163,14 @@ loader. Returns an opaque representation of the newly opened module for processing with this loader's other vtable functions. */ static lt_module -vm_open (lt_user_data LT__UNUSED loader_data, const char *filename, +vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, lt_dladvise advise) { int module_flags = LT_LAZY_OR_NOW; lt_module module; +#ifdef RTLD_MEMBER + int len = LT_STRLEN (filename); +#endif if (advise) { @@ -191,8 +194,45 @@ #endif } +#ifdef RTLD_MEMBER /* AIX */ + if (len >= 4) /* at least "l(m)" */ + { + /* Advise loading an archive member only if the filename really + contains both the opening and closing parent, and a member. */ + if (filename[len-1] == ')') + { + const char *opening = strrchr(filename, '('); + if (opening && opening < (filename+len-2) && strchr(opening+1, '/') == NULL) + module_flags |= RTLD_MEMBER; + } + } +#endif + module = dlopen (filename, module_flags); +#if defined RTLD_MEMBER && defined LT_SHARED_LIB_MEMBER + if (!module && len && !(module_flags & RTLD_MEMBER) && errno == ENOEXEC) + { + /* Loading without a member specified failed with "Exec format error". + So the file is there, but either has wrong bitwidth, or is an + archive eventually containing the default shared archive member. + Retry with default member, getting same error in worst case. */ + const char *member = LT_SHARED_LIB_MEMBER; + + char *attempt = MALLOC (char, len + strlen (member) + 1); + if (!attempt) + { + LT__SETERROR (NO_MEMORY); + return module; + } + + sprintf (attempt, "%s%s", filename, member); + module = vm_open (loader_data, attempt, advise); + FREE (attempt); + return module; + } +#endif + if (!module) { DL__SETERROR (CANNOT_OPEN); @@ -205,7 +245,7 @@ /* A function called through the vtable when a particular module should be unloaded. */ static int -vm_close (lt_user_data LT__UNUSED loader_data, lt_module module) +vm_close (lt_user_data loader_data LT__UNUSED, lt_module module) { int errors = 0; @@ -222,7 +262,7 @@ /* A function called through the vtable to get the address of a symbol loaded from a particular module. */ static void * -vm_sym (lt_user_data LT__UNUSED loader_data, lt_module module, const char *name) +vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name) { void *address = dlsym (module, name); diff -Nru dico-2.9/libltdl/loaders/dyld.c dico-2.10/libltdl/loaders/dyld.c --- dico-2.9/libltdl/loaders/dyld.c 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/loaders/dyld.c 2019-01-25 07:21:28.000000000 +0000 @@ -1,7 +1,7 @@ /* loader-dyld.c -- dynamic linking on darwin and OS X - Copyright (C) 1998, 1999, 2000, 2004, 2006, - 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software + Foundation, Inc. Written by Peter O'Gorman, 1998 NOTE: The canonical source of this file is maintained with the @@ -93,8 +93,8 @@ /* --- IMPLEMENTATION --- */ -#if defined(HAVE_MACH_O_DYLD_H) -# if !defined(__APPLE_CC__) && !defined(__MWERKS__) && !defined(__private_extern__) +#if defined HAVE_MACH_O_DYLD_H +# if !defined __APPLE_CC__ && !defined __MWERKS__ && !defined __private_extern__ /* Is this correct? Does it still function properly? */ # define __private_extern__ extern # endif @@ -104,7 +104,7 @@ #include /* We have to put some stuff here that isn't in older dyld.h files */ -#if !defined(ENUM_DYLD_BOOL) +#if !defined ENUM_DYLD_BOOL # define ENUM_DYLD_BOOL # undef FALSE # undef TRUE @@ -113,46 +113,46 @@ TRUE }; #endif -#if !defined(LC_REQ_DYLD) +#if !defined LC_REQ_DYLD # define LC_REQ_DYLD 0x80000000 #endif -#if !defined(LC_LOAD_WEAK_DYLIB) +#if !defined LC_LOAD_WEAK_DYLIB # define LC_LOAD_WEAK_DYLIB (0x18 | LC_REQ_DYLD) #endif -#if !defined(NSADDIMAGE_OPTION_NONE) +#if !defined NSADDIMAGE_OPTION_NONE # define NSADDIMAGE_OPTION_NONE 0x0 #endif -#if !defined(NSADDIMAGE_OPTION_RETURN_ON_ERROR) +#if !defined NSADDIMAGE_OPTION_RETURN_ON_ERROR # define NSADDIMAGE_OPTION_RETURN_ON_ERROR 0x1 #endif -#if !defined(NSADDIMAGE_OPTION_WITH_SEARCHING) +#if !defined NSADDIMAGE_OPTION_WITH_SEARCHING # define NSADDIMAGE_OPTION_WITH_SEARCHING 0x2 #endif -#if !defined(NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED) +#if !defined NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED # define NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED 0x4 #endif -#if !defined(NSADDIMAGE_OPTION_MATCH_FILENAME_BY_INSTALLNAME) +#if !defined NSADDIMAGE_OPTION_MATCH_FILENAME_BY_INSTALLNAME # define NSADDIMAGE_OPTION_MATCH_FILENAME_BY_INSTALLNAME 0x8 #endif -#if !defined(NSLOOKUPSYMBOLINIMAGE_OPTION_BIND) +#if !defined NSLOOKUPSYMBOLINIMAGE_OPTION_BIND # define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND 0x0 #endif -#if !defined(NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW) +#if !defined NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW # define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW 0x1 #endif -#if !defined(NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_FULLY) +#if !defined NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_FULLY # define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_FULLY 0x2 #endif -#if !defined(NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR) +#if !defined NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR # define NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR 0x4 #endif #define LT__SYMLOOKUP_OPTS (NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW \ | NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR) -#if defined(__BIG_ENDIAN__) +#if defined __BIG_ENDIAN__ # define LT__MAGIC MH_MAGIC #else # define LT__MAGIC MH_CIGAM @@ -185,7 +185,7 @@ /* A function called through the vtable when this loader is no longer needed by the application. */ static int -vl_exit (lt_user_data LT__UNUSED loader_data) +vl_exit (lt_user_data loader_data LT__UNUSED) { vtable = NULL; return 0; @@ -226,7 +226,7 @@ module for processing with this loader's other vtable functions. */ static lt_module vm_open (lt_user_data loader_data, const char *filename, - lt_dladvise LT__UNUSED advise) + lt_dladvise advise LT__UNUSED) { lt_module module = 0; NSObjectFileImage ofi = 0; @@ -240,8 +240,8 @@ { case NSObjectFileImageSuccess: module = NSLinkModule (ofi, filename, NSLINKMODULE_OPTION_RETURN_ON_ERROR - | NSLINKMODULE_OPTION_PRIVATE - | NSLINKMODULE_OPTION_BINDNOW); + | NSLINKMODULE_OPTION_PRIVATE + | NSLINKMODULE_OPTION_BINDNOW); NSDestroyObjectFileImage (ofi); if (module) @@ -302,7 +302,7 @@ { flags |= NSUNLINKMODULE_OPTION_KEEP_MEMORY_MAPPED; } -#if defined(__ppc__) +#if defined __ppc__ flags |= NSUNLINKMODULE_OPTION_RESET_LAZY_REFERENCES; #endif if (!NSUnLinkModule (module, flags)) @@ -350,7 +350,7 @@ if (!nssym) { - strncpy (saveError, dylderror (LT__STRERROR (SYMBOL_NOT_FOUND)), 255); + strlcpy (saveError, dylderror (LT__STRERROR (SYMBOL_NOT_FOUND)), 255); saveError[255] = 0; if (!mh) { diff -Nru dico-2.9/libltdl/loaders/load_add_on.c dico-2.10/libltdl/loaders/load_add_on.c --- dico-2.9/libltdl/loaders/load_add_on.c 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/loaders/load_add_on.c 2019-01-25 07:21:28.000000000 +0000 @@ -1,7 +1,7 @@ /* loader-load_add_on.c -- dynamic linking for BeOS - Copyright (C) 1998, 1999, 2000, 2004, 2006, - 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software + Foundation, Inc. Written by Thomas Tanner, 1998 NOTE: The canonical source of this file is maintained with the @@ -95,7 +95,7 @@ /* A function called through the vtable when this loader is no longer needed by the application. */ static int -vl_exit (lt_user_data LT__UNUSED loader_data) +vl_exit (lt_user_data loader_data LT__UNUSED) { vtable = NULL; return 0; @@ -105,8 +105,8 @@ loader. Returns an opaque representation of the newly opened module for processing with this loader's other vtable functions. */ static lt_module -vm_open (lt_user_data LT__UNUSED loader_data, const char *filename, - lt_dladvise LT__UNUSED advise) +vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, + lt_dladvise advise LT__UNUSED) { image_id image = 0; @@ -135,7 +135,7 @@ /* A function called through the vtable when a particular module should be unloaded. */ static int -vm_close (lt_user_data LT__UNUSED loader_data, lt_module module) +vm_close (lt_user_data loader_data LT__UNUSED, lt_module module) { int errors = 0; @@ -152,7 +152,7 @@ /* A function called through the vtable to get the address of a symbol loaded from a particular module. */ static void * -vm_sym (lt_user_data LT__UNUSED loader_data, lt_module module, const char *name) +vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name) { void *address = 0; image_id image = (image_id) module; diff -Nru dico-2.9/libltdl/loaders/loadlibrary.c dico-2.10/libltdl/loaders/loadlibrary.c --- dico-2.9/libltdl/loaders/loadlibrary.c 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/loaders/loadlibrary.c 2019-01-25 07:21:28.000000000 +0000 @@ -1,7 +1,7 @@ /* loader-loadlibrary.c -- dynamic linking for Win32 - Copyright (C) 1998, 1999, 2000, 2004, 2005, 2006, - 2007, 2008, 2010 Free Software Foundation, Inc. + Copyright (C) 1998-2000, 2004-2008, 2010-2015 Free Software + Foundation, Inc. Written by Thomas Tanner, 1998 NOTE: The canonical source of this file is maintained with the @@ -32,7 +32,7 @@ #include "lt__private.h" #include "lt_dlloader.h" -#if defined(__CYGWIN__) +#if defined __CYGWIN__ # include #endif @@ -120,7 +120,7 @@ /* A function called through the vtable when this loader is no longer needed by the application. */ static int -vl_exit (lt_user_data LT__UNUSED loader_data) +vl_exit (lt_user_data loader_data LT__UNUSED) { vtable = NULL; LOCALFREE (error_message); @@ -131,8 +131,8 @@ loader. Returns an opaque representation of the newly opened module for processing with this loader's other vtable functions. */ static lt_module -vm_open (lt_user_data LT__UNUSED loader_data, const char *filename, - lt_dladvise LT__UNUSED advise) +vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, + lt_dladvise advise LT__UNUSED) { lt_module module = 0; char *ext; @@ -163,7 +163,7 @@ return 0; } len = 0; -#elif defined(__CYGWIN__) +#elif defined __CYGWIN__ cygwin_conv_to_full_win32_path (filename, wpath); len = 0; #else @@ -173,8 +173,8 @@ ext = strrchr (wpath, '.'); if (!ext) { - /* Append a `.' to stop Windows from adding an - implicit `.dll' extension. */ + /* Append a '.' to stop Windows from adding an + implicit '.dll' extension. */ if (!len) len = strlen (wpath); @@ -245,7 +245,7 @@ /* A function called through the vtable when a particular module should be unloaded. */ static int -vm_close (lt_user_data LT__UNUSED loader_data, lt_module module) +vm_close (lt_user_data loader_data LT__UNUSED, lt_module module) { int errors = 0; @@ -262,7 +262,7 @@ /* A function called through the vtable to get the address of a symbol loaded from a particular module. */ static void * -vm_sym (lt_user_data LT__UNUSED loader_data, lt_module module, const char *name) +vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name) { void *address = (void *) GetProcAddress ((HMODULE) module, name); @@ -306,7 +306,7 @@ return len ? error_message : default_errmsg; } -/* A function called through the getthreaderrormode variable which checks +/* A function called through the getthreaderrormode variable that checks if the system supports GetThreadErrorMode (or GetErrorMode) and arranges for it or a fallback implementation to be called directly in the future. The selected version is then called. */ @@ -339,7 +339,7 @@ return (DWORD) SetErrorMode (SEM_FAILCRITICALERRORS); } -/* A function called through the setthreaderrormode variable which checks +/* A function called through the setthreaderrormode variable that checks if the system supports SetThreadErrorMode and arranges for it or a fallback implementation to be called directly in the future. The selected version is then called. */ diff -Nru dico-2.9/libltdl/loaders/preopen.c dico-2.10/libltdl/loaders/preopen.c --- dico-2.9/libltdl/loaders/preopen.c 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/loaders/preopen.c 2019-01-25 07:21:28.000000000 +0000 @@ -1,7 +1,7 @@ /* loader-preopen.c -- emulate dynamic linking using preloaded_symbols - Copyright (C) 1998, 1999, 2000, 2004, 2006, - 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software + Foundation, Inc. Written by Thomas Tanner, 1998 NOTE: The canonical source of this file is maintained with the @@ -113,7 +113,7 @@ /* A function called through the vtable to initialise this loader. */ static int -vl_init (lt_user_data LT__UNUSED loader_data) +vl_init (lt_user_data loader_data LT__UNUSED) { int errors = 0; @@ -130,7 +130,7 @@ /* A function called through the vtable when this loader is no longer needed by the application. */ static int -vl_exit (lt_user_data LT__UNUSED loader_data) +vl_exit (lt_user_data loader_data LT__UNUSED) { vtable = NULL; free_symlists (); @@ -142,8 +142,8 @@ loader. Returns an opaque representation of the newly opened module for processing with this loader's other vtable functions. */ static lt_module -vm_open (lt_user_data LT__UNUSED loader_data, const char *filename, - lt_dladvise LT__UNUSED advise) +vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, + lt_dladvise advise LT__UNUSED) { symlist_chain *lists; lt_module module = 0; @@ -168,7 +168,7 @@ const lt_dlsymlist *symbol; for (symbol= lists->symlist; symbol->name; ++symbol) { - if (!symbol->address && streq (symbol->name, filename)) + if (!symbol->address && STREQ (symbol->name, filename)) { /* If the next symbol's name and address is 0, it means the module just contains the originator and no symbols. @@ -195,7 +195,7 @@ /* A function called through the vtable when a particular module should be unloaded. */ static int -vm_close (lt_user_data LT__UNUSED loader_data, lt_module LT__UNUSED module) +vm_close (lt_user_data loader_data LT__UNUSED, lt_module module LT__UNUSED) { /* Just to silence gcc -Wall */ module = 0; @@ -206,15 +206,20 @@ /* A function called through the vtable to get the address of a symbol loaded from a particular module. */ static void * -vm_sym (lt_user_data LT__UNUSED loader_data, lt_module module, const char *name) +vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name) { lt_dlsymlist *symbol = (lt_dlsymlist*) module; + if (symbol[1].name && STREQ (symbol[1].name, "@INIT@")) + { + symbol++; /* Skip optional init entry. */ + } + symbol +=2; /* Skip header (originator then libname). */ while (symbol->name) { - if (streq (symbol->name, name)) + if (STREQ (symbol->name, name)) { return symbol->address; } @@ -273,6 +278,13 @@ tmp->symlist = symlist; tmp->next = preloaded_symlists; preloaded_symlists = tmp; + + if (symlist[1].name && STREQ (symlist[1].name, "@INIT@")) + { + void (*init_symlist)(void); + *(void **)(&init_symlist) = symlist[1].address; + (*init_symlist)(); + } } else { @@ -336,8 +348,8 @@ for (list = preloaded_symlists; list; list = list->next) { /* ...that was preloaded by the requesting ORIGINATOR... */ - if ((originator && streq (list->symlist->name, originator)) - || (!originator && streq (list->symlist->name, "@PROGRAM@"))) + if ((originator && STREQ (list->symlist->name, originator)) + || (!originator && STREQ (list->symlist->name, "@PROGRAM@"))) { const lt_dlsymlist *symbol; unsigned int idx = 0; @@ -349,7 +361,7 @@ while ((symbol = &list->symlist[++idx])->name != 0) { if ((symbol->address == 0) - && (strneq (symbol->name, "@PROGRAM@"))) + && (STRNEQ (symbol->name, "@PROGRAM@"))) { lt_dlhandle handle = lt_dlopen (symbol->name); if (handle == 0) diff -Nru dico-2.9/libltdl/loaders/shl_load.c dico-2.10/libltdl/loaders/shl_load.c --- dico-2.9/libltdl/loaders/shl_load.c 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/loaders/shl_load.c 2019-01-25 07:21:28.000000000 +0000 @@ -1,7 +1,7 @@ /* loader-shl_load.c -- dynamic linking with shl_load (HP-UX) - Copyright (C) 1998, 1999, 2000, 2004, 2006, - 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 1998-2000, 2004, 2006-2008, 2011-2015 Free Software + Foundation, Inc. Written by Thomas Tanner, 1998 NOTE: The canonical source of this file is maintained with the @@ -90,7 +90,7 @@ /* --- IMPLEMENTATION --- */ -#if defined(HAVE_DL_H) +#if defined HAVE_DL_H # include #endif @@ -103,11 +103,11 @@ * * Optionally: * BIND_FIRST - Place the library at the head of the symbol search - * order. + * order. * BIND_NONFATAL - The default BIND_IMMEDIATE behavior is to treat all - * unsatisfied symbols as fatal. This flag allows - * binding of unsatisfied code symbols to be deferred - * until use. + * unsatisfied symbols as fatal. This flag allows + * binding of unsatisfied code symbols to be deferred + * until use. * [Perl: For certain libraries, like DCE, deferred * binding often causes run time problems. Adding * BIND_NONFATAL to BIND_IMMEDIATE still allows @@ -125,10 +125,10 @@ * library specified by the path argument. */ -#if !defined(DYNAMIC_PATH) +#if !defined DYNAMIC_PATH # define DYNAMIC_PATH 0 #endif -#if !defined(BIND_RESTRICTED) +#if !defined BIND_RESTRICTED # define BIND_RESTRICTED 0 #endif @@ -138,7 +138,7 @@ /* A function called through the vtable when this loader is no longer needed by the application. */ static int -vl_exit (lt_user_data LT__UNUSED loader_data) +vl_exit (lt_user_data loader_data LT__UNUSED) { vtable = NULL; return 0; @@ -148,8 +148,8 @@ loader. Returns an opaque representation of the newly opened module for processing with this loader's other vtable functions. */ static lt_module -vm_open (lt_user_data LT__UNUSED loader_data, const char *filename, - lt_dladvise LT__UNUSED advise) +vm_open (lt_user_data loader_data LT__UNUSED, const char *filename, + lt_dladvise advise LT__UNUSED) { static shl_t self = (shl_t) 0; lt_module module = shl_load (filename, LT_BIND_FLAGS, 0L); @@ -184,7 +184,7 @@ /* A function called through the vtable when a particular module should be unloaded. */ static int -vm_close (lt_user_data LT__UNUSED loader_data, lt_module module) +vm_close (lt_user_data loader_data LT__UNUSED, lt_module module) { int errors = 0; @@ -201,7 +201,7 @@ /* A function called through the vtable to get the address of a symbol loaded from a particular module. */ static void * -vm_sym (lt_user_data LT__UNUSED loader_data, lt_module module, const char *name) +vm_sym (lt_user_data loader_data LT__UNUSED, lt_module module, const char *name) { void *address = 0; diff -Nru dico-2.9/libltdl/lt__alloc.c dico-2.10/libltdl/lt__alloc.c --- dico-2.9/libltdl/lt__alloc.c 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/lt__alloc.c 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,7 @@ /* lt__alloc.c -- internal memory management interface - Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2004, 2006-2007, 2011-2015 Free Software Foundation, + Inc. Written by Gary V. Vaughan, 2004 NOTE: The canonical source of this file is maintained with the diff -Nru dico-2.9/libltdl/lt__argz.c dico-2.10/libltdl/lt__argz.c --- dico-2.9/libltdl/lt__argz.c 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/libltdl/lt__argz.c 2019-01-25 07:21:28.000000000 +0000 @@ -0,0 +1,225 @@ +/* lt__argz.c -- argz implementation for non-glibc systems + + Copyright (C) 2004, 2006-2008, 2011-2015 Free Software Foundation, + Inc. + Written by Gary V. Vaughan, 2004 + + NOTE: The canonical source of this file is maintained with the + GNU Libtool package. Report bugs to bug-libtool@gnu.org. + +GNU Libltdl is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +As a special exception to the GNU Lesser General Public License, +if you distribute this file as part of a program or library that +is built using GNU Libtool, you may include this file under the +same distribution terms that you use for the rest of that program. + +GNU Libltdl 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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with GNU Libltdl; see the file COPYING.LIB. If not, a +copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, +or obtained by writing to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#if defined LTDL && defined LT_CONFIG_H +# include LT_CONFIG_H +#else +# include +#endif + +#include + +#include +#include +#include +#include +#include + +#define EOS_CHAR '\0' + +error_t +argz_append (char **pargz, size_t *pargz_len, const char *buf, size_t buf_len) +{ + size_t argz_len; + char *argz; + + assert (pargz); + assert (pargz_len); + assert ((*pargz && *pargz_len) || (!*pargz && !*pargz_len)); + + /* If nothing needs to be appended, no more work is required. */ + if (buf_len == 0) + return 0; + + /* Ensure there is enough room to append BUF_LEN. */ + argz_len = *pargz_len + buf_len; + argz = (char *) realloc (*pargz, argz_len); + if (!argz) + return ENOMEM; + + /* Copy characters from BUF after terminating '\0' in ARGZ. */ + memcpy (argz + *pargz_len, buf, buf_len); + + /* Assign new values. */ + *pargz = argz; + *pargz_len = argz_len; + + return 0; +} + + +error_t +argz_create_sep (const char *str, int delim, char **pargz, size_t *pargz_len) +{ + size_t argz_len; + char *argz = 0; + + assert (str); + assert (pargz); + assert (pargz_len); + + /* Make a copy of STR, but replacing each occurrence of + DELIM with '\0'. */ + argz_len = 1+ strlen (str); + if (argz_len) + { + const char *p; + char *q; + + argz = (char *) malloc (argz_len); + if (!argz) + return ENOMEM; + + for (p = str, q = argz; *p != EOS_CHAR; ++p) + { + if (*p == delim) + { + /* Ignore leading delimiters, and fold consecutive + delimiters in STR into a single '\0' in ARGZ. */ + if ((q > argz) && (q[-1] != EOS_CHAR)) + *q++ = EOS_CHAR; + else + --argz_len; + } + else + *q++ = *p; + } + /* Copy terminating EOS_CHAR. */ + *q = *p; + } + + /* If ARGZ_LEN has shrunk to nothing, release ARGZ's memory. */ + if (!argz_len) + argz = (free (argz), (char *) 0); + + /* Assign new values. */ + *pargz = argz; + *pargz_len = argz_len; + + return 0; +} + + +error_t +argz_insert (char **pargz, size_t *pargz_len, char *before, const char *entry) +{ + assert (pargz); + assert (pargz_len); + assert (entry && *entry); + + /* No BEFORE address indicates ENTRY should be inserted after the + current last element. */ + if (!before) + return argz_append (pargz, pargz_len, entry, 1+ strlen (entry)); + + /* This probably indicates a programmer error, but to preserve + semantics, scan back to the start of an entry if BEFORE points + into the middle of it. */ + while ((before > *pargz) && (before[-1] != EOS_CHAR)) + --before; + + { + size_t entry_len = 1+ strlen (entry); + size_t argz_len = *pargz_len + entry_len; + size_t offset = before - *pargz; + char *argz = (char *) realloc (*pargz, argz_len); + + if (!argz) + return ENOMEM; + + /* Make BEFORE point to the equivalent offset in ARGZ that it + used to have in *PARGZ incase realloc() moved the block. */ + before = argz + offset; + + /* Move the ARGZ entries starting at BEFORE up into the new + space at the end -- making room to copy ENTRY into the + resulting gap. */ + memmove (before + entry_len, before, *pargz_len - offset); + memcpy (before, entry, entry_len); + + /* Assign new values. */ + *pargz = argz; + *pargz_len = argz_len; + } + + return 0; +} + + +char * +argz_next (char *argz, size_t argz_len, const char *entry) +{ + assert ((argz && argz_len) || (!argz && !argz_len)); + + if (entry) + { + /* Either ARGZ/ARGZ_LEN is empty, or ENTRY points into an address + within the ARGZ vector. */ + assert ((!argz && !argz_len) + || ((argz <= entry) && (entry < (argz + argz_len)))); + + /* Move to the char immediately after the terminating + '\0' of ENTRY. */ + entry = 1+ strchr (entry, EOS_CHAR); + + /* Return either the new ENTRY, or else NULL if ARGZ is + exhausted. */ + return (entry >= argz + argz_len) ? 0 : (char *) entry; + } + else + { + /* This should probably be flagged as a programmer error, + since starting an argz_next loop with the iterator set + to ARGZ is safer. To preserve semantics, handle the NULL + case by returning the start of ARGZ (if any). */ + if (argz_len > 0) + return argz; + else + return 0; + } +} + + +void +argz_stringify (char *argz, size_t argz_len, int sep) +{ + assert ((argz && argz_len) || (!argz && !argz_len)); + + if (sep) + { + --argz_len; /* don't stringify the terminating EOS */ + while (--argz_len > 0) + { + if (argz[argz_len] == EOS_CHAR) + argz[argz_len] = sep; + } + } +} diff -Nru dico-2.9/libltdl/lt__dirent.c dico-2.10/libltdl/lt__dirent.c --- dico-2.9/libltdl/lt__dirent.c 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/lt__dirent.c 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,6 @@ /* lt__dirent.c -- internal directory entry scanning interface - Copyright (C) 2001, 2004 Free Software Foundation, Inc. + Copyright (C) 2001, 2004, 2011-2015 Free Software Foundation, Inc. Written by Bob Friesenhahn, 2001 NOTE: The canonical source of this file is maintained with the @@ -31,18 +31,17 @@ #include "lt__private.h" #include -#include #include "lt__dirent.h" -#if defined(__WINDOWS__) +#if defined __WINDOWS__ void closedir (DIR *entry) { assert (entry != (DIR *) NULL); FindClose (entry->hSearch); - free ((void *) entry); + free (entry); } @@ -104,4 +103,4 @@ return &entry->file_info; } -#endif /*defined(__WINDOWS__)*/ +#endif /*defined __WINDOWS__*/ diff -Nru dico-2.9/libltdl/ltdl.c dico-2.10/libltdl/ltdl.c --- dico-2.9/libltdl/ltdl.c 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/ltdl.c 2019-01-25 07:21:28.000000000 +0000 @@ -1,7 +1,7 @@ /* ltdl.c -- system independent dlopen wrapper - Copyright (C) 1998, 1999, 2000, 2004, 2005, 2006, - 2007, 2008, 2011 Free Software Foundation, Inc. + Copyright (C) 1998-2000, 2004-2008, 2011-2015 Free Software + Foundation, Inc. Written by Thomas Tanner, 1998 NOTE: The canonical source of this file is maintained with the @@ -46,15 +46,15 @@ #define LT_ARCHIVE_EXT ".la" /* max. filename length */ -#if !defined(LT_FILENAME_MAX) +#if !defined LT_FILENAME_MAX # define LT_FILENAME_MAX 1024 #endif -#if !defined(LT_LIBEXT) +#if !defined LT_LIBEXT # define LT_LIBEXT "a" #endif -#if !defined(LT_LIBPREFIX) +#if !defined LT_LIBPREFIX # define LT_LIBPREFIX "lib" #endif @@ -77,15 +77,15 @@ static const char archive_ext[] = LT_ARCHIVE_EXT; static const char libext[] = LT_LIBEXT; static const char libprefix[] = LT_LIBPREFIX; -#if defined(LT_MODULE_EXT) +#if defined LT_MODULE_EXT static const char shlib_ext[] = LT_MODULE_EXT; #endif /* If the loadable module suffix is not the same as the linkable * shared library suffix, this will be defined. */ -#if defined(LT_SHARED_EXT) +#if defined LT_SHARED_EXT static const char shared_ext[] = LT_SHARED_EXT; #endif -#if defined(LT_DLSEARCH_PATH) +#if defined LT_DLSEARCH_PATH static const char sys_dlsearch_path[] = LT_DLSEARCH_PATH; #endif @@ -306,7 +306,7 @@ ++errors; } /* Make sure that the handle pointed to by 'cur' still exists. - lt_dlclose recursively closes dependent libraries which removes + lt_dlclose recursively closes dependent libraries, which removes them from the linked list. One of these might be the one pointed to by 'cur'. */ if (cur) @@ -385,7 +385,7 @@ { if ((handle->info.filename == filename) /* dlopen self: 0 == 0 */ || (handle->info.filename && filename - && streq (handle->info.filename, filename))) + && STREQ (handle->info.filename, filename))) { break; } @@ -444,8 +444,15 @@ handle->module = (*loader_vtable->module_open) (loader_vtable->dlloader_data, filename, advise); #ifdef LT_DEBUG_LOADERS - fprintf (stderr, " Result: %s\n", - handle->module ? "Success" : "Failed"); + if (!handle->module) { + char *error; + LT__GETERROR(error); + fprintf (stderr, " Result: Failed\n" + " Error message << %s >>\n", + error ? error : "(null)"); + } else { + fprintf (stderr, " Result: Success\n"); + } #endif if (handle->module != 0) @@ -495,7 +502,7 @@ assert (handle); assert (dirname); assert (dlname); -#if defined(LT_DIRSEP_CHAR) +#if defined LT_DIRSEP_CHAR /* Only canonicalized names (i.e. with DIRSEP chars already converted) should make it into this function: */ assert (strchr (dirname, LT_DIRSEP_CHAR) == 0); @@ -606,7 +613,7 @@ /* Anything other than a directory separator is copied verbatim. */ if ((path[src] != '/') -#if defined(LT_DIRSEP_CHAR) +#if defined LT_DIRSEP_CHAR && (path[src] != LT_DIRSEP_CHAR) #endif ) @@ -618,7 +625,7 @@ NULL terminator. */ else if ((path[1+ src] != LT_PATHSEP_CHAR) && (path[1+ src] != LT_EOS_CHAR) -#if defined(LT_DIRSEP_CHAR) +#if defined LT_DIRSEP_CHAR && (path[1+ src] != LT_DIRSEP_CHAR) #endif && (path[1+ src] != '/')) @@ -806,15 +813,15 @@ return phandle; } -#if !defined(LTDL_DLOPEN_DEPLIBS) +#if !defined LTDL_DLOPEN_DEPLIBS static int -load_deplibs (lt_dlhandle handle, char * LT__UNUSED deplibs) +load_deplibs (lt_dlhandle handle, char * deplibs LT__UNUSED) { handle->depcount = 0; return 0; } -#else /* defined(LTDL_DLOPEN_DEPLIBS) */ +#else /* defined LTDL_DLOPEN_DEPLIBS */ static int load_deplibs (lt_dlhandle handle, char *deplibs) { @@ -969,7 +976,7 @@ return errors; } -#endif /* defined(LTDL_DLOPEN_DEPLIBS) */ +#endif /* defined LTDL_DLOPEN_DEPLIBS */ static int unload_deplibs (lt_dlhandle handle) @@ -1108,11 +1115,11 @@ { errors += trim (deplibs, &line[sizeof (STR_DL_DEPLIBS) - 1]); } - else if (streq (line, "installed=yes\n")) + else if (STREQ (line, "installed=yes\n")) { *installed = 1; } - else if (streq (line, "installed=no\n")) + else if (STREQ (line, "installed=no\n")) { *installed = 0; } @@ -1233,7 +1240,7 @@ goto cleanup; } - strncpy (dir, canonical, dirlen); + strlcpy (dir, canonical, dirlen); dir[dirlen] = LT_EOS_CHAR; ++base_name; @@ -1274,7 +1281,7 @@ name[ext - base_name] = LT_EOS_CHAR; } - /* Before trawling through the filesystem in search of a module, + /* Before trawling through the file system in search of a module, check whether we are opening a preloaded module. */ if (!dir) { @@ -1324,7 +1331,7 @@ } /* Check whether we are opening a libtool module (.la extension). */ - if (ext && streq (ext, archive_ext)) + if (ext && STREQ (ext, archive_ext)) { /* this seems to be a libtool module */ FILE * file = 0; @@ -1356,7 +1363,7 @@ file = find_file (search_path, base_name, &dir); } -#if defined(LT_MODULE_PATH_VAR) +#if defined LT_MODULE_PATH_VAR if (!file) { search_path = getenv (LT_MODULE_PATH_VAR); @@ -1364,7 +1371,7 @@ file = find_file (search_path, base_name, &dir); } #endif -#if defined(LT_DLSEARCH_PATH) +#if defined LT_DLSEARCH_PATH if (!file && *sys_dlsearch_path) { file = find_file (sys_dlsearch_path, base_name, &dir); @@ -1461,11 +1468,11 @@ &newhandle, advise) && !find_handle (getenv (LTDL_SEARCHPATH_VAR), base_name, &newhandle, advise) -#if defined(LT_MODULE_PATH_VAR) +#if defined LT_MODULE_PATH_VAR && !find_handle (getenv (LT_MODULE_PATH_VAR), base_name, &newhandle, advise) #endif -#if defined(LT_DLSEARCH_PATH) +#if defined LT_DLSEARCH_PATH && !find_handle (sys_dlsearch_path, base_name, &newhandle, advise) #endif @@ -1512,7 +1519,7 @@ } -/* If the last error message stored was `FILE_NOT_FOUND', then return +/* If the last error message stored was 'FILE_NOT_FOUND', then return non-zero. */ static int file_not_found (void) @@ -1538,12 +1545,12 @@ ext = strrchr (filename, '.'); - if (ext && ((streq (ext, archive_ext)) -#if defined(LT_MODULE_EXT) - || (streq (ext, shlib_ext)) + if (ext && ((STREQ (ext, archive_ext)) +#if defined LT_MODULE_EXT + || (STREQ (ext, shlib_ext)) #endif -#if defined(LT_SHARED_EXT) - || (streq (ext, shared_ext)) +#if defined LT_SHARED_EXT + || (STREQ (ext, shared_ext)) #endif )) { @@ -1680,7 +1687,7 @@ if (handle || ((errors > 0) && !file_not_found ())) return handle; -#if defined(LT_MODULE_EXT) +#if defined LT_MODULE_EXT /* Try appending SHLIB_EXT. */ LT__SETERRORSTR (saved_error); errors = try_dlopen (&handle, filename, shlib_ext, advise); @@ -1691,7 +1698,7 @@ return handle; #endif -#if defined(LT_SHARED_EXT) +#if defined LT_SHARED_EXT /* Try appending SHARED_EXT. */ LT__SETERRORSTR (saved_error); errors = try_dlopen (&handle, filename, shared_ext, advise); @@ -1919,14 +1926,14 @@ foreachfile_callback, fpptr, data); } -#if defined(LT_MODULE_PATH_VAR) +#if defined LT_MODULE_PATH_VAR if (!is_done) { is_done = foreach_dirinpath (getenv(LT_MODULE_PATH_VAR), 0, foreachfile_callback, fpptr, data); } #endif -#if defined(LT_DLSEARCH_PATH) +#if defined LT_DLSEARCH_PATH if (!is_done && *sys_dlsearch_path) { is_done = foreach_dirinpath (sys_dlsearch_path, 0, @@ -2281,7 +2288,7 @@ /* --- MODULE INFORMATION --- */ typedef struct { - const char *id_string; + char *id_string; lt_dlhandle_interface *iface; } lt__interface_id; @@ -2428,7 +2435,7 @@ while ((handle = lt_dlhandle_iterate (iface, handle))) { lt_dlhandle cur = handle; - if (cur && cur->info.name && streq (cur->info.name, module_name)) + if (cur && cur->info.name && STREQ (cur->info.name, module_name)) break; } diff -Nru dico-2.9/libltdl/ltdl.h dico-2.10/libltdl/ltdl.h --- dico-2.9/libltdl/ltdl.h 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/ltdl.h 2019-01-25 07:21:28.000000000 +0000 @@ -1,7 +1,7 @@ /* ltdl.h -- generic dlopen functions - Copyright (C) 1998-2000, 2004, 2005, - 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 1998-2000, 2004-2005, 2007-2008, 2011-2015 Free + Software Foundation, Inc. Written by Thomas Tanner, 1998 NOTE: The canonical source of this file is maintained with the @@ -30,7 +30,7 @@ */ /* Only include this header file once. */ -#if !defined(LTDL_H) +#if !defined LTDL_H #define LTDL_H 1 #include @@ -57,7 +57,7 @@ LT_SCOPE int lt_dladdsearchdir (const char *search_dir); LT_SCOPE int lt_dlinsertsearchdir (const char *before, const char *search_dir); -LT_SCOPE int lt_dlsetsearchpath (const char *search_path); +LT_SCOPE int lt_dlsetsearchpath (const char *search_path); LT_SCOPE const char *lt_dlgetsearchpath (void); LT_SCOPE int lt_dlforeachfile ( const char *search_path, @@ -160,4 +160,4 @@ LT_END_C_DECLS -#endif /*!defined(LTDL_H)*/ +#endif /*!defined LTDL_H*/ diff -Nru dico-2.9/libltdl/lt_dlloader.c dico-2.10/libltdl/lt_dlloader.c --- dico-2.9/libltdl/lt_dlloader.c 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/lt_dlloader.c 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,7 @@ /* lt_dlloader.c -- dynamic library loader interface - Copyright (C) 2004, 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 2004, 2007-2008, 2011-2015 Free Software Foundation, + Inc. Written by Gary V. Vaughan, 2004 NOTE: The canonical source of this file is maintained with the @@ -52,7 +53,7 @@ assert (vtable); - return streq (vtable->name, name) ? (void *) item : NULL; + return STREQ (vtable->name, name) ? (void *) item : NULL; } @@ -165,7 +166,7 @@ return 0; } - /* Fail if there are any open modules which use this loader. */ + /* Fail if there are any open modules that use this loader. */ iface = lt_dlinterface_register (id_string, NULL); while ((handle = lt_dlhandle_iterate (iface, handle))) { diff -Nru dico-2.9/libltdl/lt_error.c dico-2.10/libltdl/lt_error.c --- dico-2.9/libltdl/lt_error.c 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/lt_error.c 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,7 @@ -/* lt_error.c -- error propogation interface +/* lt_error.c -- error propagation interface - Copyright (C) 1999, 2000, 2001, 2004, 2005, 2007 Free Software Foundation, Inc. + Copyright (C) 1999-2001, 2004-2005, 2007, 2011-2015 Free Software + Foundation, Inc. Written by Thomas Tanner, 1999 NOTE: The canonical source of this file is maintained with the diff -Nru dico-2.9/libltdl/lt__strl.c dico-2.10/libltdl/lt__strl.c --- dico-2.9/libltdl/lt__strl.c 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/lt__strl.c 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,6 @@ /* lt__strl.c -- size-bounded string copying and concatenation - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. Written by Bob Friesenhahn, 2004 NOTE: The canonical source of this file is maintained with the @@ -36,9 +36,9 @@ /* lt_strlcat appends the NULL-terminated string src to the end of dst. It will append at most dstsize - strlen(dst) - 1 bytes, - NULL-terminating the result. The total length of the string which + NULL-terminating the result. The total length of the string that would have been created given sufficient buffer size (may be longer - than dstsize) is returned. This function substitutes for strlcat() + than dstsize) is returned. This function substitutes for strlcat(), which is available under NetBSD, FreeBSD and Solaris 9. Buffer overflow can be checked as follows: @@ -46,7 +46,7 @@ if (lt_strlcat(dst, src, dstsize) >= dstsize) return -1; */ -#if !defined(HAVE_STRLCAT) +#if !defined HAVE_STRLCAT size_t lt_strlcat(char *dst, const char *src, const size_t dstsize) { @@ -65,7 +65,7 @@ size - 1. */ for ( p = dst + length, q = src; - (*q != 0) && (length < dstsize - 1) ; + (*q != 0) && (length < dstsize - 1); length++, p++, q++ ) *p = *q; @@ -79,14 +79,14 @@ return length; } -#endif /* !defined(HAVE_STRLCAT) */ +#endif /* !defined HAVE_STRLCAT */ /* lt_strlcpy copies up to dstsize - 1 characters from the NULL-terminated string src to dst, NULL-terminating the result. The total length of - the string which would have been created given sufficient buffer + the string that would have been created given sufficient buffer size (may be longer than dstsize) is returned. This function - substitutes for strlcpy() which is available under OpenBSD, FreeBSD + substitutes for strlcpy(), which is available under OpenBSD, FreeBSD and Solaris 9. Buffer overflow can be checked as follows: @@ -94,7 +94,7 @@ if (lt_strlcpy(dst, src, dstsize) >= dstsize) return -1; */ -#if !defined(HAVE_STRLCPY) +#if !defined HAVE_STRLCPY size_t lt_strlcpy(char *dst, const char *src, const size_t dstsize) { @@ -109,8 +109,8 @@ /* Copy src to dst within bounds of size-1. */ - for ( p=dst, q=src, length=0 ; - (*q != 0) && (length < dstsize-1) ; + for ( p=dst, q=src, length=0; + (*q != 0) && (length < dstsize-1); length++, p++, q++ ) *p = *q; @@ -124,4 +124,4 @@ return length; } -#endif /* !defined(HAVE_STRLCPY) */ +#endif /* !defined HAVE_STRLCPY */ diff -Nru dico-2.9/libltdl/Makefile.inc dico-2.10/libltdl/Makefile.inc --- dico-2.9/libltdl/Makefile.inc 2019-04-24 06:43:34.000000000 +0000 +++ dico-2.10/libltdl/Makefile.inc 2020-09-04 04:04:45.000000000 +0000 @@ -1,6 +1,7 @@ -## Makefile.inc -- includable Makefile.am snippet +## ltdl.mk -- includable Makefile snippet ## -## Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc. +## Copyright (C) 2003-2005, 2007, 2011-2015 Free Software Foundation, +## Inc. ## Written by Gary V. Vaughan, 2003 ## ## NOTE: The canonical source of this file is maintained with the @@ -34,9 +35,10 @@ # (not as a sub-package!) using 'nostdinc': AM_CPPFLAGS += -DLT_CONFIG_H='<$(LT_CONFIG_H)>' \ -DLTDL -I. -I$(srcdir) -Ilibltdl \ - -I$(srcdir)/libltdl -I$(srcdir)/libltdl/libltdl + -I$(srcdir)/libltdl -Ilibltdl/libltdl \ + -I$(srcdir)/libltdl/libltdl AM_LDFLAGS += -no-undefined -LTDL_VERSION_INFO = -version-info 10:0:3 +LTDL_VERSION_INFO = -version-info 10:1:3 noinst_LTLIBRARIES += $(LT_DLLOADERS) @@ -60,7 +62,7 @@ libltdl/libltdl/lt__strl.h \ libltdl/libltdl/lt_dlloader.h \ libltdl/libltdl/lt_error.h \ - libltdl/libltdl/lt_system.h \ + libltdl/libltdl/lt_system.h \ libltdl/libltdl/slist.h \ libltdl/loaders/preopen.c \ libltdl/lt__alloc.c \ @@ -97,7 +99,7 @@ libltdl_dlopen_la_SOURCES = libltdl/loaders/dlopen.c libltdl_dlopen_la_LDFLAGS = -module -avoid-version -libltdl_dlopen_la_LIBADD = $(LIBADD_DLOPEN) +libltdl_dlopen_la_LIBADD = $(LIBADD_DLOPEN) libltdl_dld_link_la_SOURCES = libltdl/loaders/dld_link.c libltdl_dld_link_la_LDFLAGS = -module -avoid-version @@ -132,16 +134,16 @@ ## Gnulib Makefile.am snippets ## ## --------------------------- ## -BUILT_SOURCES += libltdl/$(ARGZ_H) -EXTRA_DIST += libltdl/argz_.h \ - libltdl/argz.c +BUILT_SOURCES += libltdl/libltdl/$(LT_ARGZ_H) +EXTRA_DIST += libltdl/libltdl/lt__argz_.h \ + libltdl/lt__argz.c # We need the following in order to create an when the system # doesn't have one that works with the given compiler. -all-local $(lib_OBJECTS): libltdl/$(ARGZ_H) -libltdl/argz.h: libltdl/argz_.h - $(mkinstalldirs) . libltdl/ - cp $(srcdir)/libltdl/argz_.h $@-t - mv $@-t $@ -MOSTLYCLEANFILES += libltdl/argz.h \ - libltdl/argz.h-t +all-local $(lib_OBJECTS): libltdl/libltdl/$(LT_ARGZ_H) +libltdl/libltdl/lt__argz.h: libltdl/libltdl/lt__argz_.h + $(AM_V_at)$(mkinstalldirs) . libltdl/libltdl + $(AM_V_GEN)cp $(srcdir)/libltdl/libltdl/lt__argz_.h $@-t + $(AM_V_at)mv $@-t $@ +MOSTLYCLEANFILES += libltdl/libltdl/lt__argz.h \ + libltdl/libltdl/lt__argz.h-t diff -Nru dico-2.9/libltdl/README dico-2.10/libltdl/README --- dico-2.9/libltdl/README 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/README 2019-01-25 07:21:28.000000000 +0000 @@ -9,7 +9,7 @@ * dyld (darwin/Mac OS X) * libtool's dlpreopen -- - Copyright (C) 1999, 2003, 2011 Free Software Foundation, Inc. + Copyright (C) 1999, 2003, 2011-2015 Free Software Foundation, Inc. Written by Thomas Tanner, 1999 This file is part of GNU Libtool. diff -Nru dico-2.9/libltdl/slist.c dico-2.10/libltdl/slist.c --- dico-2.9/libltdl/slist.c 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/libltdl/slist.c 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,7 @@ /* slist.c -- generalised singly linked lists - Copyright (C) 2000, 2004, 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 2000, 2004, 2007-2009, 2011-2015 Free Software + Foundation, Inc. Written by Gary V. Vaughan, 2000 NOTE: The canonical source of this file is maintained with the @@ -31,7 +32,6 @@ #include #include "slist.h" -#include #include static SList * slist_sort_merge (SList *left, SList *right, @@ -230,7 +230,7 @@ next = slist->next; slist->next = result; result = slist; - slist = next; + slist = next; } return result; @@ -345,7 +345,7 @@ used for the boxes. It us usually a very bad idea to mix boxed and non-boxed items in a single list. */ -/* Return a `boxed' freshly mallocated 1 element list containing +/* Return a 'boxed' freshly mallocated 1 element list containing USERDATA. */ SList * slist_box (const void *userdata) @@ -361,7 +361,7 @@ return item; } -/* Return the contents of a `boxed' ITEM, recycling the box itself. */ +/* Return the contents of a 'boxed' ITEM, recycling the box itself. */ void * slist_unbox (SList *item) { diff -Nru dico-2.9/m4/argz.m4 dico-2.10/m4/argz.m4 --- dico-2.9/m4/argz.m4 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/m4/argz.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ -# Portability macros for glibc argz. -*- Autoconf -*- -# -# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. -# Written by Gary V. Vaughan -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 5 argz.m4 - -AC_DEFUN([gl_FUNC_ARGZ], -[gl_PREREQ_ARGZ - -AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) - -AC_CHECK_TYPES([error_t], - [], - [AC_DEFINE([error_t], [int], - [Define to a type to use for `error_t' if it is not otherwise available.]) - AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h - does not typedef error_t.])], - [#if defined(HAVE_ARGZ_H) -# include -#endif]) - -ARGZ_H= -AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \ - argz_next argz_stringify], [], [ARGZ_H=argz.h; AC_LIBOBJ([argz])]) - -dnl if have system argz functions, allow forced use of -dnl libltdl-supplied implementation (and default to do so -dnl on "known bad" systems). Could use a runtime check, but -dnl (a) detecting malloc issues is notoriously unreliable -dnl (b) only known system that declares argz functions, -dnl provides them, yet they are broken, is cygwin -dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) -dnl So, it's more straightforward simply to special case -dnl this for known bad systems. -AS_IF([test -z "$ARGZ_H"], - [AC_CACHE_CHECK( - [if argz actually works], - [lt_cv_sys_argz_works], - [[case $host_os in #( - *cygwin*) - lt_cv_sys_argz_works=no - if test "$cross_compiling" != no; then - lt_cv_sys_argz_works="guessing no" - else - lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' - save_IFS=$IFS - IFS=-. - set x `uname -r | sed -e "$lt_sed_extract_leading_digits"` - IFS=$save_IFS - lt_os_major=${2-0} - lt_os_minor=${3-0} - lt_os_micro=${4-0} - if test "$lt_os_major" -gt 1 \ - || { test "$lt_os_major" -eq 1 \ - && { test "$lt_os_minor" -gt 5 \ - || { test "$lt_os_minor" -eq 5 \ - && test "$lt_os_micro" -gt 24; }; }; }; then - lt_cv_sys_argz_works=yes - fi - fi - ;; #( - *) lt_cv_sys_argz_works=yes ;; - esac]]) - AS_IF([test "$lt_cv_sys_argz_works" = yes], - [AC_DEFINE([HAVE_WORKING_ARGZ], 1, - [This value is set to 1 to indicate that the system argz facility works])], - [ARGZ_H=argz.h - AC_LIBOBJ([argz])])]) - -AC_SUBST([ARGZ_H]) -]) - -# Prerequisites of lib/argz.c. -AC_DEFUN([gl_PREREQ_ARGZ], [:]) diff -Nru dico-2.9/m4/libtool.m4 dico-2.10/m4/libtool.m4 --- dico-2.9/m4/libtool.m4 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/m4/libtool.m4 2019-01-25 07:21:28.000000000 +0000 @@ -1,8 +1,6 @@ # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives @@ -10,36 +8,30 @@ # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. # -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. # -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of +# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# along with this program. If not, see . ]) -# serial 57 LT_INIT +# serial 58 LT_INIT # LT_PREREQ(VERSION) @@ -67,7 +59,7 @@ # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT +[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl @@ -91,7 +83,7 @@ _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" +LIBTOOL_DEPS=$ltmain # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' @@ -111,26 +103,43 @@ dnl AC_DEFUN([AM_PROG_LIBTOOL], []) +# _LT_PREPARE_CC_BASENAME +# ----------------------- +m4_defun([_LT_PREPARE_CC_BASENAME], [ +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} +])# _LT_PREPARE_CC_BASENAME + + # _LT_CC_BASENAME(CC) # ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, +# but that macro is also expanded into generated libtool script, which +# arranges for $SED and $ECHO to be set by different means. m4_defun([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +[m4_require([_LT_PREPARE_CC_BASENAME])dnl +AC_REQUIRE([_LT_DECL_SED])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl +func_cc_basename $1 +cc_basename=$func_cc_basename_result ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. +# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} @@ -177,15 +186,16 @@ m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_WITH_SYSROOT])dnl +m4_require([_LT_CMD_TRUNCATE])dnl _LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options which allow our +# See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then +if test -n "\${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi ]) -if test -n "${ZSH_VERSION+set}" ; then +if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi @@ -198,7 +208,7 @@ # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then + if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi @@ -209,14 +219,14 @@ ofile=libtool can_build_shared=yes -# All known linkers require a `.a' archive for static linking (except MSVC, +# All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a -with_gnu_ld="$lt_cv_prog_gnu_ld" +with_gnu_ld=$lt_cv_prog_gnu_ld -old_CC="$CC" -old_CFLAGS="$CFLAGS" +old_CC=$CC +old_CFLAGS=$CFLAGS # Set sane defaults for various variables test -z "$CC" && CC=cc @@ -269,14 +279,14 @@ # _LT_PROG_LTMAIN # --------------- -# Note that this code is called both from `configure', and `config.status' +# Note that this code is called both from 'configure', and 'config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# `config.status' has no value for ac_aux_dir unless we are using Automake, +# 'config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain="$ac_aux_dir/ltmain.sh" +ltmain=$ac_aux_dir/ltmain.sh ])# _LT_PROG_LTMAIN @@ -286,7 +296,7 @@ # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the `libtool' +# in macros and then make a single call at the end using the 'libtool' # label. @@ -421,8 +431,8 @@ # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ -# Quote a variable value, and forward it to `config.status' so that its -# declaration there will have the same value as in `configure'. VARNAME +# Quote a variable value, and forward it to 'config.status' so that its +# declaration there will have the same value as in 'configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) @@ -446,7 +456,7 @@ # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags="_LT_TAGS"dnl +available_tags='_LT_TAGS'dnl ]) @@ -474,7 +484,7 @@ # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' +# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], @@ -500,8 +510,8 @@ # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations -# into `config.status', and then the shell code to quote escape them in -# for loops in `config.status'. Finally, any additional code accumulated +# into 'config.status', and then the shell code to quote escape them in +# for loops in 'config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], @@ -547,7 +557,7 @@ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" @@ -560,7 +570,7 @@ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" @@ -576,7 +586,7 @@ # Generate a child script FILE with all initialization necessary to # reuse the environment learned by the parent script, and make the # file executable. If COMMENT is supplied, it is inserted after the -# `#!' sequence but before initialization text begins. After this +# '#!' sequence but before initialization text begins. After this # macro, additional text can be appended to FILE to form the body of # the child script. The macro ends with non-zero status if the # file could not be fully written (such as if the disk is full). @@ -598,7 +608,7 @@ _AS_PREPARE exec AS_MESSAGE_FD>&1 _ASEOF -test $lt_write_fail = 0 && chmod +x $1[]dnl +test 0 = "$lt_write_fail" && chmod +x $1[]dnl m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT @@ -621,7 +631,7 @@ } >&AS_MESSAGE_LOG_FD lt_cl_help="\ -\`$as_me' creates a local libtool stub from the current configuration, +'$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. @@ -643,7 +653,7 @@ This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." -while test $[#] != 0 +while test 0 != $[#] do case $[1] in --version | --v* | -V ) @@ -656,10 +666,10 @@ lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] -Try \`$[0] --help' for more information.]) ;; +Try '$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] -Try \`$[0] --help' for more information.]) ;; +Try '$[0] --help' for more information.]) ;; esac shift done @@ -685,7 +695,7 @@ # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. lt_cl_success=: -test "$silent" = yes && +test yes = "$silent" && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false @@ -705,27 +715,31 @@ _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options which allow our + # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then + if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi - cfgfile="${ofile}T" + cfgfile=${ofile}T trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Generated automatically by $as_me ($PACKAGE) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. -# + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + _LT_COPYING _LT_LIBTOOL_TAGS +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS @@ -733,13 +747,24 @@ _LT_EOF + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +_LT_PREPARE_MUNGE_PATH_LIST +_LT_PREPARE_CC_BASENAME + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then +if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi @@ -756,8 +781,6 @@ sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) - _LT_PROG_REPLACE_SHELLFNS - mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" @@ -775,7 +798,6 @@ [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS @@ -974,7 +996,7 @@ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then + if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the @@ -992,7 +1014,7 @@ cat conftest.err >&AS_MESSAGE_LOG_FD # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD @@ -1010,7 +1032,7 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS="$save_LDFLAGS" + LDFLAGS=$save_LDFLAGS ]) AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], @@ -1032,7 +1054,7 @@ _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD @@ -1042,32 +1064,32 @@ ]) case $host_os in rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[[012]]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + 10.[[012]][[,.]]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then + if test yes = "$lt_cv_apple_cc_single_mod"; then _lt_dar_single_mod='$single_module' fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= @@ -1087,29 +1109,29 @@ _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + if test yes = "$lt_cv_ld_force_load"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" + _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; + ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac - if test "$_lt_dar_can_shared" = "yes"; then + if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" m4_if([$1], [CXX], -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" +[ if test yes != "$lt_cv_apple_cc_single_mod"; then + _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi ],[]) else @@ -1129,7 +1151,7 @@ # Allow to override them for all tags through lt_cv_aix_libpath. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl -if test "${lt_cv_aix_libpath+set}" = set; then +if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], @@ -1147,7 +1169,7 @@ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib fi ]) aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) @@ -1167,8 +1189,8 @@ # ----------------------- # Find how we can fake an echo command that does not interpret backslash. # In particular, with Autoconf 2.60 or later we add some code to the start -# of the generated configure script which will find a shell with a builtin -# printf (which we can use as an echo command). +# of the generated configure script that will find a shell with a builtin +# printf (that we can use as an echo command). m4_defun([_LT_PROG_ECHO_BACKSLASH], [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO @@ -1196,10 +1218,10 @@ # Invoke $ECHO with all args, space-separated. func_echo_all () { - $ECHO "$*" + $ECHO "$*" } -case "$ECHO" in +case $ECHO in printf*) AC_MSG_RESULT([printf]) ;; print*) AC_MSG_RESULT([print -r]) ;; *) AC_MSG_RESULT([cat]) ;; @@ -1225,16 +1247,17 @@ AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], -[ --with-sysroot[=DIR] Search for dependent libraries within DIR - (or the compiler's sysroot if not specified).], +[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], + [Search for dependent libraries within DIR (or the compiler's sysroot + if not specified).])], [], [with_sysroot=no]) dnl lt_sysroot will always be passed unquoted. We quote it here dnl in case the user passed a directory name. lt_sysroot= -case ${with_sysroot} in #( +case $with_sysroot in #( yes) - if test "$GCC" = yes; then + if test yes = "$GCC"; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( @@ -1244,14 +1267,14 @@ no|'') ;; #( *) - AC_MSG_RESULT([${with_sysroot}]) + AC_MSG_RESULT([$with_sysroot]) AC_MSG_ERROR([The sysroot must be an absolute path.]) ;; esac AC_MSG_RESULT([${lt_sysroot:-no}]) _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and in which our libraries should be installed.])]) +[dependent libraries, and where our libraries should be installed.])]) # _LT_ENABLE_LOCK # --------------- @@ -1259,31 +1282,33 @@ [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes +test no = "$enable_libtool_lock" || enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) - # Find out which ABI we are using. + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) - HPUX_IA64_MODE="32" + HPUX_IA64_MODE=32 ;; *ELF-64*) - HPUX_IA64_MODE="64" + HPUX_IA64_MODE=64 ;; esac fi rm -rf conftest* ;; *-*-irix6*) - # Find out which ABI we are using. + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then + if test yes = "$lt_cv_prog_gnu_ld"; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" @@ -1312,9 +1337,46 @@ rm -rf conftest* ;; -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + emul=elf + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in @@ -1324,9 +1386,19 @@ LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) - LD="${LD-ld} -m elf_i386" + case `/usr/bin/file conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac ;; - ppc64-*linux*|powerpc64-*linux*) + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) @@ -1345,7 +1417,10 @@ x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; - ppc*-*linux*|powerpc*-*linux*) + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) @@ -1363,19 +1438,20 @@ *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" + SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then + if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" + CFLAGS=$SAVE_CFLAGS fi ;; *-*solaris*) - # Find out which ABI we are using. + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in @@ -1383,7 +1459,7 @@ case $lt_cv_prog_gnu_ld in yes*) case $host in - i?86-*-solaris*) + i?86-*-solaris*|x86_64-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) @@ -1392,7 +1468,7 @@ esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" + LD=${LD-ld}_sol2 fi ;; *) @@ -1408,7 +1484,7 @@ ;; esac -need_locks="$enable_libtool_lock" +need_locks=$enable_libtool_lock ])# _LT_ENABLE_LOCK @@ -1427,11 +1503,11 @@ [echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -eq 0; then + if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -ne 0; then + if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ fi fi @@ -1439,7 +1515,7 @@ ]) ]) -if test "x$lt_cv_ar_at_file" = xno; then +if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file @@ -1470,7 +1546,7 @@ if test -n "$RANLIB"; then case $host_os in - openbsd*) + bitrig* | openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) @@ -1506,7 +1582,7 @@ [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" + lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins @@ -1533,7 +1609,7 @@ $RM conftest* ]) -if test x"[$]$2" = xyes; then +if test yes = "[$]$2"; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) @@ -1555,7 +1631,7 @@ m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no - save_LDFLAGS="$LDFLAGS" + save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then @@ -1574,10 +1650,10 @@ fi fi $RM -r conftest* - LDFLAGS="$save_LDFLAGS" + LDFLAGS=$save_LDFLAGS ]) -if test x"[$]$2" = xyes; then +if test yes = "[$]$2"; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) @@ -1598,7 +1674,7 @@ AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 - teststring="ABCD" + teststring=ABCD case $build_os in msdosdjgpp*) @@ -1638,7 +1714,7 @@ lt_cv_sys_max_cmd_len=8192; ;; - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` @@ -1688,22 +1764,23 @@ ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do + for i in 1 2 3 4 5 6 7 8; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough + test 17 != "$i" # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring @@ -1719,7 +1796,7 @@ ;; esac ]) -if test -n $lt_cv_sys_max_cmd_len ; then +if test -n "$lt_cv_sys_max_cmd_len"; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) @@ -1747,7 +1824,7 @@ # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl -if test "$cross_compiling" = yes; then : +if test yes = "$cross_compiling"; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 @@ -1794,9 +1871,9 @@ # endif #endif -/* When -fvisbility=hidden is used, assume the code has been annotated +/* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif @@ -1822,7 +1899,7 @@ return status; }] _LT_EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in @@ -1843,7 +1920,7 @@ # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then +if test yes != "$enable_dlopen"; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown @@ -1853,44 +1930,52 @@ case $host_os in beos*) - lt_cv_dlopen="load_add_on" + lt_cv_dlopen=load_add_on lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen=LoadLibrary lt_cv_dlopen_libs= ;; cygwin*) - lt_cv_dlopen="dlopen" + lt_cv_dlopen=dlopen lt_cv_dlopen_libs= ;; darwin*) - # if libdl is installed we need to link against it + # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ + lt_cv_dlopen=dyld lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + *) AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], + [lt_cv_dlopen=shl_load], [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], + [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], + [lt_cv_dlopen=dlopen], [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) + [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) ]) ]) ]) @@ -1899,21 +1984,21 @@ ;; esac - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else + if test no = "$lt_cv_dlopen"; then enable_dlopen=no + else + enable_dlopen=yes fi case $lt_cv_dlopen in dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - save_LDFLAGS="$LDFLAGS" + save_LDFLAGS=$LDFLAGS wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - save_LIBS="$LIBS" + save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], @@ -1923,7 +2008,7 @@ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) - if test "x$lt_cv_dlopen_self" = xyes; then + if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl @@ -1933,9 +2018,9 @@ ]) fi - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS ;; esac @@ -2027,8 +2112,8 @@ m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) -hard_links="nottested" -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then +hard_links=nottested +if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes @@ -2038,8 +2123,8 @@ ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + if test no = "$hard_links"; then + AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) need_locks=warn fi else @@ -2066,8 +2151,8 @@ _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", - [Define to the sub-directory in which libtool stores uninstalled libraries.]) +AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", + [Define to the sub-directory where libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR @@ -2079,15 +2164,15 @@ _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then # We can hardcode non-existent directories. - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && + if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && + test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else @@ -2101,12 +2186,12 @@ fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then +if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || + test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then # Fast installation is not supported enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi @@ -2130,7 +2215,7 @@ # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) - if test -n "$STRIP" ; then + if test -n "$STRIP"; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) @@ -2148,6 +2233,47 @@ ])# _LT_CMD_STRIPLIB +# _LT_PREPARE_MUNGE_PATH_LIST +# --------------------------- +# Make sure func_munge_path_list() is defined correctly. +m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], +[[# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} +]])# _LT_PREPARE_PATH_LIST + + # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics @@ -2158,17 +2284,18 @@ m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ -if test "$GCC" = yes; then +if test yes = "$GCC"; then case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; esac case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; + mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in @@ -2184,28 +2311,35 @@ ;; esac # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. + # and add multilib dir if necessary... lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; + lt_foo = "/" $lt_i lt_foo; } else { lt_count--; } @@ -2219,7 +2353,7 @@ # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; + $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else @@ -2228,7 +2362,7 @@ library_names_spec= libname_spec='lib$name' soname_spec= -shrext_cmds=".so" +shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= @@ -2245,14 +2379,17 @@ # flags to be left without arguments need_version=unknown +AC_ARG_VAR([LT_SYS_LIBRARY_PATH], +[User-defined run-time library search path.]) + case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' + soname_spec='$libname$release$shared_ext$major' ;; aix[[4-9]]*) @@ -2260,41 +2397,91 @@ need_lib_prefix=no need_version=no hardcode_into_libs=yes - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a[(]lib.so.V[)]' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac shlibpath_var=LIBPATH fi ;; @@ -2304,18 +2491,18 @@ powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) - library_names_spec='${libname}${shared_ext}' + library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; @@ -2323,8 +2510,8 @@ bsdi[[45]]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" @@ -2336,7 +2523,7 @@ cygwin* | mingw* | pw32* | cegcc*) version_type=windows - shrext_cmds=".dll" + shrext_cmds=.dll need_version=no need_lib_prefix=no @@ -2345,8 +2532,8 @@ # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ @@ -2362,17 +2549,17 @@ case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' @@ -2381,8 +2568,8 @@ *,cl*) # Native MSVC libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' + soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' case $build_os in mingw*) @@ -2409,7 +2596,7 @@ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) - sys_lib_search_path_spec="$LIB" + sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` @@ -2422,8 +2609,8 @@ esac # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' @@ -2436,7 +2623,7 @@ *) # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac @@ -2449,8 +2636,8 @@ version_type=darwin need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' @@ -2463,8 +2650,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; @@ -2482,12 +2669,13 @@ version_type=freebsd-$objformat case $version_type in freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac @@ -2512,26 +2700,15 @@ esac ;; -gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes + shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; @@ -2549,14 +2726,15 @@ dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' @@ -2564,8 +2742,8 @@ dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; @@ -2574,8 +2752,8 @@ dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... @@ -2588,8 +2766,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no @@ -2600,7 +2778,7 @@ case $host_os in nonstopux*) version_type=nonstopux ;; *) - if test "$lt_cv_prog_gnu_ld" = yes; then + if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix @@ -2608,8 +2786,8 @@ esac need_lib_prefix=no need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= @@ -2628,8 +2806,8 @@ esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; @@ -2638,13 +2816,33 @@ dynamic_linker=no ;; +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + ;; + # This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no @@ -2669,7 +2867,12 @@ # before this can be enabled. hardcode_into_libs=yes - # Append ld.so.conf contents to the search path + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" @@ -2689,12 +2892,12 @@ need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH @@ -2704,7 +2907,7 @@ newsos6) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; @@ -2713,58 +2916,68 @@ version_type=qnx need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; -openbsd*) +openbsd* | bitrig*) version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" + sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no else - shlibpath_overrides_runpath=yes + need_version=yes fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' - shrext_cmds=".dll" + version_type=windows + shrext_cmds=.dll + need_version=no need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) @@ -2775,8 +2988,8 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes @@ -2786,11 +2999,11 @@ sunos4*) version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then + if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes @@ -2798,8 +3011,8 @@ sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) @@ -2820,24 +3033,24 @@ ;; sysv4*MP*) - if test -d /usr/nec ;then + if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf + version_type=sco need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then + if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' @@ -2855,7 +3068,7 @@ version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes @@ -2863,8 +3076,8 @@ uts4*) version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; @@ -2873,20 +3086,30 @@ ;; esac AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no +test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then +if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) @@ -2919,39 +3142,41 @@ [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], - [Run-time system search path for libraries]) +_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], + [Detected run-time system search path for libraries]) +_LT_DECL([], [configure_time_lt_sys_library_path], [2], + [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- -# find a file program which can recognize shared library +# find a file program that can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -f "$ac_dir/$1"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : @@ -2974,11 +3199,11 @@ break fi done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else @@ -2996,7 +3221,7 @@ # _LT_PATH_MAGIC # -------------- -# find a file program which can recognize a shared library +# find a file program that can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then @@ -3023,16 +3248,16 @@ AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], + [test no = "$withval" || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld -if test "$GCC" = yes; then +if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw + # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; @@ -3046,7 +3271,7 @@ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done - test -z "$LD" && LD="$ac_prog" + test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. @@ -3057,37 +3282,37 @@ with_gnu_ld=unknown ;; esac -elif test "$with_gnu_ld" = yes; then +elif test yes = "$with_gnu_ld"; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" + lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], +[if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi]) +rm -f conftest.i conftest2.i conftest.out]) +])# _LT_PATH_DD + + +# _LT_CMD_TRUNCATE +# ---------------- +# find command to truncate a binary pipe +m4_defun([_LT_CMD_TRUNCATE], +[m4_require([_LT_PATH_DD]) +AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], +[printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) +_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], + [Command to truncate a binary pipe]) +])# _LT_CMD_TRUNCATE + + # _LT_CHECK_MAGIC_METHOD # ---------------------- # how to check for library dependencies @@ -3173,13 +3435,13 @@ # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. +# 'unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. case $host_os in aix[[4-9]]*) @@ -3206,8 +3468,7 @@ # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. - # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. - if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then + if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else @@ -3243,10 +3504,6 @@ fi ;; -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - haiku*) lt_cv_deplibs_check_method=pass_all ;; @@ -3285,7 +3542,7 @@ ;; # This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; @@ -3307,8 +3564,8 @@ lt_cv_deplibs_check_method=pass_all ;; -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' @@ -3361,6 +3618,9 @@ tpf*) lt_cv_deplibs_check_method=pass_all ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; esac ]) @@ -3401,33 +3661,38 @@ AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. - lt_cv_path_NM="$NM" + lt_cv_path_NM=$NM else - lt_nm_to_check="${ac_tool_prefix}nm" + lt_nm_to_check=${ac_tool_prefix}nm if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" - break + break 2 ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" - break + break 2 ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but @@ -3438,21 +3703,21 @@ esac fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs done : ${lt_cv_path_NM=no} fi]) -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in *COFF*) - DUMPBIN="$DUMPBIN -symbols" + DUMPBIN="$DUMPBIN -symbols -headers" ;; *) DUMPBIN=: @@ -3460,8 +3725,8 @@ esac fi AC_SUBST([DUMPBIN]) - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" + if test : != "$DUMPBIN"; then + NM=$DUMPBIN fi fi test -z "$NM" && NM=nm @@ -3507,8 +3772,8 @@ case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib @@ -3520,7 +3785,7 @@ ;; *) # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" + lt_cv_sharedlib_from_linklib_cmd=$ECHO ;; esac ]) @@ -3547,13 +3812,28 @@ lt_cv_path_mainfest_tool=yes fi rm -f conftest*]) -if test "x$lt_cv_path_mainfest_tool" != xyes; then +if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl ])# _LT_PATH_MANIFEST_TOOL +# _LT_DLL_DEF_P([FILE]) +# --------------------- +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with func_dll_def_p in the libtool script +AC_DEFUN([_LT_DLL_DEF_P], +[dnl + test DEF = "`$SED -n dnl + -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace + -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments + -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl + -e q dnl Only consider the first "real" line + $1`" dnl +])# _LT_DLL_DEF_P + + # LT_LIB_M # -------- # check for math library @@ -3565,11 +3845,11 @@ # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) - AC_CHECK_LIB(m, cos, LIBM="-lm") + AC_CHECK_LIB(m, cos, LIBM=-lm) ;; esac AC_SUBST([LIBM]) @@ -3588,7 +3868,7 @@ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= -if test "$GCC" = yes; then +if test yes = "$GCC"; then case $cc_basename in nvcc*) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; @@ -3640,7 +3920,7 @@ symcode='[[ABCDGISTW]]' ;; hpux*) - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then symcode='[[ABCDEGRST]]' fi ;; @@ -3673,14 +3953,44 @@ symcode='[[ABCDGIRSTW]]' ;; esac +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" +lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" # Handle CRLF in mingw tool chain opt_cr= @@ -3698,21 +4008,24 @@ # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" @@ -3752,11 +4065,11 @@ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT@&t@_DLSYM_CONST -#elif defined(__osf__) +#elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT@&t@_DLSYM_CONST #else @@ -3782,7 +4095,7 @@ { { "@PROGRAM@", (void *) 0 }, _LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; @@ -3802,9 +4115,9 @@ mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" + LIBS=conftstm.$ac_objext CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS @@ -3825,7 +4138,7 @@ rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then + if test yes = "$pipe_works"; then break else lt_cv_sys_global_symbol_pipe= @@ -3852,12 +4165,16 @@ [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) +_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], + [Transform the output of nm into a list of symbols to manually relocate]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) +_LT_DECL([nm_interface], [lt_cv_nm_interface], [1], + [The name lister interface]) _LT_DECL([], [nm_file_list_spec], [1], [Specify filename containing input files for $NM]) ]) # _LT_CMD_GLOBAL_SYMBOLS @@ -3873,17 +4190,18 @@ m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then + if test yes = "$GXX"; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; amigaos*) @@ -3894,8 +4212,8 @@ ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac @@ -3911,6 +4229,11 @@ # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac ;; darwin* | rhapsody*) # PIC is the default on this platform @@ -3960,7 +4283,7 @@ case $host_os in aix[[4-9]]*) # All AIX code is PIC. - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else @@ -4001,14 +4324,14 @@ case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default @@ -4037,7 +4360,7 @@ ;; esac ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # KAI C++ Compiler @@ -4045,7 +4368,7 @@ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. + # old Intel C++ for x86_64, which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' @@ -4190,17 +4513,18 @@ fi ], [ - if test "$GCC" = yes; then + if test yes = "$GCC"; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; amigaos*) @@ -4211,8 +4535,8 @@ ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac @@ -4229,6 +4553,11 @@ # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac ;; darwin* | rhapsody*) @@ -4299,7 +4628,7 @@ case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else @@ -4307,11 +4636,30 @@ fi ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac ;; hpux9* | hpux10* | hpux11*) @@ -4327,7 +4675,7 @@ ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) @@ -4336,9 +4684,9 @@ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. + # old Intel for x86_64, which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' @@ -4363,6 +4711,12 @@ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) @@ -4460,7 +4814,7 @@ ;; sysv4*MP*) - if test -d /usr/nec ;then + if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi @@ -4489,7 +4843,7 @@ fi ]) case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: + # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; @@ -4555,17 +4909,21 @@ case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global defined - # symbols, whereas GNU nm marks them as "W". + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds ;; cygwin* | mingw* | cegcc*) case $cc_basename in @@ -4611,9 +4969,9 @@ # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if @@ -4629,7 +4987,7 @@ # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. - if test "$GCC" != yes; then + if test yes != "$GCC"; then with_gnu_ld=no fi ;; @@ -4637,7 +4995,7 @@ # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; - openbsd*) + openbsd* | bitrig*) with_gnu_ld=no ;; esac @@ -4647,7 +5005,7 @@ # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then + if test yes = "$with_gnu_ld"; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility @@ -4669,24 +5027,24 @@ esac fi - if test "$lt_use_gnu_ld_interface" = yes; then + if test yes = "$lt_use_gnu_ld_interface"; then # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' + wlarc='$wl' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no - case `$LD -v 2>&1` in + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... @@ -4699,7 +5057,7 @@ case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then + if test ia64 != "$host_cpu"; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 @@ -4718,7 +5076,7 @@ case $host_cpu in powerpc) # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) @@ -4734,7 +5092,7 @@ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi @@ -4744,7 +5102,7 @@ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes @@ -4752,61 +5110,89 @@ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no - if test "$host_os" = linux-dietlibc; then + if test linux-dietlibc = "$host_os"; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no + && test no = "$tmp_diet" then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; @@ -4817,42 +5203,47 @@ lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then + if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in + tcc*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' + ;; xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then + if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac @@ -4866,8 +5257,8 @@ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' fi ;; @@ -4885,8 +5276,8 @@ _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi @@ -4898,7 +5289,7 @@ _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify @@ -4913,9 +5304,9 @@ # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi @@ -4932,15 +5323,15 @@ *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then + if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= @@ -4956,7 +5347,7 @@ # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported @@ -4964,34 +5355,57 @@ ;; aix[[4-9]]*) - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' - no_entry_flag="" + no_entry_flag= else # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then aix_use_runtimelinking=yes break fi done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi ;; esac @@ -5010,13 +5424,21 @@ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' + _LT_TAGVAR(file_list_spec, $1)='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + ;; + esac - if test "$GCC" = yes; then + if test yes = "$GCC"; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` + collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then @@ -5035,61 +5457,80 @@ ;; esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' else # not using gcc - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' else - shared_flag='${wl}-bM:SRE' + shared_flag='$wl-bM:SRE' fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' fi fi - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + if test ia64 = "$host_cpu"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' + if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' fi fi ;; @@ -5098,7 +5539,7 @@ case $host_cpu in powerpc) # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) @@ -5128,16 +5569,17 @@ # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" + shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes @@ -5146,18 +5588,18 @@ # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' ;; *) # Assume MSVC wrapper @@ -5166,7 +5608,7 @@ # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" + shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. @@ -5216,33 +5658,33 @@ ;; hpux9*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' ;; hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + if test yes,no = "$GCC,$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes @@ -5250,25 +5692,25 @@ ;; hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then + if test yes,no = "$GCC,$with_gnu_ld"; then case $host_cpu in hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) m4_if($1, [], [ @@ -5276,14 +5718,14 @@ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) _LT_LINKER_OPTION([if $CC understands -b], _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) + [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) ;; esac fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in @@ -5294,7 +5736,7 @@ *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. @@ -5305,16 +5747,16 @@ ;; irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], [lt_cv_irix_exported_symbol], - [save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + [save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" AC_LINK_IFELSE( [AC_LANG_SOURCE( [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], @@ -5327,21 +5769,31 @@ end]])])], [lt_cv_irix_exported_symbol=yes], [lt_cv_irix_exported_symbol=no]) - LDFLAGS="$save_LDFLAGS"]) - if test "$lt_cv_irix_exported_symbol" = yes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + LDFLAGS=$save_LDFLAGS]) + if test yes = "$lt_cv_irix_exported_symbol"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + _LT_TAGVAR(ld_shlibs, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out @@ -5356,7 +5808,7 @@ newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; @@ -5364,27 +5816,19 @@ *nto* | *qnx*) ;; - openbsd*) + openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' fi else _LT_TAGVAR(ld_shlibs, $1)=no @@ -5395,33 +5839,53 @@ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; osf3*) - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + if test yes = "$GCC"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + if test yes = "$GCC"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' @@ -5432,24 +5896,24 @@ solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + if test yes = "$GCC"; then + wlarc='$wl' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + wlarc='$wl' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi @@ -5459,11 +5923,11 @@ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', + # but understands '-z linker_flag'. GCC discards it without '$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + if test yes = "$GCC"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi @@ -5473,10 +5937,10 @@ ;; sunos4*) - if test "x$host_vendor" = xsequent; then + if test sequent = "$host_vendor"; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi @@ -5525,43 +5989,43 @@ ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not + # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' runpath_var='LD_RUN_PATH' - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; @@ -5576,17 +6040,17 @@ ;; esac - if test x$host_vendor = xsni; then + if test sni = "$host_vendor"; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no +test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld @@ -5603,7 +6067,7 @@ # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - if test "$enable_shared" = yes && test "$GCC" = yes; then + if test yes,yes = "$GCC,$enable_shared"; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. @@ -5683,12 +6147,12 @@ _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting ${shlibpath_var} if the + "absolute", i.e impossible to change by setting $shlibpath_var if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR @@ -5729,10 +6193,10 @@ # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. +# the compiler configuration to 'libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl -lt_save_CC="$CC" +lt_save_CC=$CC AC_LANG_PUSH(C) # Source file extension for C test sources. @@ -5772,18 +6236,18 @@ LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB - # Report which library types will actually be built + # Report what library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no + test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) - test "$enable_shared" = yes && enable_static=no + test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' @@ -5791,8 +6255,12 @@ ;; aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac fi ;; esac @@ -5800,13 +6268,13 @@ AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes + test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP -CC="$lt_save_CC" +CC=$lt_save_CC ])# _LT_LANG_C_CONFIG @@ -5814,14 +6282,14 @@ # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. +# the compiler configuration to 'libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then +if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes @@ -5863,7 +6331,7 @@ # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then +if test yes != "$_lt_caught_CXX_error"; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" @@ -5905,35 +6373,35 @@ if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately - if test "$GXX" = yes; then + if test yes = "$GXX"; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi - if test "$GXX" = yes; then + if test yes = "$GXX"; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + if test yes = "$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) - wlarc='${wl}' + wlarc='$wl' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi @@ -5969,18 +6437,30 @@ _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' - no_entry_flag="" + no_entry_flag= else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in @@ -5990,6 +6470,13 @@ ;; esac done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi ;; esac @@ -6008,13 +6495,21 @@ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' + _LT_TAGVAR(file_list_spec, $1)='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + ;; + esac - if test "$GXX" = yes; then + if test yes = "$GXX"; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` + collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then @@ -6032,64 +6527,84 @@ fi esac shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' else # not using gcc - if test "$host_cpu" = ia64; then + if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' else - shared_flag='${wl}-bM:SRE' + shared_flag='$wl-bM:SRE' fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' fi fi - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # The "-G" linker flag allows undefined symbols. + _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + if test ia64 = "$host_cpu"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' + if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' fi fi ;; @@ -6099,7 +6614,7 @@ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi @@ -6127,57 +6642,58 @@ # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" + shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi @@ -6188,6 +6704,34 @@ _LT_DARWIN_LINKER_FEATURES($1) ;; + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + dgux*) case $cc_basename in ec++*) @@ -6222,18 +6766,15 @@ _LT_TAGVAR(ld_shlibs, $1)=yes ;; - gnu*) - ;; - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default @@ -6245,7 +6786,7 @@ _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. @@ -6254,11 +6795,11 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) - if test "$GXX" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + if test yes = "$GXX"; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no @@ -6268,15 +6809,15 @@ ;; hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' ;; esac fi @@ -6302,13 +6843,13 @@ aCC*) case $host_cpu in hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists @@ -6319,20 +6860,20 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then case $host_cpu in hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi @@ -6347,22 +6888,22 @@ interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is @@ -6371,22 +6912,22 @@ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler @@ -6394,8 +6935,8 @@ # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. @@ -6404,10 +6945,10 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. @@ -6421,59 +6962,59 @@ # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ;; cxx*) # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' @@ -6487,18 +7028,18 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) @@ -6506,10 +7047,10 @@ *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on @@ -6567,22 +7108,17 @@ _LT_TAGVAR(ld_shlibs, $1)=yes ;; - openbsd2*) - # C++ shared libraries are fairly broken - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - openbsd*) + openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else @@ -6598,9 +7134,9 @@ # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using @@ -6618,17 +7154,17 @@ cxx*) case $host in osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ + $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac @@ -6643,21 +7179,21 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + if test yes,no = "$GXX,$with_gnu_ld"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' case $host in osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists @@ -6703,9 +7239,9 @@ # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no @@ -6713,7 +7249,7 @@ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. + # but understands '-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; @@ -6730,30 +7266,30 @@ ;; gcx*) # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if test yes,no = "$GXX,$with_gnu_ld"; then + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else - # g++ 2.7 appears to require `-G' NOT `-shared' on this + # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when @@ -6761,11 +7297,11 @@ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' ;; esac fi @@ -6774,52 +7310,52 @@ ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not + # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ - '"$_LT_TAGVAR(old_archive_cmds, $1)" + '"$_LT_TAGVAR(old_archive_cmds, $1)" _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ - '"$_LT_TAGVAR(reload_cmds, $1)" + '"$_LT_TAGVAR(reload_cmds, $1)" ;; *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; @@ -6850,10 +7386,10 @@ esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no - _LT_TAGVAR(GCC, $1)="$GXX" - _LT_TAGVAR(LD, $1)="$LD" + _LT_TAGVAR(GCC, $1)=$GXX + _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change @@ -6880,7 +7416,7 @@ lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes +fi # test yes != "$_lt_caught_CXX_error" AC_LANG_POP ])# _LT_LANG_CXX_CONFIG @@ -6902,13 +7438,14 @@ AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) func_stripname_cnf () { - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; + case @S|@2 in + .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; + *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; esac } # func_stripname_cnf ])# _LT_FUNC_STRIPNAME_CNF + # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose @@ -6992,13 +7529,13 @@ pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do - case ${prev}${p} in + case $prev$p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. - if test $p = "-L" || - test $p = "-R"; then + if test x-L = "$p" || + test x-R = "$p"; then prev=$p continue fi @@ -7014,16 +7551,16 @@ case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac - if test "$pre_test_object_deps_done" = no; then - case ${prev} in + if test no = "$pre_test_object_deps_done"; then + case $prev in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" + _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" fi ;; # The "-l" case would never come before the object being @@ -7031,9 +7568,9 @@ esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)="${prev}${p}" + _LT_TAGVAR(postdeps, $1)=$prev$p else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" fi fi prev= @@ -7048,15 +7585,15 @@ continue fi - if test "$pre_test_object_deps_done" = no; then + if test no = "$pre_test_object_deps_done"; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)="$p" + _LT_TAGVAR(predep_objects, $1)=$p else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)="$p" + _LT_TAGVAR(postdep_objects, $1)=$p else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi @@ -7087,51 +7624,6 @@ _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC* | sunCC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; esac ]) @@ -7140,7 +7632,7 @@ esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) @@ -7160,10 +7652,10 @@ # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. +# to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_LANG_PUSH(Fortran 77) -if test -z "$F77" || test "X$F77" = "Xno"; then +if test -z "$F77" || test no = "$F77"; then _lt_disable_F77=yes fi @@ -7200,7 +7692,7 @@ # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_F77" != yes; then +if test yes != "$_lt_disable_F77"; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t @@ -7222,7 +7714,7 @@ _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. - lt_save_CC="$CC" + lt_save_CC=$CC lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${F77-"f77"} @@ -7236,21 +7728,25 @@ AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no + test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) - test "$enable_shared" = yes && enable_static=no + test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac fi ;; esac @@ -7258,11 +7754,11 @@ AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes + test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) - _LT_TAGVAR(GCC, $1)="$G77" - _LT_TAGVAR(LD, $1)="$LD" + _LT_TAGVAR(GCC, $1)=$G77 + _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change @@ -7279,9 +7775,9 @@ fi # test -n "$compiler" GCC=$lt_save_GCC - CC="$lt_save_CC" - CFLAGS="$lt_save_CFLAGS" -fi # test "$_lt_disable_F77" != yes + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_F77" AC_LANG_POP ])# _LT_LANG_F77_CONFIG @@ -7291,11 +7787,11 @@ # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. +# to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_LANG_PUSH(Fortran) -if test -z "$FC" || test "X$FC" = "Xno"; then +if test -z "$FC" || test no = "$FC"; then _lt_disable_FC=yes fi @@ -7332,7 +7828,7 @@ # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_FC" != yes; then +if test yes != "$_lt_disable_FC"; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t @@ -7354,7 +7850,7 @@ _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. - lt_save_CC="$CC" + lt_save_CC=$CC lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${FC-"f95"} @@ -7370,21 +7866,25 @@ AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no + test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) - test "$enable_shared" = yes && enable_static=no + test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac fi ;; esac @@ -7392,11 +7892,11 @@ AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes + test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" - _LT_TAGVAR(LD, $1)="$LD" + _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu + _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change @@ -7416,7 +7916,7 @@ GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS -fi # test "$_lt_disable_FC" != yes +fi # test yes != "$_lt_disable_FC" AC_LANG_POP ])# _LT_LANG_FC_CONFIG @@ -7426,7 +7926,7 @@ # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. +# to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE @@ -7460,7 +7960,7 @@ CFLAGS=$GCJFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" +_LT_TAGVAR(LD, $1)=$LD _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. @@ -7497,7 +7997,7 @@ # -------------------------- # Ensure that the configuration variables for the GNU Go compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. +# to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_GO_CONFIG], [AC_REQUIRE([LT_PROG_GO])dnl AC_LANG_SAVE @@ -7531,7 +8031,7 @@ CFLAGS=$GOFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" +_LT_TAGVAR(LD, $1)=$LD _LT_CC_BASENAME([$compiler]) # Go did not exist at the time GCC didn't implicitly link libc in. @@ -7568,7 +8068,7 @@ # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. +# to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE @@ -7584,7 +8084,7 @@ lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" +lt_simple_link_test_code=$lt_simple_compile_test_code # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER @@ -7594,7 +8094,7 @@ _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. -lt_save_CC="$CC" +lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC= @@ -7623,7 +8123,7 @@ [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) @@ -7734,7 +8234,7 @@ # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue + test ! -f "$lt_ac_sed" && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in @@ -7751,9 +8251,9 @@ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break + test 10 -lt "$lt_ac_count" && break lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then + if test "$lt_ac_count" -gt "$lt_ac_max"; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi @@ -7777,27 +8277,7 @@ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -AC_MSG_RESULT([$xsi_shell]) -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) - -AC_MSG_CHECKING([whether the shell understands "+="]) -lt_shell_append=no -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -AC_MSG_RESULT([$lt_shell_append]) -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then +[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false @@ -7821,102 +8301,9 @@ ])# _LT_CHECK_SHELL_FEATURES -# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) -# ------------------------------------------------------ -# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and -# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. -m4_defun([_LT_PROG_FUNCTION_REPLACE], -[dnl { -sed -e '/^$1 ()$/,/^} # $1 /c\ -$1 ()\ -{\ -m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) -} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: -]) - - -# _LT_PROG_REPLACE_SHELLFNS -# ------------------------- -# Replace existing portable implementations of several shell functions with -# equivalent extended shell implementations where those features are available.. -m4_defun([_LT_PROG_REPLACE_SHELLFNS], -[if test x"$xsi_shell" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl - func_split_long_opt_name=${1%%=*} - func_split_long_opt_arg=${1#*=}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) - - _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) - - _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) - - _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) -fi - -if test x"$lt_shell_append" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) - - _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl - func_quote_for_eval "${2}" -dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ - eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) -fi -]) - # _LT_PATH_CONVERSION_FUNCTIONS # ----------------------------- -# Determine which file name conversion functions should be used by +# Determine what file name conversion functions should be used by # func_to_host_file (and, implicitly, by func_to_host_path). These are needed # for certain cross-compile configurations and native mingw. m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], diff -Nru dico-2.9/m4/ltargz.m4 dico-2.10/m4/ltargz.m4 --- dico-2.9/m4/ltargz.m4 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/m4/ltargz.m4 2019-01-25 07:21:28.000000000 +0000 @@ -0,0 +1,74 @@ +# Portability macros for glibc argz. -*- Autoconf -*- +# +# Copyright (C) 2004-2007, 2011-2015 Free Software Foundation, Inc. +# Written by Gary V. Vaughan +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 1 ltargz.m4 + +AC_DEFUN([LT_FUNC_ARGZ], [ +AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) + +AC_CHECK_TYPES([error_t], + [], + [AC_DEFINE([error_t], [int], + [Define to a type to use for 'error_t' if it is not otherwise available.]) + AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h + does not typedef error_t.])], + [#if defined(HAVE_ARGZ_H) +# include +#endif]) + +LT_ARGZ_H= +AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \ + argz_next argz_stringify], [], [LT_ARGZ_H=lt__argz.h; AC_LIBOBJ([lt__argz])]) + +dnl if have system argz functions, allow forced use of +dnl libltdl-supplied implementation (and default to do so +dnl on "known bad" systems). Could use a runtime check, but +dnl (a) detecting malloc issues is notoriously unreliable +dnl (b) only known system that declares argz functions, +dnl provides them, yet they are broken, is cygwin +dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) +dnl So, it's more straightforward simply to special case +dnl this for known bad systems. +AS_IF([test -z "$LT_ARGZ_H"], + [AC_CACHE_CHECK( + [if argz actually works], + [lt_cv_sys_argz_works], + [[case $host_os in #( + *cygwin*) + lt_cv_sys_argz_works=no + if test no != "$cross_compiling"; then + lt_cv_sys_argz_works="guessing no" + else + lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' + save_IFS=$IFS + IFS=-. + set x `uname -r | sed -e "$lt_sed_extract_leading_digits"` + IFS=$save_IFS + lt_os_major=${2-0} + lt_os_minor=${3-0} + lt_os_micro=${4-0} + if test 1 -lt "$lt_os_major" \ + || { test 1 -eq "$lt_os_major" \ + && { test 5 -lt "$lt_os_minor" \ + || { test 5 -eq "$lt_os_minor" \ + && test 24 -lt "$lt_os_micro"; }; }; }; then + lt_cv_sys_argz_works=yes + fi + fi + ;; #( + *) lt_cv_sys_argz_works=yes ;; + esac]]) + AS_IF([test yes = "$lt_cv_sys_argz_works"], + [AC_DEFINE([HAVE_WORKING_ARGZ], 1, + [This value is set to 1 to indicate that the system argz facility works])], + [LT_ARGZ_H=lt__argz.h + AC_LIBOBJ([lt__argz])])]) + +AC_SUBST([LT_ARGZ_H]) +]) diff -Nru dico-2.9/m4/ltdl.m4 dico-2.10/m4/ltdl.m4 --- dico-2.9/m4/ltdl.m4 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/m4/ltdl.m4 2019-01-25 07:21:28.000000000 +0000 @@ -1,13 +1,13 @@ # ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*- # -# Copyright (C) 1999-2006, 2007, 2008, 2011 Free Software Foundation, Inc. +# Copyright (C) 1999-2008, 2011-2015 Free Software Foundation, Inc. # Written by Thomas Tanner, 1999 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. -# serial 18 LTDL_INIT +# serial 20 LTDL_INIT # LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE]) # ------------------------------------------ @@ -24,14 +24,14 @@ [dnl remove trailing slashes m4_pushdef([_ARG_DIR], m4_bpatsubst([$1], [/*$])) m4_case(_LTDL_DIR, - [], [dnl only set lt_ltdl_dir if _ARG_DIR is not simply `.' + [], [dnl only set lt_ltdl_dir if _ARG_DIR is not simply '.' m4_if(_ARG_DIR, [.], [], [m4_define([_LTDL_DIR], _ARG_DIR) _LT_SHELL_INIT([lt_ltdl_dir=']_ARG_DIR['])])], [m4_if(_ARG_DIR, _LTDL_DIR, [], - [m4_fatal([multiple libltdl directories: `]_LTDL_DIR[', `]_ARG_DIR['])])]) + [m4_fatal([multiple libltdl directories: ']_LTDL_DIR[', ']_ARG_DIR['])])]) m4_popdef([_ARG_DIR]) ])# _LT_CONFIG_LTDL_DIR @@ -41,16 +41,16 @@ # _LT_BUILD_PREFIX # ---------------- -# If Autoconf is new enough, expand to `${top_build_prefix}', otherwise -# to `${top_builddir}/'. +# If Autoconf is new enough, expand to '$(top_build_prefix)', otherwise +# to '$(top_builddir)/'. m4_define([_LT_BUILD_PREFIX], [m4_ifdef([AC_AUTOCONF_VERSION], [m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]), [2.62]), [-1], [m4_ifdef([_AC_HAVE_TOP_BUILD_PREFIX], - [${top_build_prefix}], - [${top_builddir}/])], - [${top_build_prefix}])], - [${top_builddir}/])[]dnl + [$(top_build_prefix)], + [$(top_builddir)/])], + [$(top_build_prefix)])], + [$(top_builddir)/])[]dnl ]) @@ -60,8 +60,8 @@ # LTDLINCL to the include flags for the libltdl header and adds # --enable-ltdl-convenience to the configure arguments. Note that # AC_CONFIG_SUBDIRS is not called here. LIBLTDL will be prefixed with -# '${top_build_prefix}' if available, otherwise with '${top_builddir}/', -# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single +# '$(top_build_prefix)' if available, otherwise with '$(top_builddir)/', +# and LTDLINCL will be prefixed with '$(top_srcdir)/' (note the single # quotes!). If your package is not flat and you're not using automake, # define top_build_prefix, top_builddir, and top_srcdir appropriately # in your Makefiles. @@ -97,14 +97,14 @@ esac LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la" LTDLDEPS=$LIBLTDL -LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}" +LTDLINCL='-I$(top_srcdir)'"${lt_ltdl_dir+/$lt_ltdl_dir}" AC_SUBST([LIBLTDL]) AC_SUBST([LTDLDEPS]) AC_SUBST([LTDLINCL]) # For backwards non-gettext consistent compatibility... -INCLTDL="$LTDLINCL" +INCLTDL=$LTDLINCL AC_SUBST([INCLTDL]) ])# _LTDL_CONVENIENCE @@ -115,9 +115,9 @@ # and LTDLINCL to the include flags for the libltdl header and adds # --enable-ltdl-install to the configure arguments. Note that # AC_CONFIG_SUBDIRS is not called from here. If an installed libltdl -# is not found, LIBLTDL will be prefixed with '${top_build_prefix}' if -# available, otherwise with '${top_builddir}/', and LTDLINCL will be -# prefixed with '${top_srcdir}/' (note the single quotes!). If your +# is not found, LIBLTDL will be prefixed with '$(top_build_prefix)' if +# available, otherwise with '$(top_builddir)/', and LTDLINCL will be +# prefixed with '$(top_srcdir)/' (note the single quotes!). If your # package is not flat and you're not using automake, define top_build_prefix, # top_builddir, and top_srcdir appropriately in your Makefiles. # In the future, this macro may have to be called after LT_INIT. @@ -146,18 +146,18 @@ # ----------------- # Code shared by LTDL_INSTALLABLE and LTDL_INIT([installable]). m4_defun([_LTDL_INSTALLABLE], -[if test -f $prefix/lib/libltdl.la; then - lt_save_LDFLAGS="$LDFLAGS" +[if test -f "$prefix/lib/libltdl.la"; then + lt_save_LDFLAGS=$LDFLAGS LDFLAGS="-L$prefix/lib $LDFLAGS" AC_CHECK_LIB([ltdl], [lt_dlinit], [lt_lib_ltdl=yes]) - LDFLAGS="$lt_save_LDFLAGS" - if test x"${lt_lib_ltdl-no}" = xyes; then - if test x"$enable_ltdl_install" != xyes; then + LDFLAGS=$lt_save_LDFLAGS + if test yes = "${lt_lib_ltdl-no}"; then + if test yes != "$enable_ltdl_install"; then # Don't overwrite $prefix/lib/libltdl.la without --enable-ltdl-install - AC_MSG_WARN([not overwriting libltdl at $prefix, force with `--enable-ltdl-install']) + AC_MSG_WARN([not overwriting libltdl at $prefix, force with '--enable-ltdl-install']) enable_ltdl_install=no fi - elif test x"$enable_ltdl_install" = xno; then + elif test no = "$enable_ltdl_install"; then AC_MSG_WARN([libltdl not installed, but installation disabled]) fi fi @@ -166,7 +166,7 @@ # with --disable-ltdl-install, we will install the shipped libltdl. case $enable_ltdl_install in no) ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" + LIBLTDL=-lltdl LTDLDEPS= LTDLINCL= ;; @@ -174,7 +174,7 @@ ac_configure_args="$ac_configure_args --enable-ltdl-install" LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdl.la" LTDLDEPS=$LIBLTDL - LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}" + LTDLINCL='-I$(top_srcdir)'"${lt_ltdl_dir+/$lt_ltdl_dir}" ;; esac @@ -183,7 +183,7 @@ AC_SUBST([LTDLINCL]) # For backwards non-gettext consistent compatibility... -INCLTDL="$LTDLINCL" +INCLTDL=$LTDLINCL AC_SUBST([INCLTDL]) ])# LTDL_INSTALLABLE @@ -191,14 +191,14 @@ # _LTDL_MODE_DISPATCH # ------------------- m4_define([_LTDL_MODE_DISPATCH], -[dnl If _LTDL_DIR is `.', then we are configuring libltdl itself: +[dnl If _LTDL_DIR is '.', then we are configuring libltdl itself: m4_if(_LTDL_DIR, [], [], - dnl if _LTDL_MODE was not set already, the default value is `subproject': + dnl if _LTDL_MODE was not set already, the default value is 'subproject': [m4_case(m4_default(_LTDL_MODE, [subproject]), [subproject], [AC_CONFIG_SUBDIRS(_LTDL_DIR) - _LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"])], - [nonrecursive], [_LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"; lt_libobj_prefix="$lt_ltdl_dir/"])], + _LT_SHELL_INIT([lt_dlopen_dir=$lt_ltdl_dir])], + [nonrecursive], [_LT_SHELL_INIT([lt_dlopen_dir=$lt_ltdl_dir; lt_libobj_prefix=$lt_ltdl_dir/])], [recursive], [], [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])dnl dnl Be careful not to expand twice: @@ -243,7 +243,7 @@ [AS_HELP_STRING([--with-included-ltdl], [use the GNU ltdl sources included here])]) -if test "x$with_included_ltdl" != xyes; then +if test yes != "$with_included_ltdl"; then # We are not being forced to use the included libltdl sources, so # decide whether there is a useful installed version we can use. AC_CHECK_HEADER([ltdl.h], @@ -271,7 +271,7 @@ if test -n "$with_ltdl_include"; then if test -f "$with_ltdl_include/ltdl.h"; then : else - AC_MSG_ERROR([invalid ltdl include directory: `$with_ltdl_include']) + AC_MSG_ERROR([invalid ltdl include directory: '$with_ltdl_include']) fi else with_ltdl_include=no @@ -284,7 +284,7 @@ if test -n "$with_ltdl_lib"; then if test -f "$with_ltdl_lib/libltdl.la"; then : else - AC_MSG_ERROR([invalid ltdl library directory: `$with_ltdl_lib']) + AC_MSG_ERROR([invalid ltdl library directory: '$with_ltdl_lib']) fi else with_ltdl_lib=no @@ -307,15 +307,15 @@ LTDLINCL= ;; ,no*,no,*) - AC_MSG_ERROR([`--with-ltdl-include' and `--with-ltdl-lib' options must be used together]) + AC_MSG_ERROR(['--with-ltdl-include' and '--with-ltdl-lib' options must be used together]) ;; *) with_included_ltdl=no LIBLTDL="-L$with_ltdl_lib -lltdl" LTDLDEPS= - LTDLINCL="-I$with_ltdl_include" + LTDLINCL=-I$with_ltdl_include ;; esac -INCLTDL="$LTDLINCL" +INCLTDL=$LTDLINCL # Report our decision... AC_MSG_CHECKING([where to find libltdl headers]) @@ -373,7 +373,7 @@ AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl -AC_REQUIRE([gl_FUNC_ARGZ])dnl +AC_REQUIRE([LT_FUNC_ARGZ])dnl m4_require([_LT_CHECK_OBJDIR])dnl m4_require([_LT_HEADER_DLFCN])dnl @@ -397,7 +397,7 @@ m4_ifset([AH_HEADER], [LT_CONFIG_H=AH_HEADER], [m4_ifset([AC_LIST_HEADERS], - [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's,^[[ ]]*,,;s,[[ :]].*$,,'`], + [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's|^[[ ]]*||;s|[[ :]].*$||'`], [])])]) AC_SUBST([LT_CONFIG_H]) @@ -427,14 +427,14 @@ [AC_ARG_ENABLE([ltdl-install], [AS_HELP_STRING([--enable-ltdl-install], [install libltdl])]) -case ,${enable_ltdl_install},${enable_ltdl_convenience} in +case ,$enable_ltdl_install,$enable_ltdl_convenience in *yes*) ;; *) enable_ltdl_convenience=yes ;; esac m4_ifdef([AM_CONDITIONAL], -[AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno) - AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)]) +[AM_CONDITIONAL(INSTALL_LTDL, test no != "${enable_ltdl_install-no}") + AM_CONDITIONAL(CONVENIENCE_LTDL, test no != "${enable_ltdl_convenience-no}")]) ])# _LT_ENABLE_INSTALL @@ -452,7 +452,7 @@ case $host_os in aix3*|aix4.1.*|aix4.2.*) # Unknown whether this is true for these versions of AIX, but - # we want this `case' here to explicitly catch those versions. + # we want this 'case' here to explicitly catch those versions. lt_cv_sys_dlopen_deplibs=unknown ;; aix[[4-9]]*) @@ -465,6 +465,9 @@ ;; esac ;; + bitrig*) + lt_cv_sys_dlopen_deplibs=yes + ;; darwin*) # Assuming the user has installed a libdl from somewhere, this is true # If you are looking for one http://www.opendarwin.org/projects/dlcompat @@ -502,7 +505,7 @@ osf[[1234]]*) # dlopen did load deplibs (at least at 4.x), but until the 5.x series, # it did *not* use an RPATH in a shared library to find objects the - # library depends on, so we explicitly say `no'. + # library depends on, so we explicitly say 'no'. lt_cv_sys_dlopen_deplibs=no ;; osf5.0|osf5.0a|osf5.1) @@ -511,14 +514,14 @@ # that the library depends on, but there's no easy way to know if that # patch is installed. Since this is the case, all we can really # say is unknown -- it depends on the patch being installed. If - # it is, this changes to `yes'. Without it, it would be `no'. + # it is, this changes to 'yes'. Without it, it would be 'no'. lt_cv_sys_dlopen_deplibs=unknown ;; osf*) # the two cases above should catch all versions of osf <= 5.1. Read # the comments above for what we know about them. # At > 5.1, deplibs are loaded *and* any RPATH in a shared library - # is used to find them so we can finally say `yes'. + # is used to find them so we can finally say 'yes'. lt_cv_sys_dlopen_deplibs=yes ;; qnx*) @@ -532,7 +535,7 @@ ;; esac ]) -if test "$lt_cv_sys_dlopen_deplibs" != yes; then +if test yes != "$lt_cv_sys_dlopen_deplibs"; then AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], [Define if the OS needs help to load dependent libraries for dlopen().]) fi @@ -548,7 +551,7 @@ # ----------------- AC_DEFUN([LT_SYS_MODULE_EXT], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([which extension is used for runtime loadable modules], +AC_CACHE_CHECK([what extension is used for runtime loadable modules], [libltdl_cv_shlibext], [ module=yes @@ -566,6 +569,11 @@ AC_DEFINE_UNQUOTED([LT_SHARED_EXT], ["$libltdl_cv_shrext"], [Define to the shared library suffix, say, ".dylib".]) fi +if test -n "$shared_archive_member_spec"; then + m4_pattern_allow([LT_SHARED_LIB_MEMBER])dnl + AC_DEFINE_UNQUOTED([LT_SHARED_LIB_MEMBER], ["($shared_archive_member_spec.o)"], + [Define to the shared archive member specification, say "(shr.o)".]) +fi ])# LT_SYS_MODULE_EXT # Old name: @@ -578,8 +586,8 @@ # ------------------ AC_DEFUN([LT_SYS_MODULE_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([which variable specifies run-time module search path], - [lt_cv_module_path_var], [lt_cv_module_path_var="$shlibpath_var"]) +AC_CACHE_CHECK([what variable specifies run-time module search path], + [lt_cv_module_path_var], [lt_cv_module_path_var=$shlibpath_var]) if test -n "$lt_cv_module_path_var"; then m4_pattern_allow([LT_MODULE_PATH_VAR])dnl AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"], @@ -599,14 +607,14 @@ [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl AC_CACHE_CHECK([for the default library search path], [lt_cv_sys_dlsearch_path], - [lt_cv_sys_dlsearch_path="$sys_lib_dlsearch_path_spec"]) + [lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec]) if test -n "$lt_cv_sys_dlsearch_path"; then sys_dlsearch_path= for dir in $lt_cv_sys_dlsearch_path; do if test -z "$sys_dlsearch_path"; then - sys_dlsearch_path="$dir" + sys_dlsearch_path=$dir else - sys_dlsearch_path="$sys_dlsearch_path$PATH_SEPARATOR$dir" + sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir fi done m4_pattern_allow([LT_DLSEARCH_PATH])dnl @@ -633,7 +641,7 @@ libltdl_cv_preloaded_symbols=no fi ]) -if test x"$libltdl_cv_preloaded_symbols" = xyes; then +if test yes = "$libltdl_cv_preloaded_symbols"; then AC_DEFINE([HAVE_PRELOADED_SYMBOLS], [1], [Define if libtool can extract symbol lists from object files.]) fi @@ -648,15 +656,16 @@ AC_SUBST([LT_DLLOADERS]) AC_LANG_PUSH([C]) +lt_dlload_save_LIBS=$LIBS LIBADD_DLOPEN= AC_SEARCH_LIBS([dlopen], [dl], [AC_DEFINE([HAVE_LIBDL], [1], [Define if you have the libdl library or equivalent.]) - if test "$ac_cv_search_dlopen" != "none required" ; then - LIBADD_DLOPEN="-ldl" + if test "$ac_cv_search_dlopen" != "none required"; then + LIBADD_DLOPEN=-ldl fi - libltdl_cv_lib_dl_dlopen="yes" + libltdl_cv_lib_dl_dlopen=yes LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H # include @@ -664,19 +673,19 @@ ]], [[dlopen(0, 0);]])], [AC_DEFINE([HAVE_LIBDL], [1], [Define if you have the libdl library or equivalent.]) - libltdl_cv_func_dlopen="yes" + libltdl_cv_func_dlopen=yes LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], [AC_CHECK_LIB([svld], [dlopen], [AC_DEFINE([HAVE_LIBDL], [1], [Define if you have the libdl library or equivalent.]) - LIBADD_DLOPEN="-lsvld" libltdl_cv_func_dlopen="yes" + LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])]) -if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes +if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" then - lt_save_LIBS="$LIBS" + lt_save_LIBS=$LIBS LIBS="$LIBS $LIBADD_DLOPEN" AC_CHECK_FUNCS([dlerror]) - LIBS="$lt_save_LIBS" + LIBS=$lt_save_LIBS fi AC_SUBST([LIBADD_DLOPEN]) @@ -689,7 +698,7 @@ [AC_DEFINE([HAVE_SHL_LOAD], [1], [Define if you have the shl_load function.]) LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" - LIBADD_SHL_LOAD="-ldld"])]) + LIBADD_SHL_LOAD=-ldld])]) AC_SUBST([LIBADD_SHL_LOAD]) case $host_os in @@ -703,7 +712,7 @@ beos*) LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" ;; -cygwin* | mingw* | os2* | pw32*) +cygwin* | mingw* | pw32*) AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include ]]) LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" ;; @@ -731,6 +740,7 @@ LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" AC_SUBST([LIBADD_DL]) +LIBS=$lt_dlload_save_LIBS AC_LANG_POP ])# LT_LIB_DLLOAD @@ -788,24 +798,106 @@ # LT_FUNC_DLSYM_USCORE # -------------------- AC_DEFUN([LT_FUNC_DLSYM_USCORE], -[AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl -if test x"$lt_cv_sys_symbol_underscore" = xyes; then - if test x"$libltdl_cv_func_dlopen" = xyes || - test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then - AC_CACHE_CHECK([whether we have to add an underscore for dlsym], - [libltdl_cv_need_uscore], - [libltdl_cv_need_uscore=unknown - save_LIBS="$LIBS" - LIBS="$LIBS $LIBADD_DLOPEN" - _LT_TRY_DLOPEN_SELF( - [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes], - [], [libltdl_cv_need_uscore=cross]) - LIBS="$save_LIBS" - ]) +[AC_REQUIRE([_LT_COMPILER_PIC])dnl for lt_prog_compiler_wl +AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl for lt_cv_sys_symbol_underscore +AC_REQUIRE([LT_SYS_MODULE_EXT])dnl for libltdl_cv_shlibext +if test yes = "$lt_cv_sys_symbol_underscore"; then + if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then + AC_CACHE_CHECK([whether we have to add an underscore for dlsym], + [libltdl_cv_need_uscore], + [libltdl_cv_need_uscore=unknown + dlsym_uscore_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + libname=conftmod # stay within 8.3 filename limits! + cat >$libname.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif +int fnord () { return 42; }] +_LT_EOF + + # ltfn_module_cmds module_cmds + # Execute tilde-delimited MODULE_CMDS with environment primed for + # $module_cmds or $archive_cmds type content. + ltfn_module_cmds () + {( # subshell avoids polluting parent global environment + module_cmds_save_ifs=$IFS; IFS='~' + for cmd in @S|@1; do + IFS=$module_cmds_save_ifs + libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext + rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. + major=; versuffix=; verstring=; deplibs= + ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= + eval $cmd + done + IFS=$module_cmds_save_ifs + )} + + # Compile a loadable module using libtool macro expansion results. + $CC $pic_flag -c $libname.$ac_ext + ltfn_module_cmds "${module_cmds:-$archive_cmds}" + + # Try to fetch fnord with dlsym(). + libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 + cat >conftest.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" +#if HAVE_DLFCN_H +#include +#endif +#include +#ifndef RTLD_GLOBAL +# ifdef DL_GLOBAL +# define RTLD_GLOBAL DL_GLOBAL +# else +# define RTLD_GLOBAL 0 +# endif +#endif +#ifndef RTLD_NOW +# ifdef DL_NOW +# define RTLD_NOW DL_NOW +# else +# define RTLD_NOW 0 +# endif +#endif +int main () { + void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); + int status = $libltdl_dlunknown; + if (handle) { + if (dlsym (handle, "fnord")) + status = $libltdl_dlnouscore; + else { + if (dlsym (handle, "_fnord")) + status = $libltdl_dluscore; + else + puts (dlerror ()); + } + dlclose (handle); + } else + puts (dlerror ()); + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + libltdl_status=$? + case x$libltdl_status in + x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; + x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; + x*) libltdl_cv_need_uscore=unknown ;; + esac + fi + rm -rf conftest* $libname* + LIBS=$dlsym_uscore_save_LIBS + ]) fi fi -if test x"$libltdl_cv_need_uscore" = xyes; then +if test yes = "$libltdl_cv_need_uscore"; then AC_DEFINE([NEED_USCORE], [1], [Define if dlsym() requires a leading underscore in symbol names.]) fi diff -Nru dico-2.9/m4/lt~obsolete.m4 dico-2.10/m4/lt~obsolete.m4 --- dico-2.9/m4/lt~obsolete.m4 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/m4/lt~obsolete.m4 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,7 @@ # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # -# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. +# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software +# Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives @@ -11,7 +12,7 @@ # These exist entirely to fool aclocal when bootstrapping libtool. # -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # @@ -25,7 +26,7 @@ # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until diff -Nru dico-2.9/m4/ltoptions.m4 dico-2.10/m4/ltoptions.m4 --- dico-2.9/m4/ltoptions.m4 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/m4/ltoptions.m4 2019-01-25 07:21:28.000000000 +0000 @@ -1,14 +1,14 @@ # Helper functions for option handling. -*- Autoconf -*- # -# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software +# Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. -# serial 7 ltoptions.m4 +# serial 8 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) @@ -29,7 +29,7 @@ [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option `$2'])])[]dnl + [m4_warning([Unknown $1 option '$2'])])[]dnl ]) @@ -75,13 +75,15 @@ dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither - dnl `shared' nor `disable-shared' was passed, we enable building of shared + dnl 'shared' nor 'disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) + [_LT_ENABLE_FAST_INSTALL]) + _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], + [_LT_WITH_AIX_SONAME([aix])]) ]) ])# _LT_SET_OPTIONS @@ -112,7 +114,7 @@ [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `dlopen' option into LT_INIT's first parameter.]) +put the 'dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: @@ -148,7 +150,7 @@ _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `win32-dll' option into LT_INIT's first parameter.]) +put the 'win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: @@ -157,9 +159,9 @@ # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- -# implement the --enable-shared flag, and supports the `shared' and -# `disable-shared' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +# implement the --enable-shared flag, and supports the 'shared' and +# 'disable-shared' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], @@ -172,14 +174,14 @@ *) enable_shared=no # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_shared=yes fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) @@ -211,9 +213,9 @@ # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- -# implement the --enable-static flag, and support the `static' and -# `disable-static' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +# implement the --enable-static flag, and support the 'static' and +# 'disable-static' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], @@ -226,14 +228,14 @@ *) enable_static=no # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_static=yes fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) @@ -265,9 +267,9 @@ # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- -# implement the --enable-fast-install flag, and support the `fast-install' -# and `disable-fast-install' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +# implement the --enable-fast-install flag, and support the 'fast-install' +# and 'disable-fast-install' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], @@ -280,14 +282,14 @@ *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) @@ -304,14 +306,14 @@ [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `fast-install' option into LT_INIT's first parameter.]) +the 'fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `disable-fast-install' option into LT_INIT's first parameter.]) +the 'disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: @@ -319,11 +321,64 @@ dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) +# _LT_WITH_AIX_SONAME([DEFAULT]) +# ---------------------------------- +# implement the --with-aix-soname flag, and support the `aix-soname=aix' +# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT +# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. +m4_define([_LT_WITH_AIX_SONAME], +[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl +shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[[5-9]]*,yes) + AC_MSG_CHECKING([which variant of shared library versioning to provide]) + AC_ARG_WITH([aix-soname], + [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], + [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], + [case $withval in + aix|svr4|both) + ;; + *) + AC_MSG_ERROR([Unknown argument to --with-aix-soname]) + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname], + [AC_CACHE_VAL([lt_cv_with_aix_soname], + [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) + with_aix_soname=$lt_cv_with_aix_soname]) + AC_MSG_RESULT([$with_aix_soname]) + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + +_LT_DECL([], [shared_archive_member_spec], [0], + [Shared archive member basename, for filename based shared library versioning on AIX])dnl +])# _LT_WITH_AIX_SONAME + +LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) + + # _LT_WITH_PIC([MODE]) # -------------------- -# implement the --with-pic flag, and support the `pic-only' and `no-pic' +# implement the --with-pic flag, and support the 'pic-only' and 'no-pic' # LT_INIT options. -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], @@ -334,19 +389,17 @@ *) pic_mode=default # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for lt_pkg in $withval; do - IFS="$lt_save_ifs" + IFS=$lt_save_ifs if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done - IFS="$lt_save_ifs" + IFS=$lt_save_ifs ;; esac], - [pic_mode=default]) - -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) + [pic_mode=m4_default([$1], [default])]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC @@ -359,7 +412,7 @@ [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `pic-only' option into LT_INIT's first parameter.]) +put the 'pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: diff -Nru dico-2.9/m4/ltsugar.m4 dico-2.10/m4/ltsugar.m4 --- dico-2.9/m4/ltsugar.m4 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/m4/ltsugar.m4 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,7 @@ # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software +# Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives @@ -33,7 +34,7 @@ # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support -# Autoconf-2.59 which quotes differently. +# Autoconf-2.59, which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], @@ -44,7 +45,7 @@ # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. +# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different diff -Nru dico-2.9/m4/ltversion.m4 dico-2.10/m4/ltversion.m4 --- dico-2.9/m4/ltversion.m4 2013-10-20 20:49:54.000000000 +0000 +++ dico-2.10/m4/ltversion.m4 2019-01-25 07:21:28.000000000 +0000 @@ -1,6 +1,6 @@ # ltversion.m4 -- version numbers -*- Autoconf -*- # -# Copyright (C) 2004 Free Software Foundation, Inc. +# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives @@ -9,15 +9,15 @@ # @configure_input@ -# serial 3337 ltversion.m4 +# serial 4179 ltversion.m4 # This file is part of GNU Libtool -m4_define([LT_PACKAGE_VERSION], [2.4.2]) -m4_define([LT_PACKAGE_REVISION], [1.3337]) +m4_define([LT_PACKAGE_VERSION], [2.4.6]) +m4_define([LT_PACKAGE_REVISION], [2.4.6]) AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.2' -macro_revision='1.3337' +[macro_version='2.4.6' +macro_revision='2.4.6' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) diff -Nru dico-2.9/Makefile.am dico-2.10/Makefile.am --- dico-2.9/Makefile.am 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/Makefile.am 2020-09-04 03:59:17.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/Makefile.in dico-2.10/Makefile.in --- dico-2.9/Makefile.in 2019-04-24 06:43:55.000000000 +0000 +++ dico-2.10/Makefile.in 2020-09-04 04:04:54.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -118,8 +118,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -151,15 +151,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -415,10 +415,10 @@ $(top_srcdir)/include/lib/config.h.in \ $(top_srcdir)/include/prog/config.h.in ABOUT-NLS AUTHORS \ COPYING ChangeLog INSTALL NEWS README THANKS TODO \ - build-aux/compile build-aux/config.guess \ - build-aux/config.rpath build-aux/config.sub build-aux/depcomp \ - build-aux/install-sh build-aux/ltmain.sh build-aux/mdate-sh \ - build-aux/missing build-aux/texinfo.tex build-aux/ylwrap + build-aux/config.guess build-aux/config.rpath \ + build-aux/config.sub build-aux/depcomp build-aux/install-sh \ + build-aux/ltmain.sh build-aux/mdate-sh build-aux/missing \ + build-aux/texinfo.tex build-aux/ylwrap DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -469,7 +469,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -804,6 +803,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -1117,9 +1117,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -1467,14 +1469,14 @@ EXTRA_DIST = ChangeLog.2008 configure.boot bootstrap DISTFILES \ libltdl/lt__dirent.c libltdl/lt__strl.c libltdl/COPYING.LIB \ - libltdl/README libltdl/argz_.h libltdl/argz.c -BUILT_SOURCES = libltdl/$(ARGZ_H) + libltdl/README libltdl/libltdl/lt__argz_.h libltdl/lt__argz.c +BUILT_SOURCES = libltdl/libltdl/$(LT_ARGZ_H) # -I$(srcdir) is needed for user that built libltdl with a sub-Automake # (not as a sub-package!) using 'nostdinc': AM_CPPFLAGS = @DICO_LIB_CONFIG@ -DLT_CONFIG_H='<$(LT_CONFIG_H)>' \ -DLTDL -I. -I$(srcdir) -Ilibltdl -I$(srcdir)/libltdl \ - -I$(srcdir)/libltdl/libltdl + -Ilibltdl/libltdl -I$(srcdir)/libltdl/libltdl #LT_CONFIG_H = config.h AM_LDFLAGS = -no-undefined include_HEADERS = $(am__append_1) @@ -1485,8 +1487,9 @@ libltdl/shl_load.la CLEANFILES = libltdl/libltdl.la libltdl/libltdlc.la \ libltdl/libdlloader.la $(ltdl_LIBOBJS) $(ltdl_LTLIBOBJS) -MOSTLYCLEANFILES = libltdl/argz.h libltdl/argz.h-t -LTDL_VERSION_INFO = -version-info 10:0:3 +MOSTLYCLEANFILES = libltdl/libltdl/lt__argz.h \ + libltdl/libltdl/lt__argz.h-t +LTDL_VERSION_INFO = -version-info 10:1:3 @INSTALL_LTDL_TRUE@ltdlincludedir = $(includedir)/libltdl @INSTALL_LTDL_TRUE@ltdlinclude_HEADERS = libltdl/libltdl/lt_system.h \ @INSTALL_LTDL_TRUE@ libltdl/libltdl/lt_error.h \ @@ -1499,7 +1502,7 @@ libltdl/libltdl/lt__strl.h \ libltdl/libltdl/lt_dlloader.h \ libltdl/libltdl/lt_error.h \ - libltdl/libltdl/lt_system.h \ + libltdl/libltdl/lt_system.h \ libltdl/libltdl/slist.h \ libltdl/loaders/preopen.c \ libltdl/lt__alloc.c \ @@ -2368,11 +2371,11 @@ # We need the following in order to create an when the system # doesn't have one that works with the given compiler. -all-local $(lib_OBJECTS): libltdl/$(ARGZ_H) -libltdl/argz.h: libltdl/argz_.h - $(mkinstalldirs) . libltdl/ - cp $(srcdir)/libltdl/argz_.h $@-t - mv $@-t $@ +all-local $(lib_OBJECTS): libltdl/libltdl/$(LT_ARGZ_H) +libltdl/libltdl/lt__argz.h: libltdl/libltdl/lt__argz_.h + $(AM_V_at)$(mkinstalldirs) . libltdl/libltdl + $(AM_V_GEN)cp $(srcdir)/libltdl/libltdl/lt__argz_.h $@-t + $(AM_V_at)mv $@-t $@ .PHONY: ChangeLog ChangeLog: diff -Nru dico-2.9/modules/dict.org/dictorg.c dico-2.10/modules/dict.org/dictorg.c --- dico-2.9/modules/dict.org/dictorg.c 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/dictorg.c 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/dictorg.h dico-2.10/modules/dict.org/dictorg.h --- dico-2.9/modules/dict.org/dictorg.h 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/dictorg.h 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/dictstr.c dico-2.10/modules/dict.org/dictstr.c --- dico-2.9/modules/dict.org/dictstr.c 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/dictstr.c 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/Makefile.am dico-2.10/modules/dict.org/Makefile.am --- dico-2.9/modules/dict.org/Makefile.am 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/Makefile.am 2020-09-04 03:59:18.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/Makefile.in dico-2.10/modules/dict.org/Makefile.in --- dico-2.9/modules/dict.org/Makefile.in 2019-04-24 06:43:58.000000000 +0000 +++ dico-2.10/modules/dict.org/Makefile.in 2020-09-04 04:04:56.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -113,8 +113,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -146,15 +146,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -348,7 +348,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -683,6 +682,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -996,9 +996,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/dict.org/tests/allchars.at dico-2.10/modules/dict.org/tests/allchars.at --- dico-2.9/modules/dict.org/tests/allchars.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/allchars.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/alnum.at dico-2.10/modules/dict.org/tests/alnum.at --- dico-2.9/modules/dict.org/tests/alnum.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/alnum.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/db/Makefile.in dico-2.10/modules/dict.org/tests/db/Makefile.in --- dico-2.9/modules/dict.org/tests/db/Makefile.in 2019-04-24 06:43:59.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/db/Makefile.in 2020-09-04 04:04:56.000000000 +0000 @@ -95,8 +95,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -128,15 +128,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -209,7 +209,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -544,6 +543,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -857,9 +857,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/dict.org/tests/define.at dico-2.10/modules/dict.org/tests/define.at --- dico-2.9/modules/dict.org/tests/define.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/define.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/exact.at dico-2.10/modules/dict.org/tests/exact.at --- dico-2.9/modules/dict.org/tests/exact.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/exact.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/Makefile.am dico-2.10/modules/dict.org/tests/Makefile.am --- dico-2.9/modules/dict.org/tests/Makefile.am 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/Makefile.am 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/Makefile.in dico-2.10/modules/dict.org/tests/Makefile.in --- dico-2.9/modules/dict.org/tests/Makefile.in 2019-04-24 06:43:59.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/Makefile.in 2020-09-04 04:04:56.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -111,8 +111,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -144,15 +144,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -285,7 +285,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -620,6 +619,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -933,9 +933,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/dict.org/tests/ovdefmime.at dico-2.10/modules/dict.org/tests/ovdefmime.at --- dico-2.9/modules/dict.org/tests/ovdefmime.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/ovdefmime.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/ovdefnomime.at dico-2.10/modules/dict.org/tests/ovdefnomime.at --- dico-2.9/modules/dict.org/tests/ovdefnomime.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/ovdefnomime.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/ovexact.at dico-2.10/modules/dict.org/tests/ovexact.at --- dico-2.9/modules/dict.org/tests/ovexact.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/ovexact.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/ovshowdb.at dico-2.10/modules/dict.org/tests/ovshowdb.at --- dico-2.9/modules/dict.org/tests/ovshowdb.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/ovshowdb.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/package.m4 dico-2.10/modules/dict.org/tests/package.m4 --- dico-2.9/modules/dict.org/tests/package.m4 2019-04-24 06:45:00.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/package.m4 2020-09-04 04:06:37.000000000 +0000 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [GNU dico]) m4_define([AT_PACKAGE_TARNAME], [dico]) -m4_define([AT_PACKAGE_VERSION], [2.9]) -m4_define([AT_PACKAGE_STRING], [GNU dico 2.9]) +m4_define([AT_PACKAGE_VERSION], [2.10]) +m4_define([AT_PACKAGE_STRING], [GNU dico 2.10]) m4_define([AT_PACKAGE_BUGREPORT], [bug-dico@gnu.org]) diff -Nru dico-2.9/modules/dict.org/tests/prefix.at dico-2.10/modules/dict.org/tests/prefix.at --- dico-2.9/modules/dict.org/tests/prefix.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/prefix.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/showdb.at dico-2.10/modules/dict.org/tests/showdb.at --- dico-2.9/modules/dict.org/tests/showdb.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/showdb.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/showinfo.at dico-2.10/modules/dict.org/tests/showinfo.at --- dico-2.9/modules/dict.org/tests/showinfo.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/showinfo.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/suffix.at dico-2.10/modules/dict.org/tests/suffix.at --- dico-2.9/modules/dict.org/tests/suffix.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/suffix.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/testsuite dico-2.10/modules/dict.org/tests/testsuite --- dico-2.9/modules/dict.org/tests/testsuite 2019-04-24 06:45:01.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/testsuite 2020-09-04 04:06:37.000000000 +0000 @@ -918,7 +918,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -GNU dico 2.9 test suite test groups: +GNU dico 2.10 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -959,7 +959,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (GNU dico 2.9)" && + $as_echo "$as_me (GNU dico 2.10)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1150,13 +1150,13 @@ exec 5>>"$at_suite_log" # Banners and logs. -$as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" +$as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" { - $as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" + $as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" echo $as_echo "$as_me: command line was:" @@ -1999,7 +1999,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [GNU dico 2.9] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [GNU dico 2.10] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may diff -Nru dico-2.9/modules/dict.org/tests/testsuite.at dico-2.10/modules/dict.org/tests/testsuite.at --- dico-2.9/modules/dict.org/tests/testsuite.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/testsuite.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/vdefine.at dico-2.10/modules/dict.org/tests/vdefine.at --- dico-2.9/modules/dict.org/tests/vdefine.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/vdefine.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/vexact.at dico-2.10/modules/dict.org/tests/vexact.at --- dico-2.9/modules/dict.org/tests/vexact.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/vexact.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/vshowdb.at dico-2.10/modules/dict.org/tests/vshowdb.at --- dico-2.9/modules/dict.org/tests/vshowdb.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/vshowdb.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/dict.org/tests/word.at dico-2.10/modules/dict.org/tests/word.at --- dico-2.9/modules/dict.org/tests/word.at 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/dict.org/tests/word.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/ent.c dico-2.10/modules/gcide/ent.c --- dico-2.9/modules/gcide/ent.c 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/gcide/ent.c 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/gcide.c dico-2.10/modules/gcide/gcide.c --- dico-2.9/modules/gcide/gcide.c 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/gcide/gcide.c 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/gcide.h dico-2.10/modules/gcide/gcide.h --- dico-2.9/modules/gcide/gcide.h 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/gcide/gcide.h 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/grk.c dico-2.10/modules/gcide/grk.c --- dico-2.9/modules/gcide/grk.c 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/gcide/grk.c 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ /* Greek transliteration for GCIDE. This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/idx.c dico-2.10/modules/gcide/idx.c --- dico-2.9/modules/gcide/idx.c 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/idx.c 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/idxgcide.c dico-2.10/modules/gcide/idxgcide.c --- dico-2.9/modules/gcide/idxgcide.c 2019-02-22 10:04:59.000000000 +0000 +++ dico-2.10/modules/gcide/idxgcide.c 2020-09-04 04:06:10.000000000 +0000 @@ -1,6 +1,6 @@ #line 2 "idxgcide.l" /* This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -48,8 +48,8 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 37 +#define YY_FLEX_MINOR_VERSION 6 +#define YY_FLEX_SUBMINOR_VERSION 0 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -216,7 +216,15 @@ /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -248,6 +256,7 @@ #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) + #define YY_LINENO_REWIND_TO(ptr) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ @@ -451,13 +460,21 @@ int yylineno = 1; extern char *yytext; +#ifdef yytext_ptr +#undef yytext_ptr +#endif #define yytext_ptr yytext +/* %% [1.5] DFA */ + /* %if-c-only Standard (non-C++) definition */ static yy_state_type yy_get_previous_state (void ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); static int yy_get_next_buffer (void ); +#if defined(__GNUC__) && __GNUC__ >= 3 +__attribute__((__noreturn__)) +#endif static void yy_fatal_error (yyconst char msg[] ); /* %endif */ @@ -500,7 +517,7 @@ 0, 0, 0, 5, 7, 0 } ; -static yyconst flex_int32_t yy_ec[256] = +static yyconst YY_CHAR yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -532,14 +549,14 @@ 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[31] = +static yyconst YY_CHAR yy_meta[31] = { 0, 1, 1, 1, 1, 1, 1, 2, 3, 3, 1, 4, 5, 6, 1, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 } ; -static yyconst flex_int16_t yy_base[120] = +static yyconst flex_uint16_t yy_base[120] = { 0, 0, 1, 2, 3, 16, 17, 18, 19, 6, 20, 187, 188, 188, 25, 181, 188, 188, 188, 22, 180, @@ -573,7 +590,7 @@ 106, 106, 106, 106, 106, 106, 106, 106, 106 } ; -static yyconst flex_int16_t yy_nxt[219] = +static yyconst flex_uint16_t yy_nxt[219] = { 0, 106, 13, 13, 17, 17, 18, 18, 28, 29, 14, 14, 19, 19, 15, 15, 20, 20, 22, 22, 25, @@ -791,7 +808,7 @@ #define YY_NO_INPUT 1 -#line 795 "idxgcide.c" +#line 812 "idxgcide.c" #define INITIAL 0 #define HEADWORD 1 @@ -841,11 +858,11 @@ FILE *yyget_in (void ); -void yyset_in (FILE * in_str ); +void yyset_in (FILE * _in_str ); FILE *yyget_out (void ); -void yyset_out (FILE * out_str ); +void yyset_out (FILE * _out_str ); yy_size_t yyget_leng (void ); @@ -853,7 +870,7 @@ int yyget_lineno (void ); -void yyset_lineno (int line_number ); +void yyset_lineno (int _line_number ); /* %if-bison-bridge */ /* %endif */ @@ -872,6 +889,9 @@ /* %not-for-header */ +#ifndef YY_NO_UNPUT + +#endif /* %ok-for-header */ /* %endif */ @@ -904,7 +924,12 @@ /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -1017,7 +1042,7 @@ /* Code executed at the end of each rule. */ #ifndef YY_BREAK -#define YY_BREAK break; +#define YY_BREAK /*LINTED*/break; #endif /* %% [6.0] YY_RULE_SETUP definition goes here */ @@ -1030,15 +1055,10 @@ */ YY_DECL { - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; + yy_state_type yy_current_state; + char *yy_cp, *yy_bp; + int yy_act; -/* %% [7.0] user's declarations go here */ -#line 177 "idxgcide.l" - -#line 1041 "idxgcide.c" - if ( !(yy_init) ) { (yy_init) = 1; @@ -1073,7 +1093,13 @@ yy_load_buffer_state( ); } - while ( 1 ) /* loops until end-of-file is reached */ + { +/* %% [7.0] user's declarations go here */ +#line 177 "idxgcide.l" + +#line 1101 "idxgcide.c" + + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { /* %% [8.0] yymore()-related code goes here */ yy_cp = (yy_c_buf_p); @@ -1091,7 +1117,7 @@ yy_match: do { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; + YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -1356,7 +1382,7 @@ #line 253 "idxgcide.l" ECHO; YY_BREAK -#line 1360 "idxgcide.c" +#line 1386 "idxgcide.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(HEADWORD): case YY_STATE_EOF(MHW): @@ -1385,7 +1411,11 @@ * back-up) that will match for the new input source. */ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; +/* %if-c-only */ YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; +/* %endif */ +/* %if-c++-only */ +/* %endif */ YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; } @@ -1492,6 +1522,7 @@ "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ + } /* end of user's declarations */ } /* end of yylex */ /* %ok-for-header */ @@ -1515,9 +1546,9 @@ /* %if-c++-only */ /* %endif */ { - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - register char *source = (yytext_ptr); - register int number_to_move, i; + char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + char *source = (yytext_ptr); + yy_size_t number_to_move, i; int ret_val; if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) @@ -1546,7 +1577,7 @@ /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; + number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -1655,8 +1686,8 @@ /* %if-c++-only */ /* %endif */ { - register yy_state_type yy_current_state; - register char *yy_cp; + yy_state_type yy_current_state; + char *yy_cp; /* %% [15.0] code to get the start state into yy_current_state goes here */ yy_current_state = (yy_start); @@ -1664,7 +1695,7 @@ for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) { /* %% [16.0] code to find the next state goes here */ - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -1693,11 +1724,11 @@ /* %if-c++-only */ /* %endif */ { - register int yy_is_jam; + int yy_is_jam; /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */ - register char *yy_cp = (yy_c_buf_p); + char *yy_cp = (yy_c_buf_p); - register YY_CHAR yy_c = 1; + YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -1715,9 +1746,11 @@ return yy_is_jam ? 0 : yy_current_state; } +#ifndef YY_NO_UNPUT /* %if-c-only */ /* %endif */ +#endif /* %if-c-only */ #ifndef YY_NO_INPUT @@ -1823,6 +1856,9 @@ yy_load_buffer_state( ); } +/* %if-c++-only */ +/* %endif */ + /** Switch to a different input buffer. * @param new_buffer The new input buffer. * @@ -1870,7 +1906,11 @@ { (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; +/* %if-c-only */ yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; +/* %endif */ +/* %if-c++-only */ +/* %endif */ (yy_hold_char) = *(yy_c_buf_p); } @@ -1892,7 +1932,7 @@ if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - b->yy_buf_size = size; + b->yy_buf_size = (yy_size_t)size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. @@ -1908,6 +1948,9 @@ return b; } +/* %if-c++-only */ +/* %endif */ + /** Destroy the buffer. * @param b a buffer created with yy_create_buffer() * @@ -1946,7 +1989,11 @@ yy_flush_buffer(b ); +/* %if-c-only */ b->yy_input_file = file; +/* %endif */ +/* %if-c++-only */ +/* %endif */ b->yy_fill_buffer = 1; /* If b is the current buffer, then yy_init_buffer was _probably_ @@ -2081,7 +2128,7 @@ * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; + num_to_alloc = 1; // After all that talk, this was set to 1 anyways... (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); @@ -2098,7 +2145,7 @@ if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; + yy_size_t grow_size = 8 /* arbitrary grow size */; num_to_alloc = (yy_buffer_stack_max) + grow_size; (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc @@ -2181,7 +2228,7 @@ YY_BUFFER_STATE b; char *buf; yy_size_t n; - int i; + yy_size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; @@ -2214,7 +2261,7 @@ /* %if-c-only */ static void yy_fatal_error (yyconst char* msg ) { - (void) fprintf( stderr, "%s\n", msg ); + (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* %endif */ @@ -2290,29 +2337,29 @@ /* %endif */ /** Set the current line number. - * @param line_number + * @param _line_number line number * */ -void yyset_lineno (int line_number ) +void yyset_lineno (int _line_number ) { - yylineno = line_number; + yylineno = _line_number; } /** Set the input stream. This does not discard the current * input buffer. - * @param in_str A readable stream. + * @param _in_str A readable stream. * * @see yy_switch_to_buffer */ -void yyset_in (FILE * in_str ) +void yyset_in (FILE * _in_str ) { - yyin = in_str ; + yyin = _in_str ; } -void yyset_out (FILE * out_str ) +void yyset_out (FILE * _out_str ) { - yyout = out_str ; + yyout = _out_str ; } int yyget_debug (void) @@ -2320,9 +2367,9 @@ return yy_flex_debug; } -void yyset_debug (int bdebug ) +void yyset_debug (int _bdebug ) { - yy_flex_debug = bdebug ; + yy_flex_debug = _bdebug ; } /* %endif */ @@ -2395,7 +2442,8 @@ #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) { - register int i; + + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } @@ -2404,7 +2452,7 @@ #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * s ) { - register int n; + int n; for ( n = 0; s[n]; ++n ) ; @@ -2414,11 +2462,12 @@ void *yyalloc (yy_size_t size ) { - return (void *) malloc( size ); + return (void *) malloc( size ); } void *yyrealloc (void * ptr, yy_size_t size ) { + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -2431,7 +2480,7 @@ void yyfree (void * ptr ) { - free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ + free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ } /* %if-tables-serialization definitions */ diff -Nru dico-2.9/modules/gcide/idxgcide-cli.h dico-2.10/modules/gcide/idxgcide-cli.h --- dico-2.9/modules/gcide/idxgcide-cli.h 2019-02-22 10:04:56.000000000 +0000 +++ dico-2.10/modules/gcide/idxgcide-cli.h 2020-09-04 04:06:07.000000000 +0000 @@ -1,10 +1,10 @@ -#line 539 "../../grecs/build-aux/getopt.m4" +#line 559 "../../grecs/build-aux/getopt.m4" /* -*- buffer-read-only: t -*- vi: set ro: THIS FILE IS GENERATED AUTOMATICALLY. PLEASE DO NOT EDIT. */ #line 1 "idxgcide-cli.opt" /* This file is part of GNU Dico. -*- c -*- - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/idxgcide-cli.opt dico-2.10/modules/gcide/idxgcide-cli.opt --- dico-2.9/modules/gcide/idxgcide-cli.opt 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/idxgcide-cli.opt 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. -*- c -*- - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/idxgcide.l dico-2.10/modules/gcide/idxgcide.l --- dico-2.9/modules/gcide/idxgcide.l 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/idxgcide.l 2020-09-04 03:59:19.000000000 +0000 @@ -1,6 +1,6 @@ %top { /* This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/Makefile.am dico-2.10/modules/gcide/Makefile.am --- dico-2.9/modules/gcide/Makefile.am 2019-02-22 10:00:09.000000000 +0000 +++ dico-2.10/modules/gcide/Makefile.am 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/Makefile.in dico-2.10/modules/gcide/Makefile.in --- dico-2.9/modules/gcide/Makefile.in 2019-04-24 06:43:59.000000000 +0000 +++ dico-2.10/modules/gcide/Makefile.in 2020-09-04 04:04:56.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -115,8 +115,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -148,15 +148,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -374,7 +374,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -709,6 +708,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -1022,9 +1022,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/gcide/markup.c dico-2.10/modules/gcide/markup.c --- dico-2.9/modules/gcide/markup.c 2019-02-22 10:04:57.000000000 +0000 +++ dico-2.10/modules/gcide/markup.c 2020-09-04 04:06:09.000000000 +0000 @@ -1,6 +1,6 @@ #line 2 "markup.l" /* This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -82,8 +82,8 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 37 +#define YY_FLEX_MINOR_VERSION 6 +#define YY_FLEX_SUBMINOR_VERSION 0 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -250,7 +250,15 @@ /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -282,6 +290,7 @@ #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) + #define YY_LINENO_REWIND_TO(ptr) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ @@ -485,13 +494,21 @@ int yylineno = 1; extern char *yytext; +#ifdef yytext_ptr +#undef yytext_ptr +#endif #define yytext_ptr yytext +/* %% [1.5] DFA */ + /* %if-c-only Standard (non-C++) definition */ static yy_state_type yy_get_previous_state (void ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); static int yy_get_next_buffer (void ); +#if defined(__GNUC__) && __GNUC__ >= 3 +__attribute__((__noreturn__)) +#endif static void yy_fatal_error (yyconst char msg[] ); /* %endif */ @@ -526,7 +543,7 @@ 4, 3, 0, 0, 5, 3, 8, 0 } ; -static yyconst flex_int32_t yy_ec[256] = +static yyconst YY_CHAR yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, @@ -558,13 +575,13 @@ 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[18] = +static yyconst YY_CHAR yy_meta[18] = { 0, 1, 2, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 4, 1, 4, 4 } ; -static yyconst flex_int16_t yy_base[46] = +static yyconst flex_uint16_t yy_base[46] = { 0, 0, 13, 27, 37, 37, 102, 102, 102, 102, 44, 29, 23, 102, 22, 102, 25, 15, 22, 53, 62, @@ -582,7 +599,7 @@ 38, 38, 38, 38, 38 } ; -static yyconst flex_int16_t yy_nxt[120] = +static yyconst flex_uint16_t yy_nxt[120] = { 0, 38, 38, 7, 8, 25, 9, 38, 38, 38, 38, 10, 33, 31, 37, 11, 7, 8, 33, 9, 37, @@ -830,7 +847,7 @@ } #define YY_NO_INPUT 1 -#line 834 "markup.c" +#line 851 "markup.c" #define INITIAL 0 #define COMMENT 1 @@ -877,11 +894,11 @@ FILE *yyget_in (void ); -void yyset_in (FILE * in_str ); +void yyset_in (FILE * _in_str ); FILE *yyget_out (void ); -void yyset_out (FILE * out_str ); +void yyset_out (FILE * _out_str ); yy_size_t yyget_leng (void ); @@ -889,7 +906,7 @@ int yyget_lineno (void ); -void yyset_lineno (int line_number ); +void yyset_lineno (int _line_number ); /* %if-bison-bridge */ /* %endif */ @@ -908,6 +925,9 @@ /* %not-for-header */ +#ifndef YY_NO_UNPUT + +#endif /* %ok-for-header */ /* %endif */ @@ -940,7 +960,12 @@ /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -1053,7 +1078,7 @@ /* Code executed at the end of each rule. */ #ifndef YY_BREAK -#define YY_BREAK break; +#define YY_BREAK /*LINTED*/break; #endif /* %% [6.0] YY_RULE_SETUP definition goes here */ @@ -1066,15 +1091,10 @@ */ YY_DECL { - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; + yy_state_type yy_current_state; + char *yy_cp, *yy_bp; + int yy_act; -/* %% [7.0] user's declarations go here */ -#line 265 "markup.l" - -#line 1077 "markup.c" - if ( !(yy_init) ) { (yy_init) = 1; @@ -1109,7 +1129,13 @@ yy_load_buffer_state( ); } - while ( 1 ) /* loops until end-of-file is reached */ + { +/* %% [7.0] user's declarations go here */ +#line 265 "markup.l" + +#line 1137 "markup.c" + + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { /* %% [8.0] yymore()-related code goes here */ yy_cp = (yy_c_buf_p); @@ -1127,7 +1153,7 @@ yy_match: do { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; + YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -1314,7 +1340,7 @@ #line 328 "markup.l" ECHO; YY_BREAK -#line 1318 "markup.c" +#line 1344 "markup.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(COMMENT): yyterminate(); @@ -1340,7 +1366,11 @@ * back-up) that will match for the new input source. */ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; +/* %if-c-only */ YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; +/* %endif */ +/* %if-c++-only */ +/* %endif */ YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; } @@ -1447,6 +1477,7 @@ "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ + } /* end of user's declarations */ } /* end of yylex */ /* %ok-for-header */ @@ -1470,9 +1501,9 @@ /* %if-c++-only */ /* %endif */ { - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - register char *source = (yytext_ptr); - register int number_to_move, i; + char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + char *source = (yytext_ptr); + yy_size_t number_to_move, i; int ret_val; if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) @@ -1501,7 +1532,7 @@ /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; + number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -1610,8 +1641,8 @@ /* %if-c++-only */ /* %endif */ { - register yy_state_type yy_current_state; - register char *yy_cp; + yy_state_type yy_current_state; + char *yy_cp; /* %% [15.0] code to get the start state into yy_current_state goes here */ yy_current_state = (yy_start); @@ -1619,7 +1650,7 @@ for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) { /* %% [16.0] code to find the next state goes here */ - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -1648,11 +1679,11 @@ /* %if-c++-only */ /* %endif */ { - register int yy_is_jam; + int yy_is_jam; /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */ - register char *yy_cp = (yy_c_buf_p); + char *yy_cp = (yy_c_buf_p); - register YY_CHAR yy_c = 1; + YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -1670,9 +1701,11 @@ return yy_is_jam ? 0 : yy_current_state; } +#ifndef YY_NO_UNPUT /* %if-c-only */ /* %endif */ +#endif /* %if-c-only */ #ifndef YY_NO_INPUT @@ -1778,6 +1811,9 @@ yy_load_buffer_state( ); } +/* %if-c++-only */ +/* %endif */ + /** Switch to a different input buffer. * @param new_buffer The new input buffer. * @@ -1825,7 +1861,11 @@ { (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; +/* %if-c-only */ yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; +/* %endif */ +/* %if-c++-only */ +/* %endif */ (yy_hold_char) = *(yy_c_buf_p); } @@ -1847,7 +1887,7 @@ if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - b->yy_buf_size = size; + b->yy_buf_size = (yy_size_t)size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. @@ -1863,6 +1903,9 @@ return b; } +/* %if-c++-only */ +/* %endif */ + /** Destroy the buffer. * @param b a buffer created with yy_create_buffer() * @@ -1901,7 +1944,11 @@ yy_flush_buffer(b ); +/* %if-c-only */ b->yy_input_file = file; +/* %endif */ +/* %if-c++-only */ +/* %endif */ b->yy_fill_buffer = 1; /* If b is the current buffer, then yy_init_buffer was _probably_ @@ -2036,7 +2083,7 @@ * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; + num_to_alloc = 1; // After all that talk, this was set to 1 anyways... (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); @@ -2053,7 +2100,7 @@ if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; + yy_size_t grow_size = 8 /* arbitrary grow size */; num_to_alloc = (yy_buffer_stack_max) + grow_size; (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc @@ -2136,7 +2183,7 @@ YY_BUFFER_STATE b; char *buf; yy_size_t n; - int i; + yy_size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; @@ -2169,7 +2216,7 @@ /* %if-c-only */ static void yy_fatal_error (yyconst char* msg ) { - (void) fprintf( stderr, "%s\n", msg ); + (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* %endif */ @@ -2245,29 +2292,29 @@ /* %endif */ /** Set the current line number. - * @param line_number + * @param _line_number line number * */ -void yyset_lineno (int line_number ) +void yyset_lineno (int _line_number ) { - yylineno = line_number; + yylineno = _line_number; } /** Set the input stream. This does not discard the current * input buffer. - * @param in_str A readable stream. + * @param _in_str A readable stream. * * @see yy_switch_to_buffer */ -void yyset_in (FILE * in_str ) +void yyset_in (FILE * _in_str ) { - yyin = in_str ; + yyin = _in_str ; } -void yyset_out (FILE * out_str ) +void yyset_out (FILE * _out_str ) { - yyout = out_str ; + yyout = _out_str ; } int yyget_debug (void) @@ -2275,9 +2322,9 @@ return yy_flex_debug; } -void yyset_debug (int bdebug ) +void yyset_debug (int _bdebug ) { - yy_flex_debug = bdebug ; + yy_flex_debug = _bdebug ; } /* %endif */ @@ -2350,7 +2397,8 @@ #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) { - register int i; + + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } @@ -2359,7 +2407,7 @@ #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * s ) { - register int n; + int n; for ( n = 0; s[n]; ++n ) ; @@ -2369,11 +2417,12 @@ void *yyalloc (yy_size_t size ) { - return (void *) malloc( size ); + return (void *) malloc( size ); } void *yyrealloc (void * ptr, yy_size_t size ) { + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -2386,7 +2435,7 @@ void yyfree (void * ptr ) { - free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ + free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ } /* %if-tables-serialization definitions */ diff -Nru dico-2.9/modules/gcide/markup.l dico-2.10/modules/gcide/markup.l --- dico-2.9/modules/gcide/markup.l 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/markup.l 2020-09-04 03:59:19.000000000 +0000 @@ -1,6 +1,6 @@ %top { /* This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/all.at dico-2.10/modules/gcide/tests/all.at --- dico-2.9/modules/gcide/tests/all.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/all.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/atlocal.in dico-2.10/modules/gcide/tests/atlocal.in --- dico-2.9/modules/gcide/tests/atlocal.in 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/atlocal.in 2020-09-04 03:59:19.000000000 +0000 @@ -1,6 +1,6 @@ # @configure_input@ -*- shell-script -*- # Configurable variable values for Dico test suite. -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff PATH=@abs_builddir@:@abs_top_builddir@/dicod:@abs_top_builddir@/modules/gcide:$PATH DICTDIR=@abs_srcdir@/dict diff -Nru dico-2.9/modules/gcide/tests/autoidx.at dico-2.10/modules/gcide/tests/autoidx.at --- dico-2.9/modules/gcide/tests/autoidx.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/autoidx.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/def00.at dico-2.10/modules/gcide/tests/def00.at --- dico-2.9/modules/gcide/tests/def00.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/def00.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/def01.at dico-2.10/modules/gcide/tests/def01.at --- dico-2.9/modules/gcide/tests/def01.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/def01.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/def02.at dico-2.10/modules/gcide/tests/def02.at --- dico-2.9/modules/gcide/tests/def02.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/def02.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/def03.at dico-2.10/modules/gcide/tests/def03.at --- dico-2.9/modules/gcide/tests/def03.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/def03.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/def04.at dico-2.10/modules/gcide/tests/def04.at --- dico-2.9/modules/gcide/tests/def04.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/def04.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/def05.at dico-2.10/modules/gcide/tests/def05.at --- dico-2.9/modules/gcide/tests/def05.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/def05.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/def06.at dico-2.10/modules/gcide/tests/def06.at --- dico-2.9/modules/gcide/tests/def06.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/def06.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/degcide.c dico-2.10/modules/gcide/tests/degcide.c --- dico-2.9/modules/gcide/tests/degcide.c 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/degcide.c 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/descr.at dico-2.10/modules/gcide/tests/descr.at --- dico-2.9/modules/gcide/tests/descr.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/descr.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/exact.at dico-2.10/modules/gcide/tests/exact.at --- dico-2.9/modules/gcide/tests/exact.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/exact.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/exgrk.c dico-2.10/modules/gcide/tests/exgrk.c --- dico-2.9/modules/gcide/tests/exgrk.c 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/exgrk.c 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ /* Extract greek transliterations from GCIDE. This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/greek.at dico-2.10/modules/gcide/tests/greek.at --- dico-2.9/modules/gcide/tests/greek.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/greek.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/greek.c dico-2.10/modules/gcide/tests/greek.c --- dico-2.9/modules/gcide/tests/greek.c 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/greek.c 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/idx.at dico-2.10/modules/gcide/tests/idx.at --- dico-2.9/modules/gcide/tests/idx.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/idx.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/info.at dico-2.10/modules/gcide/tests/info.at --- dico-2.9/modules/gcide/tests/info.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/info.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/Makefile.am dico-2.10/modules/gcide/tests/Makefile.am --- dico-2.9/modules/gcide/tests/Makefile.am 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/Makefile.am 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/Makefile.in dico-2.10/modules/gcide/tests/Makefile.in --- dico-2.9/modules/gcide/tests/Makefile.in 2019-04-24 06:43:59.000000000 +0000 +++ dico-2.10/modules/gcide/tests/Makefile.in 2020-09-04 04:04:56.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -114,8 +114,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -147,15 +147,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -287,7 +287,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -622,6 +621,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -935,9 +935,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/gcide/tests/markup.at dico-2.10/modules/gcide/tests/markup.at --- dico-2.9/modules/gcide/tests/markup.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/markup.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/nopr.at dico-2.10/modules/gcide/tests/nopr.at --- dico-2.9/modules/gcide/tests/nopr.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/nopr.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/package.m4 dico-2.10/modules/gcide/tests/package.m4 --- dico-2.9/modules/gcide/tests/package.m4 2019-04-24 06:45:01.000000000 +0000 +++ dico-2.10/modules/gcide/tests/package.m4 2020-09-04 04:06:38.000000000 +0000 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [GNU dico]) m4_define([AT_PACKAGE_TARNAME], [dico]) -m4_define([AT_PACKAGE_VERSION], [2.9]) -m4_define([AT_PACKAGE_STRING], [GNU dico 2.9]) +m4_define([AT_PACKAGE_VERSION], [2.10]) +m4_define([AT_PACKAGE_STRING], [GNU dico 2.10]) m4_define([AT_PACKAGE_BUGREPORT], [bug-dico@gnu.org]) diff -Nru dico-2.9/modules/gcide/tests/prefix.at dico-2.10/modules/gcide/tests/prefix.at --- dico-2.9/modules/gcide/tests/prefix.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/prefix.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/tests/testsuite dico-2.10/modules/gcide/tests/testsuite --- dico-2.9/modules/gcide/tests/testsuite 2019-04-24 06:45:01.000000000 +0000 +++ dico-2.10/modules/gcide/tests/testsuite 2020-09-04 04:06:38.000000000 +0000 @@ -918,7 +918,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -GNU dico 2.9 test suite test groups: +GNU dico 2.10 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -959,7 +959,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (GNU dico 2.9)" && + $as_echo "$as_me (GNU dico 2.10)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1147,13 +1147,13 @@ exec 5>>"$at_suite_log" # Banners and logs. -$as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" +$as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" { - $as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" + $as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" echo $as_echo "$as_me: command line was:" @@ -1996,7 +1996,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [GNU dico 2.9] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [GNU dico 2.10] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may diff -Nru dico-2.9/modules/gcide/tests/testsuite.at dico-2.10/modules/gcide/tests/testsuite.at --- dico-2.9/modules/gcide/tests/testsuite.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/tests/testsuite.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/gcide/webchr.c dico-2.10/modules/gcide/webchr.c --- dico-2.9/modules/gcide/webchr.c 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/gcide/webchr.c 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/guile/guile.c dico-2.10/modules/guile/guile.c --- dico-2.9/modules/guile/guile.c 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/guile/guile.c 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/guile/Makefile.am dico-2.10/modules/guile/Makefile.am --- dico-2.9/modules/guile/Makefile.am 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/guile/Makefile.am 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/guile/Makefile.in dico-2.10/modules/guile/Makefile.in --- dico-2.9/modules/guile/Makefile.in 2019-04-24 06:43:59.000000000 +0000 +++ dico-2.10/modules/guile/Makefile.in 2020-09-04 04:04:56.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -151,8 +151,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -184,15 +184,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -385,7 +385,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -720,6 +719,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -1033,9 +1033,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/guile/module.ac dico-2.10/modules/guile/module.ac --- dico-2.9/modules/guile/module.ac 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/guile/module.ac 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ ## This file is part of GNU Dico -## Copyright (C) 2014-2019 Sergey Poznyakoff +## Copyright (C) 2014-2020 Sergey Poznyakoff ## ## GNU Dico is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/guile/tests/atlocal.in dico-2.10/modules/guile/tests/atlocal.in --- dico-2.9/modules/guile/tests/atlocal.in 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/guile/tests/atlocal.in 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # @configure_input@ -*- shell-script -*- # Configurable variable values for Dico test suite. -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff PATH=@abs_builddir@:@abs_top_builddir@/dicod:$top_srcdir:$srcdir:$PATH diff -Nru dico-2.9/modules/guile/tests/define.at dico-2.10/modules/guile/tests/define.at --- dico-2.9/modules/guile/tests/define.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/guile/tests/define.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/guile/tests/exact.at dico-2.10/modules/guile/tests/exact.at --- dico-2.9/modules/guile/tests/exact.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/guile/tests/exact.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/guile/tests/lev.at dico-2.10/modules/guile/tests/lev.at --- dico-2.9/modules/guile/tests/lev.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/guile/tests/lev.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/guile/tests/Makefile.am dico-2.10/modules/guile/tests/Makefile.am --- dico-2.9/modules/guile/tests/Makefile.am 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/guile/tests/Makefile.am 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/guile/tests/Makefile.in dico-2.10/modules/guile/tests/Makefile.in --- dico-2.9/modules/guile/tests/Makefile.in 2019-04-24 06:43:59.000000000 +0000 +++ dico-2.10/modules/guile/tests/Makefile.in 2020-09-04 04:04:56.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -227,7 +227,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -562,6 +561,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -875,9 +875,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/guile/tests/mime2.at dico-2.10/modules/guile/tests/mime2.at --- dico-2.9/modules/guile/tests/mime2.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/guile/tests/mime2.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/guile/tests/mime.at dico-2.10/modules/guile/tests/mime.at --- dico-2.9/modules/guile/tests/mime.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/guile/tests/mime.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2018-2019 Sergey Poznyakoff +# Copyright (C) 2018-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/guile/tests/package.m4 dico-2.10/modules/guile/tests/package.m4 --- dico-2.9/modules/guile/tests/package.m4 2019-04-24 06:45:01.000000000 +0000 +++ dico-2.10/modules/guile/tests/package.m4 2020-09-04 04:06:47.000000000 +0000 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [GNU dico]) m4_define([AT_PACKAGE_TARNAME], [dico]) -m4_define([AT_PACKAGE_VERSION], [2.9]) -m4_define([AT_PACKAGE_STRING], [GNU dico 2.9]) +m4_define([AT_PACKAGE_VERSION], [2.10]) +m4_define([AT_PACKAGE_STRING], [GNU dico 2.10]) m4_define([AT_PACKAGE_BUGREPORT], [bug-dico@gnu.org]) diff -Nru dico-2.9/modules/guile/tests/prefix.at dico-2.10/modules/guile/tests/prefix.at --- dico-2.9/modules/guile/tests/prefix.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/guile/tests/prefix.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/guile/tests/showdb.at dico-2.10/modules/guile/tests/showdb.at --- dico-2.9/modules/guile/tests/showdb.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/guile/tests/showdb.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/guile/tests/showinfo.at dico-2.10/modules/guile/tests/showinfo.at --- dico-2.9/modules/guile/tests/showinfo.at 2019-02-22 10:00:10.000000000 +0000 +++ dico-2.10/modules/guile/tests/showinfo.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/guile/tests/showlang.at dico-2.10/modules/guile/tests/showlang.at --- dico-2.9/modules/guile/tests/showlang.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/guile/tests/showlang.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/guile/tests/suffix.at dico-2.10/modules/guile/tests/suffix.at --- dico-2.9/modules/guile/tests/suffix.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/guile/tests/suffix.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/guile/tests/testsuite dico-2.10/modules/guile/tests/testsuite --- dico-2.9/modules/guile/tests/testsuite 2019-04-24 06:45:02.000000000 +0000 +++ dico-2.10/modules/guile/tests/testsuite 2020-09-04 04:06:47.000000000 +0000 @@ -912,7 +912,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -GNU dico 2.9 test suite test groups: +GNU dico 2.10 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -953,7 +953,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (GNU dico 2.9)" && + $as_echo "$as_me (GNU dico 2.10)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1138,13 +1138,13 @@ exec 5>>"$at_suite_log" # Banners and logs. -$as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" +$as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" { - $as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" + $as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" echo $as_echo "$as_me: command line was:" @@ -1987,7 +1987,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [GNU dico 2.9] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [GNU dico 2.10] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may diff -Nru dico-2.9/modules/guile/tests/testsuite.at dico-2.10/modules/guile/tests/testsuite.at --- dico-2.9/modules/guile/tests/testsuite.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/guile/tests/testsuite.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/ldap/ldap.c dico-2.10/modules/ldap/ldap.c --- dico-2.9/modules/ldap/ldap.c 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/ldap/ldap.c 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/ldap/Makefile.am dico-2.10/modules/ldap/Makefile.am --- dico-2.9/modules/ldap/Makefile.am 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/ldap/Makefile.am 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/ldap/Makefile.in dico-2.10/modules/ldap/Makefile.in --- dico-2.9/modules/ldap/Makefile.in 2019-04-24 06:44:00.000000000 +0000 +++ dico-2.10/modules/ldap/Makefile.in 2020-09-04 04:04:56.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -303,7 +303,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -638,6 +637,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -951,9 +951,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/ldap/module.ac dico-2.10/modules/ldap/module.ac --- dico-2.9/modules/ldap/module.ac 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/ldap/module.ac 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ ## This file is part of GNU Dico -## Copyright (C) 2014-2019 Sergey Poznyakoff +## Copyright (C) 2014-2020 Sergey Poznyakoff ## ## GNU Dico is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/Makefile.am dico-2.10/modules/Makefile.am --- dico-2.9/modules/Makefile.am 2019-04-24 06:42:41.000000000 +0000 +++ dico-2.10/modules/Makefile.am 2020-09-04 04:04:22.000000000 +0000 @@ -2,7 +2,7 @@ # This file is created automatically from modules/stub.am. # To recreate, run bootstrap from the top of Dico source tree. # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/Makefile.in dico-2.10/modules/Makefile.in --- dico-2.9/modules/Makefile.in 2019-04-24 06:43:58.000000000 +0000 +++ dico-2.10/modules/Makefile.in 2020-09-04 04:04:56.000000000 +0000 @@ -18,7 +18,7 @@ # This file is created automatically from modules/stub.am. # To recreate, run bootstrap from the top of Dico source tree. # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -114,8 +114,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -147,15 +147,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -289,7 +289,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -624,6 +623,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -937,9 +937,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/metaphone2/Makefile.am dico-2.10/modules/metaphone2/Makefile.am --- dico-2.9/modules/metaphone2/Makefile.am 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/metaphone2/Makefile.am 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 2014-2019 Sergey Poznyakoff +# Copyright (C) 2014-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/metaphone2/Makefile.in dico-2.10/modules/metaphone2/Makefile.in --- dico-2.9/modules/metaphone2/Makefile.in 2019-04-24 06:44:00.000000000 +0000 +++ dico-2.10/modules/metaphone2/Makefile.in 2020-09-04 04:04:56.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 2014-2019 Sergey Poznyakoff +# Copyright (C) 2014-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -345,7 +345,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -680,6 +679,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -993,9 +993,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/metaphone2/metaphone2.c dico-2.10/modules/metaphone2/metaphone2.c --- dico-2.9/modules/metaphone2/metaphone2.c 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/metaphone2/metaphone2.c 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/metaphone2/tests/atlocal.in dico-2.10/modules/metaphone2/tests/atlocal.in --- dico-2.9/modules/metaphone2/tests/atlocal.in 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/metaphone2/tests/atlocal.in 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # @configure_input@ -*- shell-script -*- # Configurable variable values for Dico test suite. -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff PATH=@abs_builddir@:@abs_top_builddir@/dicod:$top_srcdir:$srcdir:$PATH diff -Nru dico-2.9/modules/metaphone2/tests/build.at dico-2.10/modules/metaphone2/tests/build.at --- dico-2.9/modules/metaphone2/tests/build.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/metaphone2/tests/build.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2016-2019 Sergey Poznyakoff +# Copyright (C) 2016-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/metaphone2/tests/comp00.at dico-2.10/modules/metaphone2/tests/comp00.at --- dico-2.9/modules/metaphone2/tests/comp00.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/metaphone2/tests/comp00.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2016-2019 Sergey Poznyakoff +# Copyright (C) 2016-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/metaphone2/tests/comp01.at dico-2.10/modules/metaphone2/tests/comp01.at --- dico-2.9/modules/metaphone2/tests/comp01.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/metaphone2/tests/comp01.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2016-2019 Sergey Poznyakoff +# Copyright (C) 2016-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/metaphone2/tests/comp02.at dico-2.10/modules/metaphone2/tests/comp02.at --- dico-2.9/modules/metaphone2/tests/comp02.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/metaphone2/tests/comp02.at 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2016-2019 Sergey Poznyakoff +# Copyright (C) 2016-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/metaphone2/tests/encode.at dico-2.10/modules/metaphone2/tests/encode.at --- dico-2.9/modules/metaphone2/tests/encode.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/metaphone2/tests/encode.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2016-2019 Sergey Poznyakoff +# Copyright (C) 2016-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/metaphone2/tests/Makefile.am dico-2.10/modules/metaphone2/tests/Makefile.am --- dico-2.9/modules/metaphone2/tests/Makefile.am 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/metaphone2/tests/Makefile.am 2020-09-04 03:59:19.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/metaphone2/tests/Makefile.in dico-2.10/modules/metaphone2/tests/Makefile.in --- dico-2.9/modules/metaphone2/tests/Makefile.in 2019-04-24 06:44:00.000000000 +0000 +++ dico-2.10/modules/metaphone2/tests/Makefile.in 2020-09-04 04:04:56.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -227,7 +227,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -562,6 +561,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -875,9 +875,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/metaphone2/tests/match00.at dico-2.10/modules/metaphone2/tests/match00.at --- dico-2.9/modules/metaphone2/tests/match00.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/metaphone2/tests/match00.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2016-2019 Sergey Poznyakoff +# Copyright (C) 2016-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/metaphone2/tests/package.m4 dico-2.10/modules/metaphone2/tests/package.m4 --- dico-2.9/modules/metaphone2/tests/package.m4 2019-04-24 06:45:02.000000000 +0000 +++ dico-2.10/modules/metaphone2/tests/package.m4 2020-09-04 04:06:38.000000000 +0000 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [GNU dico]) m4_define([AT_PACKAGE_TARNAME], [dico]) -m4_define([AT_PACKAGE_VERSION], [2.9]) -m4_define([AT_PACKAGE_STRING], [GNU dico 2.9]) +m4_define([AT_PACKAGE_VERSION], [2.10]) +m4_define([AT_PACKAGE_STRING], [GNU dico 2.10]) m4_define([AT_PACKAGE_BUGREPORT], [bug-dico@gnu.org]) diff -Nru dico-2.9/modules/metaphone2/tests/testsuite dico-2.10/modules/metaphone2/tests/testsuite --- dico-2.9/modules/metaphone2/tests/testsuite 2019-04-24 06:45:02.000000000 +0000 +++ dico-2.10/modules/metaphone2/tests/testsuite 2020-09-04 04:06:39.000000000 +0000 @@ -908,7 +908,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -GNU dico 2.9 test suite test groups: +GNU dico 2.10 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -949,7 +949,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (GNU dico 2.9)" && + $as_echo "$as_me (GNU dico 2.10)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1125,13 +1125,13 @@ exec 5>>"$at_suite_log" # Banners and logs. -$as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" +$as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" { - $as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" + $as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" echo $as_echo "$as_me: command line was:" @@ -1974,7 +1974,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [GNU dico 2.9] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [GNU dico 2.10] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may diff -Nru dico-2.9/modules/metaphone2/tests/testsuite.at dico-2.10/modules/metaphone2/tests/testsuite.at --- dico-2.9/modules/metaphone2/tests/testsuite.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/metaphone2/tests/testsuite.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2016-2019 Sergey Poznyakoff +# Copyright (C) 2016-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/nprefix/Makefile.am dico-2.10/modules/nprefix/Makefile.am --- dico-2.9/modules/nprefix/Makefile.am 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/nprefix/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 2010-2019 Sergey Poznyakoff +# Copyright (C) 2010-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/nprefix/Makefile.in dico-2.10/modules/nprefix/Makefile.in --- dico-2.9/modules/nprefix/Makefile.in 2019-04-24 06:44:00.000000000 +0000 +++ dico-2.10/modules/nprefix/Makefile.in 2020-09-04 04:04:57.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 2010-2019 Sergey Poznyakoff +# Copyright (C) 2010-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -345,7 +345,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -680,6 +679,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -993,9 +993,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/nprefix/nprefix.c dico-2.10/modules/nprefix/nprefix.c --- dico-2.9/modules/nprefix/nprefix.c 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/nprefix/nprefix.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/nprefix/tests/atlocal.in dico-2.10/modules/nprefix/tests/atlocal.in --- dico-2.9/modules/nprefix/tests/atlocal.in 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/nprefix/tests/atlocal.in 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # @configure_input@ -*- shell-script -*- # Configurable variable values for Dico test suite. -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff PATH=@abs_top_builddir@/dicod:$PATH diff -Nru dico-2.9/modules/nprefix/tests/Makefile.am dico-2.10/modules/nprefix/tests/Makefile.am --- dico-2.9/modules/nprefix/tests/Makefile.am 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/nprefix/tests/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/nprefix/tests/Makefile.in dico-2.10/modules/nprefix/tests/Makefile.in --- dico-2.9/modules/nprefix/tests/Makefile.in 2019-04-24 06:44:00.000000000 +0000 +++ dico-2.10/modules/nprefix/tests/Makefile.in 2020-09-04 04:04:57.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -227,7 +227,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -562,6 +561,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -875,9 +875,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/nprefix/tests/np00.at dico-2.10/modules/nprefix/tests/np00.at --- dico-2.9/modules/nprefix/tests/np00.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/nprefix/tests/np00.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/nprefix/tests/np01.at dico-2.10/modules/nprefix/tests/np01.at --- dico-2.9/modules/nprefix/tests/np01.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/nprefix/tests/np01.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/nprefix/tests/np02.at dico-2.10/modules/nprefix/tests/np02.at --- dico-2.9/modules/nprefix/tests/np02.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/nprefix/tests/np02.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/nprefix/tests/np03.at dico-2.10/modules/nprefix/tests/np03.at --- dico-2.9/modules/nprefix/tests/np03.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/nprefix/tests/np03.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/nprefix/tests/np04.at dico-2.10/modules/nprefix/tests/np04.at --- dico-2.9/modules/nprefix/tests/np04.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/nprefix/tests/np04.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/nprefix/tests/package.m4 dico-2.10/modules/nprefix/tests/package.m4 --- dico-2.9/modules/nprefix/tests/package.m4 2019-04-24 06:45:02.000000000 +0000 +++ dico-2.10/modules/nprefix/tests/package.m4 2020-09-04 04:06:39.000000000 +0000 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [GNU dico]) m4_define([AT_PACKAGE_TARNAME], [dico]) -m4_define([AT_PACKAGE_VERSION], [2.9]) -m4_define([AT_PACKAGE_STRING], [GNU dico 2.9]) +m4_define([AT_PACKAGE_VERSION], [2.10]) +m4_define([AT_PACKAGE_STRING], [GNU dico 2.10]) m4_define([AT_PACKAGE_BUGREPORT], [bug-dico@gnu.org]) diff -Nru dico-2.9/modules/nprefix/tests/testsuite dico-2.10/modules/nprefix/tests/testsuite --- dico-2.9/modules/nprefix/tests/testsuite 2019-04-24 06:45:02.000000000 +0000 +++ dico-2.10/modules/nprefix/tests/testsuite 2020-09-04 04:06:39.000000000 +0000 @@ -907,7 +907,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -GNU dico 2.9 test suite test groups: +GNU dico 2.10 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -948,7 +948,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (GNU dico 2.9)" && + $as_echo "$as_me (GNU dico 2.10)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1124,13 +1124,13 @@ exec 5>>"$at_suite_log" # Banners and logs. -$as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" +$as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" { - $as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" + $as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" echo $as_echo "$as_me: command line was:" @@ -1973,7 +1973,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [GNU dico 2.9] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [GNU dico 2.10] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may diff -Nru dico-2.9/modules/nprefix/tests/testsuite.at dico-2.10/modules/nprefix/tests/testsuite.at --- dico-2.9/modules/nprefix/tests/testsuite.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/nprefix/tests/testsuite.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/Makefile.am dico-2.10/modules/outline/Makefile.am --- dico-2.9/modules/outline/Makefile.am 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/Makefile.in dico-2.10/modules/outline/Makefile.in --- dico-2.9/modules/outline/Makefile.in 2019-04-24 06:44:00.000000000 +0000 +++ dico-2.10/modules/outline/Makefile.in 2020-09-04 04:04:57.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -345,7 +345,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -680,6 +679,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -993,9 +993,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/outline/outline.c dico-2.10/modules/outline/outline.c --- dico-2.9/modules/outline/outline.c 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/outline.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/atlocal.in dico-2.10/modules/outline/tests/atlocal.in --- dico-2.9/modules/outline/tests/atlocal.in 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/atlocal.in 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # @configure_input@ -*- shell-script -*- # Configurable variable values for Dico test suite. -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff PATH=@abs_builddir@:@abs_top_builddir@/dicod:$top_srcdir:$srcdir:$PATH diff -Nru dico-2.9/modules/outline/tests/define.at dico-2.10/modules/outline/tests/define.at --- dico-2.9/modules/outline/tests/define.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/define.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/dlev.at dico-2.10/modules/outline/tests/dlev.at --- dico-2.9/modules/outline/tests/dlev.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/dlev.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/dnlev.at dico-2.10/modules/outline/tests/dnlev.at --- dico-2.9/modules/outline/tests/dnlev.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/dnlev.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/exact.at dico-2.10/modules/outline/tests/exact.at --- dico-2.9/modules/outline/tests/exact.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/exact.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/lev.at dico-2.10/modules/outline/tests/lev.at --- dico-2.9/modules/outline/tests/lev.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/lev.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/Makefile.am dico-2.10/modules/outline/tests/Makefile.am --- dico-2.9/modules/outline/tests/Makefile.am 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/Makefile.in dico-2.10/modules/outline/tests/Makefile.in --- dico-2.9/modules/outline/tests/Makefile.in 2019-04-24 06:44:01.000000000 +0000 +++ dico-2.10/modules/outline/tests/Makefile.in 2020-09-04 04:04:57.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -227,7 +227,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -562,6 +561,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -875,9 +875,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/outline/tests/mime.at dico-2.10/modules/outline/tests/mime.at --- dico-2.9/modules/outline/tests/mime.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/mime.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/nlev.at dico-2.10/modules/outline/tests/nlev.at --- dico-2.9/modules/outline/tests/nlev.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/nlev.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/package.m4 dico-2.10/modules/outline/tests/package.m4 --- dico-2.9/modules/outline/tests/package.m4 2019-04-24 06:45:03.000000000 +0000 +++ dico-2.10/modules/outline/tests/package.m4 2020-09-04 04:06:39.000000000 +0000 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [GNU dico]) m4_define([AT_PACKAGE_TARNAME], [dico]) -m4_define([AT_PACKAGE_VERSION], [2.9]) -m4_define([AT_PACKAGE_STRING], [GNU dico 2.9]) +m4_define([AT_PACKAGE_VERSION], [2.10]) +m4_define([AT_PACKAGE_STRING], [GNU dico 2.10]) m4_define([AT_PACKAGE_BUGREPORT], [bug-dico@gnu.org]) diff -Nru dico-2.9/modules/outline/tests/prefix.at dico-2.10/modules/outline/tests/prefix.at --- dico-2.9/modules/outline/tests/prefix.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/prefix.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/re.at dico-2.10/modules/outline/tests/re.at --- dico-2.9/modules/outline/tests/re.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/re.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/regexp.at dico-2.10/modules/outline/tests/regexp.at --- dico-2.9/modules/outline/tests/regexp.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/regexp.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/showdb.at dico-2.10/modules/outline/tests/showdb.at --- dico-2.9/modules/outline/tests/showdb.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/showdb.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/showinfo.at dico-2.10/modules/outline/tests/showinfo.at --- dico-2.9/modules/outline/tests/showinfo.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/showinfo.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/showlang.at dico-2.10/modules/outline/tests/showlang.at --- dico-2.9/modules/outline/tests/showlang.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/showlang.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/soundex.at dico-2.10/modules/outline/tests/soundex.at --- dico-2.9/modules/outline/tests/soundex.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/soundex.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/suffix.at dico-2.10/modules/outline/tests/suffix.at --- dico-2.9/modules/outline/tests/suffix.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/suffix.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/outline/tests/testsuite dico-2.10/modules/outline/tests/testsuite --- dico-2.9/modules/outline/tests/testsuite 2019-04-24 06:45:03.000000000 +0000 +++ dico-2.10/modules/outline/tests/testsuite 2020-09-04 04:06:39.000000000 +0000 @@ -917,7 +917,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -GNU dico 2.9 test suite test groups: +GNU dico 2.10 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -958,7 +958,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (GNU dico 2.9)" && + $as_echo "$as_me (GNU dico 2.10)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1143,13 +1143,13 @@ exec 5>>"$at_suite_log" # Banners and logs. -$as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" +$as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" { - $as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" + $as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" echo $as_echo "$as_me: command line was:" @@ -1992,7 +1992,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [GNU dico 2.9] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [GNU dico 2.10] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may diff -Nru dico-2.9/modules/outline/tests/testsuite.at dico-2.10/modules/outline/tests/testsuite.at --- dico-2.9/modules/outline/tests/testsuite.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/outline/tests/testsuite.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/pam/Makefile.am dico-2.10/modules/pam/Makefile.am --- dico-2.9/modules/pam/Makefile.am 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/pam/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/pam/Makefile.in dico-2.10/modules/pam/Makefile.in --- dico-2.9/modules/pam/Makefile.in 2019-04-24 06:44:01.000000000 +0000 +++ dico-2.10/modules/pam/Makefile.in 2020-09-04 04:04:57.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -303,7 +303,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -638,6 +637,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -951,9 +951,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/pam/module.ac dico-2.10/modules/pam/module.ac --- dico-2.9/modules/pam/module.ac 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/pam/module.ac 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ ## This file is part of GNU Dico -## Copyright (C) 2014-2019 Sergey Poznyakoff +## Copyright (C) 2014-2020 Sergey Poznyakoff ## ## GNU Dico is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/pam/pam.c dico-2.10/modules/pam/pam.c --- dico-2.9/modules/pam/pam.c 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/pam/pam.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/pcre/Makefile.am dico-2.10/modules/pcre/Makefile.am --- dico-2.9/modules/pcre/Makefile.am 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/pcre/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 2010-2019 Sergey Poznyakoff +# Copyright (C) 2010-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/pcre/Makefile.in dico-2.10/modules/pcre/Makefile.in --- dico-2.9/modules/pcre/Makefile.in 2019-04-24 06:44:01.000000000 +0000 +++ dico-2.10/modules/pcre/Makefile.in 2020-09-04 04:04:57.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 2010-2019 Sergey Poznyakoff +# Copyright (C) 2010-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -303,7 +303,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -638,6 +637,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -951,9 +951,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/pcre/module.ac dico-2.10/modules/pcre/module.ac --- dico-2.9/modules/pcre/module.ac 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/pcre/module.ac 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ ## This file is part of GNU Dico -## Copyright (C) 2014-2019 Sergey Poznyakoff +## Copyright (C) 2014-2020 Sergey Poznyakoff ## ## GNU Dico is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/pcre/pcre.c dico-2.10/modules/pcre/pcre.c --- dico-2.9/modules/pcre/pcre.c 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/pcre/pcre.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/python/Makefile.in dico-2.10/modules/python/Makefile.in --- dico-2.9/modules/python/Makefile.in 2019-04-24 06:44:01.000000000 +0000 +++ dico-2.10/modules/python/Makefile.in 2020-09-04 04:04:57.000000000 +0000 @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -347,7 +347,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -682,6 +681,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -995,9 +995,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/python/module.ac dico-2.10/modules/python/module.ac --- dico-2.9/modules/python/module.ac 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/python/module.ac 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ ## This file is part of GNU Dico -## Copyright (C) 2014-2019 Sergey Poznyakoff +## Copyright (C) 2014-2020 Sergey Poznyakoff ## ## GNU Dico is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/python/python2.c dico-2.10/modules/python/python2.c --- dico-2.9/modules/python/python2.c 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/python/python2.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,6 +1,6 @@ /* This file is part of GNU Dico. Copyright (C) 2008, 2012 Wojciech Polak - Copyright (C) 2019 Sergey Poznyakoff + Copyright (C) 2019-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/python/python.c dico-2.10/modules/python/python.c --- dico-2.9/modules/python/python.c 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/python/python.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,6 +1,6 @@ /* This file is part of GNU Dico. Copyright (C) 2008, 2012 Wojciech Polak - Copyright (C) 2019 Sergey Poznyakoff + Copyright (C) 2019-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/python/tests/atlocal.in dico-2.10/modules/python/tests/atlocal.in --- dico-2.9/modules/python/tests/atlocal.in 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/python/tests/atlocal.in 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # @configure_input@ -*- shell-script -*- # Configurable variable values for Dico test suite. -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff PATH=@abs_builddir@:@abs_top_builddir@/dicod:$top_srcdir:$srcdir:$PATH diff -Nru dico-2.9/modules/python/tests/define.at dico-2.10/modules/python/tests/define.at --- dico-2.9/modules/python/tests/define.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/python/tests/define.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/python/tests/exact.at dico-2.10/modules/python/tests/exact.at --- dico-2.9/modules/python/tests/exact.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/python/tests/exact.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/python/tests/lev.at dico-2.10/modules/python/tests/lev.at --- dico-2.9/modules/python/tests/lev.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/python/tests/lev.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/python/tests/Makefile.am dico-2.10/modules/python/tests/Makefile.am --- dico-2.9/modules/python/tests/Makefile.am 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/python/tests/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/python/tests/Makefile.in dico-2.10/modules/python/tests/Makefile.in --- dico-2.9/modules/python/tests/Makefile.in 2019-04-24 06:44:01.000000000 +0000 +++ dico-2.10/modules/python/tests/Makefile.in 2020-09-04 04:04:57.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -227,7 +227,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -562,6 +561,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -875,9 +875,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/python/tests/mime.at dico-2.10/modules/python/tests/mime.at --- dico-2.9/modules/python/tests/mime.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/python/tests/mime.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/python/tests/package.m4 dico-2.10/modules/python/tests/package.m4 --- dico-2.9/modules/python/tests/package.m4 2019-04-24 06:45:03.000000000 +0000 +++ dico-2.10/modules/python/tests/package.m4 2020-09-04 04:06:40.000000000 +0000 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [GNU dico]) m4_define([AT_PACKAGE_TARNAME], [dico]) -m4_define([AT_PACKAGE_VERSION], [2.9]) -m4_define([AT_PACKAGE_STRING], [GNU dico 2.9]) +m4_define([AT_PACKAGE_VERSION], [2.10]) +m4_define([AT_PACKAGE_STRING], [GNU dico 2.10]) m4_define([AT_PACKAGE_BUGREPORT], [bug-dico@gnu.org]) diff -Nru dico-2.9/modules/python/tests/prefix.at dico-2.10/modules/python/tests/prefix.at --- dico-2.9/modules/python/tests/prefix.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/python/tests/prefix.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/python/tests/showdb.at dico-2.10/modules/python/tests/showdb.at --- dico-2.9/modules/python/tests/showdb.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/python/tests/showdb.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/python/tests/showinfo.at dico-2.10/modules/python/tests/showinfo.at --- dico-2.9/modules/python/tests/showinfo.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/python/tests/showinfo.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/python/tests/showlang.at dico-2.10/modules/python/tests/showlang.at --- dico-2.9/modules/python/tests/showlang.at 2019-02-22 10:00:11.000000000 +0000 +++ dico-2.10/modules/python/tests/showlang.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/python/tests/testsuite dico-2.10/modules/python/tests/testsuite --- dico-2.9/modules/python/tests/testsuite 2019-04-24 06:45:03.000000000 +0000 +++ dico-2.10/modules/python/tests/testsuite 2020-09-04 04:06:40.000000000 +0000 @@ -910,7 +910,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -GNU dico 2.9 test suite test groups: +GNU dico 2.10 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -951,7 +951,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (GNU dico 2.9)" && + $as_echo "$as_me (GNU dico 2.10)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1136,13 +1136,13 @@ exec 5>>"$at_suite_log" # Banners and logs. -$as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" +$as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" { - $as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" + $as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" echo $as_echo "$as_me: command line was:" @@ -1985,7 +1985,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [GNU dico 2.9] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [GNU dico 2.10] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may diff -Nru dico-2.9/modules/python/tests/testsuite.at dico-2.10/modules/python/tests/testsuite.at --- dico-2.9/modules/python/tests/testsuite.at 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/python/tests/testsuite.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/stratall/Makefile.am dico-2.10/modules/stratall/Makefile.am --- dico-2.9/modules/stratall/Makefile.am 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/stratall/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/stratall/Makefile.in dico-2.10/modules/stratall/Makefile.in --- dico-2.9/modules/stratall/Makefile.in 2019-04-24 06:44:01.000000000 +0000 +++ dico-2.10/modules/stratall/Makefile.in 2020-09-04 04:04:57.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -345,7 +345,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -680,6 +679,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -993,9 +993,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/stratall/stratall.c dico-2.10/modules/stratall/stratall.c --- dico-2.9/modules/stratall/stratall.c 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/stratall/stratall.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/stratall/tests/atlocal.in dico-2.10/modules/stratall/tests/atlocal.in --- dico-2.9/modules/stratall/tests/atlocal.in 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/stratall/tests/atlocal.in 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # @configure_input@ -*- shell-script -*- # Configurable variable values for Dico test suite. -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff PATH=@abs_builddir@:@abs_top_builddir@/dicod:$top_srcdir:$srcdir:$PATH diff -Nru dico-2.9/modules/stratall/tests/Makefile.am dico-2.10/modules/stratall/tests/Makefile.am --- dico-2.9/modules/stratall/tests/Makefile.am 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/stratall/tests/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/stratall/tests/Makefile.in dico-2.10/modules/stratall/tests/Makefile.in --- dico-2.9/modules/stratall/tests/Makefile.in 2019-04-24 06:44:02.000000000 +0000 +++ dico-2.10/modules/stratall/tests/Makefile.in 2020-09-04 04:04:57.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -227,7 +227,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -562,6 +561,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -875,9 +875,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/stratall/tests/package.m4 dico-2.10/modules/stratall/tests/package.m4 --- dico-2.9/modules/stratall/tests/package.m4 2019-04-24 06:45:03.000000000 +0000 +++ dico-2.10/modules/stratall/tests/package.m4 2020-09-04 04:06:40.000000000 +0000 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [GNU dico]) m4_define([AT_PACKAGE_TARNAME], [dico]) -m4_define([AT_PACKAGE_VERSION], [2.9]) -m4_define([AT_PACKAGE_STRING], [GNU dico 2.9]) +m4_define([AT_PACKAGE_VERSION], [2.10]) +m4_define([AT_PACKAGE_STRING], [GNU dico 2.10]) m4_define([AT_PACKAGE_BUGREPORT], [bug-dico@gnu.org]) diff -Nru dico-2.9/modules/stratall/tests/testsuite dico-2.10/modules/stratall/tests/testsuite --- dico-2.9/modules/stratall/tests/testsuite 2019-04-24 06:45:04.000000000 +0000 +++ dico-2.10/modules/stratall/tests/testsuite 2020-09-04 04:06:40.000000000 +0000 @@ -903,7 +903,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -GNU dico 2.9 test suite test groups: +GNU dico 2.10 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -944,7 +944,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (GNU dico 2.9)" && + $as_echo "$as_me (GNU dico 2.10)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1120,13 +1120,13 @@ exec 5>>"$at_suite_log" # Banners and logs. -$as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" +$as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" { - $as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" + $as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" echo $as_echo "$as_me: command line was:" @@ -1969,7 +1969,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [GNU dico 2.9] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [GNU dico 2.10] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may diff -Nru dico-2.9/modules/stratall/tests/testsuite.at dico-2.10/modules/stratall/tests/testsuite.at --- dico-2.9/modules/stratall/tests/testsuite.at 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/stratall/tests/testsuite.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/stub.am dico-2.10/modules/stub.am --- dico-2.9/modules/stub.am 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/stub.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,6 +1,6 @@ # # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/substr/Makefile.am dico-2.10/modules/substr/Makefile.am --- dico-2.9/modules/substr/Makefile.am 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/substr/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/substr/Makefile.in dico-2.10/modules/substr/Makefile.in --- dico-2.9/modules/substr/Makefile.in 2019-04-24 06:44:02.000000000 +0000 +++ dico-2.10/modules/substr/Makefile.in 2020-09-04 04:04:57.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -345,7 +345,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -680,6 +679,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -993,9 +993,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/substr/substr.c dico-2.10/modules/substr/substr.c --- dico-2.9/modules/substr/substr.c 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/substr/substr.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/substr/tests/atlocal.in dico-2.10/modules/substr/tests/atlocal.in --- dico-2.9/modules/substr/tests/atlocal.in 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/substr/tests/atlocal.in 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # @configure_input@ -*- shell-script -*- # Configurable variable values for Dico test suite. -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff PATH=@abs_builddir@:@abs_top_builddir@/dicod:$top_srcdir:$srcdir:$PATH diff -Nru dico-2.9/modules/substr/tests/Makefile.am dico-2.10/modules/substr/tests/Makefile.am --- dico-2.9/modules/substr/tests/Makefile.am 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/substr/tests/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/substr/tests/Makefile.in dico-2.10/modules/substr/tests/Makefile.in --- dico-2.9/modules/substr/tests/Makefile.in 2019-04-24 06:44:02.000000000 +0000 +++ dico-2.10/modules/substr/tests/Makefile.in 2020-09-04 04:04:57.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -227,7 +227,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -562,6 +561,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -875,9 +875,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/substr/tests/package.m4 dico-2.10/modules/substr/tests/package.m4 --- dico-2.9/modules/substr/tests/package.m4 2019-04-24 06:45:04.000000000 +0000 +++ dico-2.10/modules/substr/tests/package.m4 2020-09-04 04:06:40.000000000 +0000 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [GNU dico]) m4_define([AT_PACKAGE_TARNAME], [dico]) -m4_define([AT_PACKAGE_VERSION], [2.9]) -m4_define([AT_PACKAGE_STRING], [GNU dico 2.9]) +m4_define([AT_PACKAGE_VERSION], [2.10]) +m4_define([AT_PACKAGE_STRING], [GNU dico 2.10]) m4_define([AT_PACKAGE_BUGREPORT], [bug-dico@gnu.org]) diff -Nru dico-2.9/modules/substr/tests/testsuite dico-2.10/modules/substr/tests/testsuite --- dico-2.9/modules/substr/tests/testsuite 2019-04-24 06:45:04.000000000 +0000 +++ dico-2.10/modules/substr/tests/testsuite 2020-09-04 04:06:41.000000000 +0000 @@ -903,7 +903,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -GNU dico 2.9 test suite test groups: +GNU dico 2.10 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -944,7 +944,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (GNU dico 2.9)" && + $as_echo "$as_me (GNU dico 2.10)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1120,13 +1120,13 @@ exec 5>>"$at_suite_log" # Banners and logs. -$as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" +$as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" { - $as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" + $as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" echo $as_echo "$as_me: command line was:" @@ -1969,7 +1969,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [GNU dico 2.9] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [GNU dico 2.10] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may diff -Nru dico-2.9/modules/substr/tests/testsuite.at dico-2.10/modules/substr/tests/testsuite.at --- dico-2.9/modules/substr/tests/testsuite.at 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/substr/tests/testsuite.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/template/Makefile.am dico-2.10/modules/template/Makefile.am --- dico-2.9/modules/template/Makefile.am 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/template/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 2014-2019 Sergey Poznyakoff +# Copyright (C) 2014-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/template/module.c dico-2.10/modules/template/module.c --- dico-2.9/modules/template/module.c 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/template/module.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/template/tests/atlocal.in dico-2.10/modules/template/tests/atlocal.in --- dico-2.9/modules/template/tests/atlocal.in 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/template/tests/atlocal.in 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # @configure_input@ -*- shell-script -*- # Configurable variable values for Dico test suite. -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff PATH=@abs_builddir@:@abs_top_builddir@/dicod:$top_srcdir:$srcdir:$PATH diff -Nru dico-2.9/modules/template/tests/Makefile.am dico-2.10/modules/template/tests/Makefile.am --- dico-2.9/modules/template/tests/Makefile.am 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/template/tests/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/template/tests/testsuite.at dico-2.10/modules/template/tests/testsuite.at --- dico-2.9/modules/template/tests/testsuite.at 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/template/tests/testsuite.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2016-2019 Sergey Poznyakoff +# Copyright (C) 2016-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/template.scm dico-2.10/modules/template.scm --- dico-2.9/modules/template.scm 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/template.scm 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ ;;;; This file is part of GNU Dico. -;;;; Copyright (C) 2008-2019 Sergey Poznyakoff +;;;; Copyright (C) 2008-2020 Sergey Poznyakoff ;;;; ;;;; GNU Dico is free software; you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/word/Makefile.am dico-2.10/modules/word/Makefile.am --- dico-2.9/modules/word/Makefile.am 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/word/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 2010-2019 Sergey Poznyakoff +# Copyright (C) 2010-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/word/Makefile.in dico-2.10/modules/word/Makefile.in --- dico-2.9/modules/word/Makefile.in 2019-04-24 06:44:02.000000000 +0000 +++ dico-2.10/modules/word/Makefile.in 2020-09-04 04:04:58.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 2010-2019 Sergey Poznyakoff +# Copyright (C) 2010-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -345,7 +345,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -680,6 +679,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -993,9 +993,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/word/tests/atlocal.in dico-2.10/modules/word/tests/atlocal.in --- dico-2.9/modules/word/tests/atlocal.in 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/word/tests/atlocal.in 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # @configure_input@ -*- shell-script -*- # Configurable variable values for Dico test suite. -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff PATH=@abs_builddir@:@abs_top_builddir@/dicod:$top_srcdir:$srcdir:$PATH diff -Nru dico-2.9/modules/word/tests/first.at dico-2.10/modules/word/tests/first.at --- dico-2.9/modules/word/tests/first.at 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/word/tests/first.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/word/tests/last.at dico-2.10/modules/word/tests/last.at --- dico-2.9/modules/word/tests/last.at 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/word/tests/last.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/word/tests/Makefile.am dico-2.10/modules/word/tests/Makefile.am --- dico-2.9/modules/word/tests/Makefile.am 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/word/tests/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/word/tests/Makefile.in dico-2.10/modules/word/tests/Makefile.in --- dico-2.9/modules/word/tests/Makefile.in 2019-04-24 06:44:02.000000000 +0000 +++ dico-2.10/modules/word/tests/Makefile.in 2020-09-04 04:04:58.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -227,7 +227,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -562,6 +561,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -875,9 +875,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/word/tests/package.m4 dico-2.10/modules/word/tests/package.m4 --- dico-2.9/modules/word/tests/package.m4 2019-04-24 06:45:04.000000000 +0000 +++ dico-2.10/modules/word/tests/package.m4 2020-09-04 04:06:41.000000000 +0000 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define([AT_PACKAGE_NAME], [GNU dico]) m4_define([AT_PACKAGE_TARNAME], [dico]) -m4_define([AT_PACKAGE_VERSION], [2.9]) -m4_define([AT_PACKAGE_STRING], [GNU dico 2.9]) +m4_define([AT_PACKAGE_VERSION], [2.10]) +m4_define([AT_PACKAGE_STRING], [GNU dico 2.10]) m4_define([AT_PACKAGE_BUGREPORT], [bug-dico@gnu.org]) diff -Nru dico-2.9/modules/word/tests/testsuite dico-2.10/modules/word/tests/testsuite --- dico-2.9/modules/word/tests/testsuite 2019-04-24 06:45:04.000000000 +0000 +++ dico-2.10/modules/word/tests/testsuite 2020-09-04 04:06:41.000000000 +0000 @@ -905,7 +905,7 @@ # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -GNU dico 2.9 test suite test groups: +GNU dico 2.10 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -946,7 +946,7 @@ exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (GNU dico 2.9)" && + $as_echo "$as_me (GNU dico 2.10)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1122,13 +1122,13 @@ exec 5>>"$at_suite_log" # Banners and logs. -$as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" +$as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" { - $as_echo "## ------------------------ ## -## GNU dico 2.9 test suite. ## -## ------------------------ ##" + $as_echo "## ------------------------- ## +## GNU dico 2.10 test suite. ## +## ------------------------- ##" echo $as_echo "$as_me: command line was:" @@ -1971,7 +1971,7 @@ $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [GNU dico 2.9] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [GNU dico 2.10] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may diff -Nru dico-2.9/modules/word/tests/testsuite.at dico-2.10/modules/word/tests/testsuite.at --- dico-2.9/modules/word/tests/testsuite.at 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/word/tests/testsuite.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/word/tests/word.at dico-2.10/modules/word/tests/word.at --- dico-2.9/modules/word/tests/word.at 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/word/tests/word.at 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico. -*- Autotest -*- -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/word/word.c dico-2.10/modules/word/word.c --- dico-2.9/modules/word/word.c 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/word/word.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2010-2019 Sergey Poznyakoff + Copyright (C) 2010-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/wordnet/Makefile.am dico-2.10/modules/wordnet/Makefile.am --- dico-2.9/modules/wordnet/Makefile.am 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/wordnet/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/wordnet/Makefile.in dico-2.10/modules/wordnet/Makefile.in --- dico-2.9/modules/wordnet/Makefile.in 2019-04-24 06:44:02.000000000 +0000 +++ dico-2.10/modules/wordnet/Makefile.in 2020-09-04 04:04:58.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -303,7 +303,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -638,6 +637,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -951,9 +951,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/modules/wordnet/module.ac dico-2.10/modules/wordnet/module.ac --- dico-2.9/modules/wordnet/module.ac 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/wordnet/module.ac 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ ## This file is part of GNU Dico -## Copyright (C) 2014-2019 Sergey Poznyakoff +## Copyright (C) 2014-2020 Sergey Poznyakoff ## ## GNU Dico is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/modules/wordnet/wordnet.c dico-2.10/modules/wordnet/wordnet.c --- dico-2.9/modules/wordnet/wordnet.c 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/modules/wordnet/wordnet.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2012-2019 Sergey Poznyakoff + Copyright (C) 2012-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/NEWS dico-2.10/NEWS --- dico-2.9/NEWS 2019-04-24 06:42:12.000000000 +0000 +++ dico-2.10/NEWS 2020-09-04 04:04:13.000000000 +0000 @@ -1,8 +1,14 @@ -GNU Dico NEWS -- history of user-visible changes. 2019-04-24 +GNU Dico NEWS -- history of user-visible changes. 2020-09-04 See the end of file for copying conditions. Please send Dico bug reports to +Version 2.10, 2020-09-04 + +* Fix compilation with gcc 10 + +* Restore po files + Version 2.9, 2019-04-24 * New configuration variable DEFAULT_PIDFILE_NAME @@ -257,7 +263,7 @@ ========================================================================= Copyright information: -Copyright (C) 2008-2019 Sergey Poznyakoff +Copyright (C) 2008-2020 Sergey Poznyakoff Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the Binary files /tmp/tmpzBUTb6/GFUWpBukhc/dico-2.9/po/da.gmo and /tmp/tmpzBUTb6/cwmgEPIKlI/dico-2.10/po/da.gmo differ diff -Nru dico-2.9/po/da.po dico-2.10/po/da.po --- dico-2.9/po/da.po 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/po/da.po 2020-09-04 04:06:48.000000000 +0000 @@ -0,0 +1,2983 @@ +# Danish translation dico. +# Copyright (C) 2019 Free Software Foundation, Inc. +# This file is distributed under the same license as the dico package. +# Joe Hansen , 2015, 2016, 2018, 2019. +# +# transcript -> transskription +msgid "" +msgstr "" +"Project-Id-Version: dico 2.7\n" +"Report-Msgid-Bugs-To: bug-dico@gnu.org\n" +"POT-Creation-Date: 2020-09-04 07:06+0300\n" +"PO-Revision-Date: 2019-01-12 21:00+0200\n" +"Last-Translator: Joe Hansen \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: xdico/userprivs.c:40 +msgid "Refusing to run as root" +msgstr "Nægter at køre som root" + +#: xdico/userprivs.c:58 +#, c-format +msgid "setgroups(1, %lu) failed" +msgstr "setgroups(1, %lu) mislykkedes" + +#: xdico/userprivs.c:69 +#, c-format +msgid "setegid(%lu) failed" +msgstr "setegid(%lu) mislykkedes" + +#: xdico/userprivs.c:73 +#, c-format +msgid "setregid(%lu,%lu) failed" +msgstr "setregid(%lu,%lu) mislykkedes" + +#: xdico/userprivs.c:77 +#, c-format +msgid "setresgid(%lu,%lu,%lu) failed" +msgstr "setresgid(%lu,%lu,%lu) mislykkedes" + +#: xdico/userprivs.c:85 +#, c-format +msgid "setgid(%lu) failed" +msgstr "setgid(%lu) mislykkedes" + +#: xdico/userprivs.c:88 +#, c-format +msgid "Cannot set effective gid to %lu" +msgstr "Kan ikke angive effektiv gid til %lu" + +#: xdico/userprivs.c:106 +#, c-format +msgid "setreuid(%lu,-1) failed" +msgstr "setreuid(%lu,-1) mislykkedes" + +#: xdico/userprivs.c:111 +#, c-format +msgid "second setuid(%lu) failed" +msgstr "second setuid(%lu) mislykkedes" + +#: xdico/userprivs.c:118 +#, c-format +msgid "setuid(%lu) failed" +msgstr "setuid(%lu) mislykkedes" + +#: xdico/userprivs.c:126 +msgid "seteuid(0) succeeded when it should not" +msgstr "seteuid(0) lykkedes hvor den ikke skulle" + +#: xdico/userprivs.c:129 +msgid "Cannot drop non-root setuid privileges" +msgstr "Kan ikke droppe ikke-root setuid-privilegier" + +#: xdico/xstream.c:41 +msgid "not enough memory while formatting reply message" +msgstr "ikke nok hukommelse under formatering af svarbesked" + +#. TRANSLATORS: +#. Get translations for open and closing quotation marks. +#. The message catalog should translate "`" to a left +#. quotation mark suitable for the locale, and similarly for +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. +#. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. +#. +#. If you don't know what to put here, please see +#. +#. and use glyphs suitable for your language. +#: xdico/gnu/quotearg.c:362 +msgid "`" +msgstr "»" + +#: xdico/gnu/quotearg.c:363 +msgid "'" +msgstr "«" + +#: xdico/gnu/obstack.c:338 xdico/gnu/obstack.c:340 +#: grecs/wordsplit/wordsplit.c:76 grecs/wordsplit/wordsplit.c:2851 +msgid "memory exhausted" +msgstr "hukommelsen er opbrugt" + +#: xdico/gnu/getopt.c:278 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous\n" +msgstr "%s: tilvalget »-W %s« er tvetydigt\n" + +#: xdico/gnu/getopt.c:284 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous; possibilities:" +msgstr "%s: tilvalget »%s« er tvetydigt; muligheder:" + +#: xdico/gnu/getopt.c:319 +#, fuzzy, c-format +msgid "%s: unrecognized option '%s%s'\n" +msgstr "%s: ikke genkendt tilvalg »%c%s«\n" + +#: xdico/gnu/getopt.c:345 +#, fuzzy, c-format +msgid "%s: option '%s%s' doesn't allow an argument\n" +msgstr "%s: tilvalget »%c%s« tillader ikke et argument\n" + +#: xdico/gnu/getopt.c:360 +#, fuzzy, c-format +msgid "%s: option '%s%s' requires an argument\n" +msgstr "%s: tilvalget »--%s« kræver et argument\n" + +#: xdico/gnu/getopt.c:621 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: ugyldigt tilvalg -- »%c«\n" + +#: xdico/gnu/getopt.c:636 xdico/gnu/getopt.c:682 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: tilvalget kræver et argument -- »%c«\n" + +#: lib/parseopt.c:116 +#, c-format +msgid "%s: %s: unknown option" +msgstr "%s: %s: ukendt tilvalg" + +#: lib/parseopt.c:127 +#, c-format +msgid "%s: %s: %s is not a valid number" +msgstr "%s: %s: %s er ikke et gyldigt nummer" + +#: lib/parseopt.c:168 +#, c-format +msgid "%s: %s: invalid value %s" +msgstr "%s: %s: ugyldig værdi %s" + +#: lib/iostr.c:91 +msgid "No error" +msgstr "Ingen fejl" + +#: dico/shell.c:34 +msgid "WORD" +msgstr "ORD" + +#: dico/shell.c:34 +msgid "Define WORD." +msgstr "Definer ORD." + +#: dico/shell.c:35 +msgid "/WORD" +msgstr "/ORD" + +#: dico/shell.c:35 +msgid "Match WORD." +msgstr "Match ORD." + +#: dico/shell.c:36 +msgid "Redisplay previous matches." +msgstr "Genvis forrige match." + +#: dico/shell.c:37 cmdline.opt:131 +msgid "NUMBER" +msgstr "NUMMER" + +#: dico/shell.c:37 +msgid "Define NUMBERth match." +msgstr "Definer NUMMEReret match." + +#: dico/shell.c:39 +msgid "Edit NUMBERth previous command." +msgstr "Rediger NUMMEReret forrige kommando." + +#: dico/shell.c:45 +msgid "[HOST [PORT]]" +msgstr "[VÆRT [PORT]]" + +#: dico/shell.c:46 +msgid "Connect to a DICT server." +msgstr "Forbind til en DICT-server." + +#: dico/shell.c:50 +msgid "Close the connection." +msgstr "Luk forbindelsen." + +#: dico/shell.c:53 dico/shell.c:57 +msgid "[NAME]" +msgstr "[NAVN]" + +#: dico/shell.c:54 +msgid "Set or display current database name." +msgstr "Angiv eller vis nuværende databasenavn." + +#: dico/shell.c:58 +msgid "Set or display current strategy." +msgstr "Angiv eller vis nuværende strategi." + +#: dico/shell.c:61 +msgid "[NUM]" +msgstr "[NUM]" + +#: dico/shell.c:62 +msgid "Set or query Levenshtein distance (server-dependent)." +msgstr "Angiv eller forespørg Levenshtein-afstand (serverafhængig)." + +#: dico/shell.c:66 +msgid "List available matching strategies" +msgstr "Vis tilgængelige matchende strategier" + +#: dico/shell.c:70 +msgid "List all accessible databases" +msgstr "Vis alle tilgængelige databaser" + +#: dico/shell.c:73 +msgid "[DB]" +msgstr "[DB]" + +#: dico/shell.c:74 +msgid "Display the information about the database." +msgstr "Vis informationen om databasen." + +#: dico/shell.c:77 +msgid "[CHAR]" +msgstr "[TEGN]" + +#: dico/shell.c:78 +msgid "Set or display command prefix." +msgstr "Angiv eller vis kommandopræfiks." + +#: dico/shell.c:81 dico/shell.c:101 +msgid "[BOOL]" +msgstr "[BOOL]" + +#: dico/shell.c:82 +msgid "Set or display session transcript mode." +msgstr "Angiv eller vis transskriptionstilstand for session." + +#: dico/shell.c:85 +msgid "[NUMBER]" +msgstr "[NUMMER]" + +#: dico/shell.c:86 +msgid "Set or display verbosity level." +msgstr "Angiv eller vis uddybningsniveau." + +#: dico/shell.c:89 dico/shell.c:93 cmdline.opt:158 cmdline.opt:170 +msgid "STRING" +msgstr "STRENG" + +#: dico/shell.c:90 +msgid "Change command line prompt." +msgstr "Ændr kommandolinjeprompt." + +#: dico/shell.c:94 +msgid "Change or display pager settings." +msgstr "Ændr eller vis indstillinger for tekstsøger." + +#: dico/shell.c:97 +msgid "[FILE]" +msgstr "[FIL]" + +#: dico/shell.c:98 +msgid "Set or display autologin file name." +msgstr "Angiv eller vis filnavn for automatisk logind." + +#: dico/shell.c:102 +msgid "Enable SASL authentication." +msgstr "Aktiver SASL-godkendelse." + +#: dico/shell.c:107 +msgid "Display command history." +msgstr "Vis kommandohistorik." + +#: dico/shell.c:112 +msgid "Display this help text." +msgstr "Vis denne hjælpetekst." + +#: dico/shell.c:116 +msgid "Print program version." +msgstr "Vis programversion." + +#: dico/shell.c:120 +msgid "Print copyright statement." +msgstr "Vis ophavsretserklæring." + +#: dico/shell.c:128 +msgid "Quit the shell." +msgstr "Afslut skallen." + +#: dico/shell.c:149 +#, c-format +msgid "Command prefix is %c\n" +msgstr "Kommandopræfiks er %c\n" + +#: dico/shell.c:151 +msgid "Expected a single punctuation character" +msgstr "Forventede et enkelt tegnsætningstegn" + +#: dico/shell.c:229 +msgid "warning: " +msgstr "advarsel: " + +#: dico/shell.c:342 +msgid "unknown command" +msgstr "ukendt kommando" + +#: dico/shell.c:352 +msgid "not enough arguments" +msgstr "ikke nok argumenter" + +#: dico/shell.c:355 dicod/main.c:170 dicod/main.c:232 dicod/main.c:584 +#: dicod/main.c:793 +msgid "too many arguments" +msgstr "for mange argumenter" + +#: dico/shell.c:398 +#, c-format +msgid "Cannot open init file %s" +msgstr "Kan ikke åbne init-fil %s" + +#: dico/connect.c:89 dico/connect.c:404 +msgid "No reply from server" +msgstr "Intet svar fra serveren" + +#: dico/connect.c:110 +msgid "Attempting APOP authentication\n" +msgstr "Forsøger APOP-godkendelse\n" + +#: dico/connect.c:117 dico/saslauth.c:338 +msgid "Not enough credentials for authentication" +msgstr "Ikke nok akkreditiver for godkendelse" + +#: dico/connect.c:121 dico/saslauth.c:343 +msgid "Skipping authentication\n" +msgstr "Udelader godkendelse\n" + +#: dico/connect.c:204 +msgid "Obtained authentication credentials from the command line\n" +msgstr "Indhentede godkendelsesakkreditiver fra kommandolinjen\n" + +#: dico/connect.c:211 +#, c-format +msgid "File %s does not exist" +msgstr "Filen %s findes ikke" + +#: dico/connect.c:228 +msgid "Password:" +msgstr "Adgangskode:" + +#: dico/connect.c:244 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot get stream transport" +msgstr "INTERN FEJL på %s:%d: kan ikke indhente strømtransport" + +#: dico/connect.c:252 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot set stream transport" +msgstr "INTERN FEJL på %s:%d: kan ikke angive strømtransport" + +#: dico/connect.c:303 +#, c-format +msgid "Connecting to %s\n" +msgstr "Forbinder til %s\n" + +#: dico/connect.c:311 +#, c-format +msgid "bad source address: %s" +msgstr "ugyldig kildeadresse: %s" + +#: dico/connect.c:326 +msgid "can't bind to the source address" +msgstr "kan ikke binde til kildeadressen" + +#: dico/connect.c:339 +#, c-format +msgid "%s: can't get address: %s" +msgstr "%s: kan ikke hente adresse: %s" + +#: dico/connect.c:347 grecs/src/tree.c:391 +#, c-format +msgid "%s: UNIX socket name too long" +msgstr "%s: UNIX-sokkelnavn er for langt" + +#: dico/connect.c:373 +msgid "cannot create dict socket" +msgstr "kan ikke oprette dict-sokkel" + +#: dico/connect.c:383 +#, c-format +msgid "%s: cannot connect" +msgstr "%s: kan ikke forbinde" + +#: dico/connect.c:394 +#, c-format +msgid "cannot create dict stream: %s" +msgstr "kan ikke oprette dict-strøm: %s" + +#: dico/connect.c:408 +msgid "Invalid reply from server" +msgstr "Ugyldigt svar fra serveren" + +#: dico/connect.c:413 +msgid "Sending client information\n" +msgstr "Sender klientinformation\n" + +#: dico/connect.c:418 +#, c-format +msgid "Unexpected reply to CLIENT command: `%s'" +msgstr "Uventet svar til CLIENT-kommandoen: »%s«" + +#: dico/connect.c:424 +msgid "Authentication failed" +msgstr "Godkendelse mislykkedes" + +#: dico/connect.c:497 +#, c-format +msgid "Sending query for word \"%s\" in database \"%s\"\n" +msgstr "Sender forespørgsel på ordet »%s« i databasen »%s«\n" + +#: dico/connect.c:508 +#, c-format +msgid "Reading %lu definition\n" +msgid_plural "Reading %lu definitions\n" +msgstr[0] "Læser %lu definition\n" +msgstr[1] "Læser %lu definitioner\n" + +#: dico/connect.c:515 +#, c-format +msgid "Unexpected reply in place of definition %lu" +msgstr "Uventet svar på stedet for definitionen %lu" + +#: dico/connect.c:538 +msgid "Setting Levenshtein threshold\n" +msgstr "Angiver Levenshtein-tærskel\n" + +#: dico/connect.c:544 +msgid "Server rejected XLEV command" +msgstr "Server afviste XLEV-kommando" + +#: dico/connect.c:545 +#, c-format +msgid "Server reply: %s" +msgstr "Serversvar: %s" + +#: dico/connect.c:548 +#, c-format +msgid "Sending query to match word \"%s\" in database \"%s\", using \"%s\"\n" +msgstr "" +"Sender forespørgsel til at mathce ordet »%s« i databasen »%s«, via »%s«\n" + +#: dico/connect.c:561 +#, c-format +msgid "Reading %lu match\n" +msgid_plural "Reading %lu matches\n" +msgstr[0] "Læser %lu match\n" +msgstr[1] "Læser %lu match\n" + +#: dico/connect.c:639 +msgid "Not enough data in the result" +msgstr "Ikke nok data i resultatet" + +#: dico/connect.c:706 +msgid "Freeing unlinked result" +msgstr "Frigiver ulænket resultat" + +#: dico/dico.c:80 +msgid "extra command line arguments ignored" +msgstr "ekstra argumenter for kommandolinjen blev ignoreret" + +#: dico/dico.c:88 +msgid "you should give a word to look for or an URL" +msgstr "du skal angive et ord eller en adresse" + +#: dico/dico.c:107 +msgid "Database name not specified" +msgstr "Databasenavnet var ikke angivet" + +#: dico/func.c:33 dicod/main.c:1120 +msgid "Expected boolean value" +msgstr "Forventede boolesk værdi" + +#: dico/func.c:67 +#, c-format +msgid "Cannot get listing: %s" +msgstr "Kan ikke indhente liste: %s" + +#: dico/func.c:104 dico/func.c:138 +msgid "Please specify server name or IP address" +msgstr "Angiv venligst servernavn eller IP-adresse" + +#: dico/func.c:109 +msgid "Cannot connect to the server" +msgstr "Kan ikke forbinde til serveren" + +#: dico/func.c:112 +msgid "Getting list of databases\n" +msgstr "Indhenter liste over databaser\n" + +#: dico/func.c:114 +msgid "Getting list of strategies\n" +msgstr "Indhenter liste over strategier\n" + +#: dico/func.c:116 +msgid "Finished getting server information\n" +msgstr "Blev færdig med at hente serverinformation\n" + +#: dico/func.c:150 +msgid "Nothing to close" +msgstr "Intet at lukke" + +#: dico/func.c:160 +msgid "No autologin file." +msgstr "Ingen fil for automatisk logind." + +#: dico/func.c:177 dico/func.c:268 +msgid "on" +msgstr "aktiveret" + +#: dico/func.c:177 dico/func.c:268 +msgid "off" +msgstr "deaktiveret" + +#: dico/func.c:258 dico/func.c:366 +msgid "invalid number" +msgstr "ugyldigt nummer" + +#: dico/func.c:268 +#, c-format +msgid "transcript is %s\n" +msgstr "transskription er %s\n" + +#: dico/func.c:309 dico/func.c:325 +msgid "No previous match" +msgstr "Ingen tidligere match" + +#: dico/func.c:329 +msgid "Invalid match number. Type / to see the matches." +msgstr "Ugyldigt matchnummer. Tast / for at se match." + +#: dico/func.c:344 +#, c-format +msgid "Server does not support XLEV extension" +msgstr "Serveren understøtter ikke XLEV-udvidelsen" + +# engelsk fejl? manglende mellemrum +#: dico/func.c:350 +#, c-format +msgid "Reported Levenshtein distance:%s\n" +msgstr "Rapporteret Levenshtein-afstand:%s\n" + +#: dico/func.c:353 +msgid "Cannot query Levenshtein distance. Server responded:" +msgstr "Kan ikke forespørge Levenshtein-afstand. Server svarede:" + +#: dico/func.c:358 +#, c-format +msgid "No distance configured\n" +msgstr "Ingen afstand konfigureret\n" + +#: dico/func.c:360 +#, c-format +msgid "Configured Levenshtein distance: %u\n" +msgstr "Konfigureret Levenshtein-afstand: %u\n" + +#: dico/func.c:395 +#, c-format +msgid "" +"Search all of the databases until a match is found,\n" +"and display all matches in that database.\n" +msgstr "" +"Søg i alle databaserne indtil et match er fundet,\n" +"og vis alle match i den database.\n" + +#: dico/func.c:398 +#, c-format +msgid "Search all of the databases and display all matches." +msgstr "Søg i alle databaserne og vis alle match." + +#: dico/autologin.c:151 +#, c-format +msgid "Found matching line %d\n" +msgstr "Fandt matchende linje %d\n" + +#: dico/autologin.c:160 +#, c-format +msgid "Found default line %d\n" +msgstr "Fandt standardlinje %d\n" + +#: dico/autologin.c:192 +#, c-format +msgid "Cannot open autologin file %s" +msgstr "Kan ikke åbne automatisk logindfil %s" + +#: dico/autologin.c:197 +#, c-format +msgid "Reading autologin file %s...\n" +msgstr "Læser automatisk logindfil %s ...\n" + +#: dico/autologin.c:218 +#, c-format +msgid "failed to parse command `%s': %s" +msgstr "kunne ikke fortolke komando »%s«: %s" + +#: dico/autologin.c:229 +#, c-format +msgid "failed to add line marker: %s" +msgstr "kunne ikke tilføje linjemarkør: %s" + +#: dico/autologin.c:251 +msgid "No matching line found\n" +msgstr "Ingen matchende linje blev fundet\n" + +#: dico/autologin.c:269 +#, c-format +msgid "%s:%d: unknown keyword" +msgstr "%s:%d: ukendt nøgleord" + +#: dico/autologin.c:277 +#, c-format +msgid "%s:%d: %s without argument" +msgstr "%s:%d: %s uden argument" + +#: dico/autologin.c:335 +#, c-format +msgid "%s:%d: failed to parse line: %s" +msgstr "%s:%d: kunne ikke fortolke linje: %s" + +#: cmdline.opt:29 +msgid "Server selection" +msgstr "Servervalg" + +#: cmdline.opt:45 +msgid "SERVER" +msgstr "SERVER" + +#: cmdline.opt:45 +msgid "connect to this server" +msgstr "forbind til denne server" + +#: cmdline.opt:51 +msgid "SERVICE" +msgstr "TJENESTE" + +#: cmdline.opt:51 +msgid "specify port to connect to" +msgstr "specificer port at forbinde til" + +#: cmdline.opt:57 cmdline.opt:77 cmdline.opt:151 cmdline.opt:164 +msgid "NAME" +msgstr "NAVN" + +#: cmdline.opt:57 +msgid "select a database to search" +msgstr "vælg en database at søge i" + +#: cmdline.opt:63 +msgid "ADDR" +msgstr "ADR" + +#: cmdline.opt:63 +msgid "set a source address for TCP connections" +msgstr "angiv en kildeadresse for TCP-forbindelser" + +#: cmdline.opt:55 +msgid "Operation modes" +msgstr "Operationstilstande" + +#: cmdline.opt:71 +msgid "match instead of define" +msgstr "match i stedet for at definere" + +#: cmdline.opt:77 +msgid "select a strategy for matching; implies --match" +msgstr "vælg en strategi for matchning; underforstået --match" + +#: cmdline.opt:85 +msgid "N" +msgstr "N" + +#: cmdline.opt:85 +msgid "set maximum Levenshtein distance" +msgstr "angiv maksimal Levenshtein-afstand" + +#: cmdline.opt:94 +msgid "show available databases" +msgstr "vis tilgængelige databaser" + +#: cmdline.opt:100 +msgid "show available search strategies" +msgstr "vis tilgængelige søgestrategier" + +#: cmdline.opt:106 +msgid "show server help" +msgstr "vis serverhjælp" + +#: cmdline.opt:112 +msgid "DBNAME" +msgstr "DBNAVN" + +#: cmdline.opt:112 +msgid "show information about database DBNAME" +msgstr "vis information om database DBNAVN" + +#: cmdline.opt:119 +msgid "show information about the server" +msgstr "vis information om serveren" + +#: cmdline.opt:125 +msgid "do not print the normal dico welcome" +msgstr "vis ikke den normale dico-velkomst" + +#: cmdline.opt:117 +msgid "Authentication" +msgstr "Godkendelse" + +#: cmdline.opt:133 +msgid "disable authentication" +msgstr "deaktiver godkendelse" + +#: cmdline.opt:139 +msgid "enable SASL authentication (default)" +msgstr "aktiver SASL-godkendelse (standard)" + +#: cmdline.opt:145 +msgid "disable SASL authentication" +msgstr "deaktiver SASL-godkendelse" + +#: cmdline.opt:151 +msgid "set user name for authentication" +msgstr "angiv brugernavn for godkendelse" + +#: cmdline.opt:158 +msgid "set shared secret for authentication" +msgstr "angiv delt hemmelighed for godkendelse" + +#: cmdline.opt:164 +msgid "set the name of autologin file to use" +msgstr "angiv navnet for den automatiske logindfil" + +#: cmdline.opt:170 +msgid "additional text for client command" +msgstr "yderligere tekst for klientkommando" + +#: cmdline.opt:162 cmdline.opt:103 +msgid "Debugging" +msgstr "Fejlsøgning" + +#: cmdline.opt:177 cmdline.opt:119 +msgid "enable session transcript" +msgstr "aktiver sessionstransskription" + +#: cmdline.opt:183 +msgid "increase debugging verbosity level" +msgstr "øg fejlsøgningens uddybningsniveau" + +#: cmdline.opt:189 +msgid "include time stamp in the debugging output" +msgstr "inkluder tidsstempel i fejlsøgningsresultatet" + +#: cmdline.opt:196 cmdline.opt:138 +msgid "include source line information in the debugging output" +msgstr "inkluder kildelinjeinformation i fejlsøgningsresultatet" + +#: cmdline.opt:188 +msgid "Other options" +msgstr "Andre tilvalg" + +#: cmdline.opt:200 +msgid "Give this help list" +msgstr "Vis denne hjælpeoversigt" + +#: cmdline.opt:200 +msgid "Give a short usage message" +msgstr "Vis en kort brugsbesked" + +#: cmdline.opt:200 +msgid "Print program version" +msgstr "Vis programversion" + +#: cmdline.opt:37 +msgid "GNU dictionary client program" +msgstr "GNU-ordbogsklientprogram" + +#: cmdline.opt:39 +msgid "[URL-or-WORD]" +msgstr "[Adresse-eller-ORD]" + +#: cmdline.opt:81 +#, c-format +msgid "%s: invalid number" +msgstr "%s: ugyldig nummer" + +#: cmdline.opt:230 +msgid "Type ? for help summary" +msgstr "Tast ? for et overblik over hjælp" + +#: dico/lookup.c:23 +msgid "No match" +msgstr "Intet match" + +#: dico/lookup.c:65 dico/lookup.c:175 +#, c-format +msgid "From %s, %s:\n" +msgstr "Fra %s, %s:\n" + +#: dico/lookup.c:137 +msgid "(no description available)" +msgstr "(ingen beskrivelse tilgængelig)" + +#: dico/lookup.c:209 +#, c-format +msgid "%s:%d: INTERNAL ERROR: unexpected request type" +msgstr "%s:%d: INTERN FEJL: uventet forespørgselstype" + +#: dico/lookup.c:229 dico/lookup.c:296 +msgid "Server name or IP not specified" +msgstr "Servernavn eller IP er ikke angivet" + +#: dico/lookup.c:238 +msgid "Quitting\n" +msgstr "Afslutter\n" + +#: dico/saslauth.c:39 dicod/gsasl.c:370 +#, c-format +msgid "cannot get list of available SASL mechanisms: %s" +msgstr "kan ikke indhente liste over tilgængelige SASL-mekanismer: %s" + +#: dico/saslauth.c:110 +#, c-format +msgid "Unknown callback property %d" +msgstr "Ukendt tilbagekaldsegenskab %d" + +#: dico/saslauth.c:121 dico/saslauth.c:127 +msgid "GSASL handshake aborted" +msgstr "GSASL-håndtryk afbrudt" + +#: dico/saslauth.c:168 +#, c-format +msgid "GSASL handshake aborted: unexpected reply: %s" +msgstr "GSASL-håndtryk afbrudt: uventet svar: %s" + +#: dico/saslauth.c:186 dicod/gsasl.c:148 +#, c-format +msgid "GSASL error: %s" +msgstr "GSASL-fejl: %s" + +#: dico/saslauth.c:233 +msgid "Initializing SASL\n" +msgstr "Initialiserer SASL\n" + +#: dico/saslauth.c:236 +#, c-format +msgid "Cannot initialize libgsasl: %s" +msgstr "Kan ikke initialisere libgsasl: %s" + +#: dico/saslauth.c:281 +msgid "Trying SASL\n" +msgstr "Prøver SASL\n" + +#: dico/saslauth.c:291 +msgid "No suitable SASL mechanism found" +msgstr "Ingen egnet SASL-mekanisme blev fundet" + +#: dico/saslauth.c:300 +#, c-format +msgid "Selected authentication mechanism %s" +msgstr "Valgt godkendelsesmekanisme %s" + +#: dico/saslauth.c:310 +msgid "SASL authentication succeeded" +msgstr "SASL-godkendelse lykkedes" + +#: dico/saslauth.c:311 +msgid "SASL authentication failed" +msgstr "SASL-godkendelse mislykkedes" + +#: dico/saslauth.c:374 +msgid "Dico compiled without SASL support" +msgstr "Dico kompileret uden SASL-understøttelse" + +#: dicod/regex.c:46 +#, c-format +msgid "Regex error: %s" +msgstr "Fejl i regulært udtryk: %s" + +#: dicod/dicod.c:119 dicod/dicod.c:137 dicod/main.c:1572 +#, c-format +msgid "removing database %s" +msgstr "fjerner databasen %s" + +#: dicod/dicod.c:153 +#, c-format +msgid "error closing database %s" +msgstr "der opstod en fejl under lukning af databasen %s" + +#: dicod/dicod.c:291 +#, c-format +msgid "error freeing database %s" +msgstr "der opstod en fejl under frigørelse af databasen %s" + +#: dicod/dicod.c:345 +msgid "connection from" +msgstr "forbindelse fra" + +#: dicod/dicod.c:364 +msgid "session finished:" +msgstr "session afsluttet:" + +#: dicod/acl.c:69 +msgid "expected string" +msgstr "forventede streng" + +#: dicod/acl.c:116 +msgid "expected string but found list" +msgstr "forventede streng men fandt liste" + +#: dicod/acl.c:129 +#, c-format +msgid "socket name too long: `%s'" +msgstr "sokkelnavn er for langt: »%s«" + +#: dicod/acl.c:157 +msgid "expected `from', but found list" +msgstr "forventede »from«, men fandt liste" + +#: dicod/acl.c:160 +#, c-format +msgid "expected `from', but found `%s'" +msgstr "forventede »from«, men fandt »%s«" + +#: dicod/acl.c:169 +msgid "unexpected end of statement after `from'" +msgstr "uventet udtryksafslutning efter »from«" + +#: dicod/acl.c:195 +msgid "junk after `from' list" +msgstr "affald efter »from«-liste" + +#: dicod/acl.c:211 +msgid "expected ACL name, but found end of statement" +msgstr "forventede ACL-navn, men fandt udtryksafslutning" + +#: dicod/acl.c:217 +msgid "expected string, but found list" +msgstr "forventede streng, men fandt liste" + +#: dicod/acl.c:224 +#, c-format +msgid "ACL not defined: `%s'" +msgstr "ACL er ikke defineret: »%s«" + +#: dicod/acl.c:242 +msgid "expected group list, but found end of statement" +msgstr "forventede gruppeliste, men fandt udtryksafslutning" + +#: dicod/acl.c:255 +msgid "expected group list, but found array" +msgstr "forventede gruppeliste, men fandt tabel (array)" + +#: dicod/acl.c:268 +msgid "expected string value" +msgstr "forventede strengværdi" + +#: dicod/acl.c:290 +#, c-format +msgid "unknown word `%s'" +msgstr "ukendt ord »%s«" + +#: dicod/acl.c:302 +msgid "unexpected list" +msgstr "uventet liste" + +#. TRANSLATORS: `MATCHES' is the verb `match' in 2nd person. +#. E.g., in French: CONCORD AVEC +#: dicod/acl.c:400 +msgid "MATCHES" +msgstr "MATCH" + +#: dicod/acl.c:400 +msgid "does not match" +msgstr "matcher ikke" + +#: dicod/dbtext.c:28 +#, c-format +msgid "cannot get path from URL `%s'" +msgstr "kan ikke indhente sti fra adressen »%s«" + +#: dicod/dbtext.c:33 +#, c-format +msgid "cannot stat directory `%s'" +msgstr "kan ikke køre stat på mappen »%s«" + +#: dicod/dbtext.c:39 +#, c-format +msgid "%s: not a directory" +msgstr "%s: ikke en mappe" + +#: dicod/dbtext.c:55 +#, c-format +msgid "cannot open file `%s'" +msgstr "kan ikke åbne filen »%s«" + +#: dicod/auth.c:46 dicod/gsasl.c:190 +msgid "failed to open user database" +msgstr "kunne ikke åbne brugerdatabase" + +#: dicod/auth.c:51 dicod/gsasl.c:240 dicod/gsasl.c:276 +#, c-format +msgid "failed to get password for `%s' from the database" +msgstr "kunne ikke indhente adgangskode for »%s« fra databasen" + +#: dicod/auth.c:55 +#, c-format +msgid "no such user `%s'" +msgstr "ingen sådan bruger %s" + +#: dicod/auth.c:61 +#, c-format +msgid "authentication failed for `%s'" +msgstr "godkendelse mislykkedes for »%s«" + +#: dicod/main.c:161 +msgid "list element must be a string" +msgstr "listeelement skal være en streng" + +#: dicod/main.c:215 +msgid "list element must be a socket specification" +msgstr "listeelement skal være en sokkelspecifikation" + +#: dicod/main.c:248 dicod/main.c:264 dicod/main.c:332 dicod/main.c:358 +#: dicod/main.c:407 dicod/main.c:460 dicod/main.c:503 dicod/main.c:665 +#: dicod/main.c:721 dicod/main.c:742 dicod/main.c:786 dicod/main.c:977 +#: dicod/main.c:1111 dicod/main.c:1150 dicod/main.c:1171 +msgid "Unexpected block statement" +msgstr "Uventet blokudtryk" + +#: dicod/main.c:284 +msgid "ACL name must be a string" +msgstr "ACL-navn skal være en streng" + +#: dicod/main.c:286 +msgid "missing ACL name" +msgstr "mangler ACL-navn" + +#: dicod/main.c:292 +#, c-format +msgid "redefinition of ACL %s" +msgstr "ny definition af ACL %s" + +#: dicod/main.c:295 +msgid "location of the previous definition" +msgstr "placering af den forrige definition" + +#: dicod/main.c:311 dicod/main.c:315 +msgid "[all|authenticated|group ] [from ]" +msgstr "[all|authenticated|group ] [from ]" + +#: dicod/main.c:312 +msgid "Allow access" +msgstr "Tillad adgang" + +#: dicod/main.c:316 +msgid "Deny access" +msgstr "Nægt adgang" + +#: dicod/main.c:336 dicod/main.c:747 dicod/main.c:822 +msgid "expected scalar value" +msgstr "uventet skalarværdi" + +#: dicod/main.c:340 +#, c-format +msgid "no such ACL: `%s'" +msgstr "ingen sådan ACL: »%s«" + +#: dicod/main.c:363 dicod/main.c:465 dicod/main.c:507 dicod/main.c:670 +msgid "expected scalar value but found list" +msgstr "forventede skalarværdi men fandt liste" + +#: dicod/main.c:371 +#, c-format +msgid "not a valid UID number: %s" +msgstr "ikke et gyldigt UID-nummer: %s" + +#: dicod/main.c:378 +#, c-format +msgid "%s: no such user" +msgstr "%s: ingen sådan bruger" + +#: dicod/main.c:426 +#, c-format +msgid "not a valid GID number: %s" +msgstr "ikke et gyldigt GID-nummer: %s" + +#: dicod/main.c:433 +#, c-format +msgid "%s: unknown group" +msgstr "%s: ukendt gruppe" + +#: dicod/main.c:469 +msgid "unknown mode" +msgstr "ukendt tilstand" + +#: dicod/main.c:514 +msgid "unknown syslog facility" +msgstr "ukendt syslog-facilitet" + +#: dicod/main.c:533 dicod/main.c:559 +msgid "tag must be a string" +msgstr "mærke skal være en streng" + +#: dicod/main.c:535 dicod/main.c:561 +msgid "missing tag" +msgstr "manglende mærke" + +#: dicod/main.c:624 +msgid "database name not supplied" +msgstr "databasenavn var ikke angivet" + +#: dicod/main.c:630 +msgid "no handler defined for the database" +msgstr "intet håndteringsprogram defineret for databasen" + +#: dicod/main.c:648 grecs/src/tree.c:665 +msgid "invalid use of block statement" +msgstr "ugyldig brug af blokudtryk" + +#: dicod/main.c:675 dicod/loader.c:120 +#, c-format +msgid "cannot parse command line `%s': %s" +msgstr "kan ikke fortolke kommandolinjen »%s«: %s" + +#: dicod/main.c:691 +#, c-format +msgid "%s: handler not declared" +msgstr "%s: håndtering er ikke erklæret" + +#: dicod/main.c:727 +#, c-format +msgid "unknown capability: %s" +msgstr "ukendt kapacitet: %s" + +#: dicod/main.c:752 +#, c-format +msgid "cannot parse headers: %s" +msgstr "kan ikke fortolke teksthoveder: %s" + +#: dicod/main.c:759 +#, c-format +msgid "unknown encoding type: %s" +msgstr "ukendt kodningstype: %s" + +#: dicod/main.c:766 dicod/main.c:840 dicod/main.c:844 dicod/main.c:849 +#: dicod/main.c:853 dicod/main.c:896 dicod/main.c:899 dicod/main.c:903 +#: dicod/main.c:1029 dicod/main.c:1318 dicod/main.c:1327 dicod/main.c:1330 +#: dicod/main.c:1332 dicod/main.c:1337 dicod/main.c:1346 dicod/main.c:1368 +#: dicod/main.c:1383 grecs/src/format.c:141 +msgid "arg" +msgstr "arg" + +#: dicod/main.c:766 +msgid "Command line." +msgstr "Kommandolinje." + +#: dicod/main.c:798 +msgid "first argument must be string" +msgstr "første argument skal være en streng" + +#: dicod/main.c:804 +msgid "second argument must be string" +msgstr "andet argument skal være en streng" + +#: dicod/main.c:812 +msgid "condition must be mime or nomime" +msgstr "betingelse skal være mime eller nomime" + +#: dicod/main.c:837 +msgid "word" +msgstr "ord" + +#: dicod/main.c:837 +msgid "Dictionary name (a single word)." +msgstr "Ordbogsnavn (et enkelt ord)." + +#: dicod/main.c:841 +msgid "Short description, to be shown in reply to SHOW DB command." +msgstr "Kort beskrivelse, som skal vises som svar på SHOW DB-kommando." + +#: dicod/main.c:845 +msgid "" +"Full description of the database, to be shown in reply to SHOW INFO command." +msgstr "" +"Fuld beskrivelse af databasen, som skal vises som svar på SHOW INFO-" +"kommandoen." + +#: dicod/main.c:850 +msgid "List of languages this database translates from." +msgstr "Liste over sprog denne database oversætter fra." + +#: dicod/main.c:854 +msgid "List of languages this database translates to." +msgstr "Liste over sprog denne database oversætter til." + +#: dicod/main.c:857 dicod/main.c:1023 dicod/main.c:1026 dicod/main.c:1302 +#: dicod/main.c:1305 dicod/main.c:1324 dicod/main.c:1343 dicod/main.c:1348 +#: dicod/main.c:1366 dicod/main.c:1380 +msgid "name" +msgstr "navn" + +#: dicod/main.c:857 +msgid "Name of the handler for this database." +msgstr "Navn på håndteringen for denne database." + +#: dicod/main.c:860 dicod/main.c:1315 dicod/main.c:1387 dicod/main.c:1390 +msgid "arg: acl" +msgstr "arg: acl" + +#: dicod/main.c:861 +msgid "ACL controlling visibility of this database" +msgstr "ACL der kontrollerer synlighed for denne database" + +#: dicod/main.c:864 dicod/main.c:1312 dicod/main.c:1359 dicod/main.c:1362 +msgid "text" +msgstr "tekst" + +#: dicod/main.c:865 +msgid "Additional MIME headers" +msgstr "Yderligere MIME-teksthoveder" + +#: dicod/main.c:869 +msgid "bool" +msgstr "bool" + +#: dicod/main.c:870 +msgid "Set database visibility" +msgstr "Angiv databasesynlighed" + +#: dicod/main.c:873 +msgid " [mime|nomime]" +msgstr " [mime|nomime]" + +#: dicod/main.c:874 +msgid "" +"For virtual database only: name of the member database. Optional mime|nomime " +"specifies the condition under which the database is to be used." +msgstr "" +"Kun for virtuel database: navn på medlemsdatabasen. Valgfri mime|nomime " +"angiver betingelsen hvorunder databasen skal bruges." + +#: dicod/main.c:896 +msgid "Password file or query." +msgstr "Adgangskodefil eller forespørgsel." + +#: dicod/main.c:900 +msgid "File containing user group information or a query to retrieve it." +msgstr "" +"Fil indeholdende brugergruppeinformation eller en forespørgsel til at " +"indhente den." + +#: dicod/main.c:904 +msgid "Implementation-dependent options" +msgstr "Implementeringsafhængige tilvalg" + +#: dicod/main.c:926 dicod/main.c:942 +msgid "URL must be a string" +msgstr "Adresse skal være en streng" + +#: dicod/main.c:928 dicod/main.c:944 +msgid "empty URL" +msgstr "tom adresse" + +#: dicod/main.c:959 +msgid "cannot create user database" +msgstr "kan ikke oprette brugerdatabase" + +#: dicod/main.c:981 +msgid "Not enough arguments for alias" +msgstr "Ikke nok argumenter for alias" + +#: dicod/main.c:988 +#, c-format +msgid "argument %d has wrong type" +msgstr "argument %d har forkert type" + +#: dicod/main.c:1008 +msgid "expected boolean value but found list" +msgstr "forventede boolesk værdi men fandt liste" + +#: dicod/main.c:1017 dicod/main.c:1020 +msgid "mech: list" +msgstr "mech: liste" + +#: dicod/main.c:1018 +msgid "Disable SASL mechanisms listed in ." +msgstr "Deaktiver SASL-mekanismer vist i ." + +#: dicod/main.c:1021 +msgid "Enable SASL mechanisms listed in ." +msgstr "Aktiver SASL-mekanismer vist i ." + +#: dicod/main.c:1024 +msgid "Set service name for GSSAPI and Kerberos." +msgstr "Angiv tjenestenavn for GSSAPI og Kerberos." + +#: dicod/main.c:1027 +msgid "Set realm name for GSSAPI and Kerberos." +msgstr "Angiv områdenavn for GSSAPI og Kerberos." + +#: dicod/main.c:1030 +msgid "Define groups for anonymous users." +msgstr "Definer grupper for anonyme brugere." + +#: dicod/main.c:1069 +msgid "Section name must be a string" +msgstr "Afsnitnavn skal være en streng" + +#: dicod/main.c:1071 +msgid "missing section name" +msgstr "manglende afsnitsnavn" + +#: dicod/main.c:1096 +msgid "Unexpected statement" +msgstr "Uventet udtryk" + +#: dicod/main.c:1133 +msgid "Expected string value" +msgstr "Forventede strengværdi" + +#: dicod/main.c:1159 +msgid "expected list or string" +msgstr "forventede liste eller streng" + +#: dicod/main.c:1182 +msgid "Expected number" +msgstr "Forventede et antal" + +#: dicod/main.c:1253 +msgid "arg: bool" +msgstr "arg: bool" + +#: dicod/main.c:1253 +msgid "Deny all * and ! look ups" +msgstr "Nægt alle *- og !-opslag" + +#: dicod/main.c:1257 +msgid "cond" +msgstr "cond" + +#: dicod/main.c:1257 +msgid "Deny * and ! look-ups on these words." +msgstr "Nægt *- og !-opslag på disse ord." + +#: dicod/main.c:1262 dicod/main.c:1268 dicod/main.c:1274 dicod/main.c:1280 +#: dicod/main.c:1286 dicod/main.c:1292 +msgid "len: number" +msgstr "len: number" + +#: dicod/main.c:1263 +msgid "Deny * and ! look-ups on words with length < ." +msgstr "Nægt *- og !-opslag på ord med længden < ." + +#: dicod/main.c:1269 +msgid "Deny * and ! look-ups on words with length <= ." +msgstr "Nægt *- og !-opslag på ord med længden <= ." + +#: dicod/main.c:1275 +msgid "Deny * and ! look-ups on words with length > ." +msgstr "Nægt *- og !-opslag på ord med længden > ." + +#: dicod/main.c:1281 +msgid "Deny * and ! look-ups on words with length >= ." +msgstr "Nægt *- og !-opslag på ord med længden >= ." + +#: dicod/main.c:1287 +msgid "Deny * and ! look-ups on words with length == ." +msgstr "Nægt *- og !-opslag på ord med længden == ." + +#: dicod/main.c:1293 +msgid "Deny * and ! look-ups on words with length != ." +msgstr "Nægt *- og !-opslag på ord med længden != ." + +#: dicod/main.c:1302 +msgid "Run with these user privileges." +msgstr "Kør med disse brugerprivilegier." + +#: dicod/main.c:1306 +msgid "Supplementary group to retain with the user privileges." +msgstr "Supplementær gruppe at beholde med brugerprivilegierne." + +#: dicod/main.c:1309 +msgid "arg: [daemon|inetd]" +msgstr "arg: [daemon|inetd]" + +#: dicod/main.c:1309 +msgid "Operation mode." +msgstr "Operationstilstand." + +#: dicod/main.c:1313 +msgid "Server description to be shown in reply to SHOW SERVER command." +msgstr "Serverbeskrivelse som vises som svar på SHOW SERVER-kommando." + +#: dicod/main.c:1316 +msgid "Show system information if arg matches." +msgstr "Vis systeminformation hvis arg matcher." + +#: dicod/main.c:1319 +msgid "Enable identification check using AUTH protocol (RFC 1413)" +msgstr "Aktiver identifikationskontrol via AUTH-protokollen (RFC 1413)" + +#: dicod/main.c:1321 +msgid "val" +msgstr "val" + +#: dicod/main.c:1322 +msgid "Set timeout for AUTH I/O operations." +msgstr "Angiv tidsudløb for AUTH I/O-operationer." + +#: dicod/main.c:1325 +msgid "Name of the file containing the keys for decrypting AUTH replies." +msgstr "Navn på filen indeholdende nøglerne for dekryptering af AUTH-svar." + +#: dicod/main.c:1328 +msgid "Maximum number of children running simultaneously." +msgstr "Maksimalt antal underprocesser der må køre på samme tid." + +#: dicod/main.c:1330 +msgid "Tag syslog diagnostics with this tag." +msgstr "Mærk syslog-diagnostik med dette mærke." + +#: dicod/main.c:1333 +msgid "" +"Set syslog facility. Arg is one of the following: user, daemon, auth, " +"authpriv, mail, cron, local0 through local7 (case-insensitive), or a " +"facility number." +msgstr "" +"Angiv syslog-facilitet. Arg er en af de følgende: user, daeon, auth, " +"authpriv, mail, cron, local0 til local7 (ikke forskel på små/store " +"bogstaver), eller et facilitetnummer." + +#: dicod/main.c:1338 +msgid "Prefix diagnostics messages with their severity." +msgstr "Lav præfiks for diagnostikbeskeder med deres alvorsgrad." + +#: dicod/main.c:1340 +msgid "fmt" +msgstr "fmt" + +#: dicod/main.c:1341 +msgid "Set format string for access log file." +msgstr "Angiv formatstreng for adgangslogfilen." + +#: dicod/main.c:1344 +msgid "Set access log file name." +msgstr "Angiv adgangslogfilnavn." + +#: dicod/main.c:1346 +msgid "Log session transcript." +msgstr "Log sessionstransskription." + +#: dicod/main.c:1349 +msgid "Store PID of the master process in this file." +msgstr "Lagr PID for masterprocessen i denne fil." + +#: dicod/main.c:1351 dicod/main.c:1354 +msgid "seconds" +msgstr "sekunder" + +#: dicod/main.c:1352 +msgid "Wait this number of seconds for all children to terminate." +msgstr "Vent dette antal sekunder for at alle underprocesser kan afslutte." + +#: dicod/main.c:1355 +msgid "Set inactivity timeout." +msgstr "Angiv tidsudløb for inaktivitet." + +#: dicod/main.c:1357 +msgid "addr" +msgstr "adr" + +#: dicod/main.c:1357 +msgid "Listen on these addresses." +msgstr "Lyt på disse adresser." + +#: dicod/main.c:1360 +msgid "Display this text in the initial 220 banner" +msgstr "Vis denne tekst i det oprindelige 220 banner" + +#: dicod/main.c:1363 +msgid "" +"Display this text in reply to the HELP command. If text begins with a +, " +"usual command summary is displayed before it." +msgstr "" +"Vis denne tekst som svar til HELP-kommandoen. Hvis teksten begynder med a +, " +"så vises normal kommandooverblik før denne." + +#: dicod/main.c:1366 +msgid "Override the host name." +msgstr "Overskriv værtsnavnet." + +#: dicod/main.c:1368 +msgid "Request additional capabilities." +msgstr "Anmod om yderligere kapaciteter." + +#: dicod/main.c:1371 dicod/main.c:1375 +msgid "path" +msgstr "sti" + +#: dicod/main.c:1372 +msgid "List of directories searched for database modules." +msgstr "Liste over mapper gennemsøgt for databasemoduler." + +#: dicod/main.c:1376 +msgid "" +"List of directories searched for database modules prior to the default " +"module directory" +msgstr "" +"Liste over mapper gennemsøgt for databasemoduler før standardmodulmappen" + +#: dicod/main.c:1381 +msgid "Set the name of the default matching strategy." +msgstr "Angiv navnet for standardstrategien for matchning." + +#: dicod/main.c:1384 +msgid "Provide timing information after successful completion of an operation." +msgstr "Tilbyd timinginformation efter succesfuld fuldførelse af en operation." + +#: dicod/main.c:1388 +msgid "Set ACL to control visibility of all databases." +msgstr "Angiv ACL til kontrolsynlighed for alle databaser." + +#: dicod/main.c:1391 +msgid "Apply this ACL to incoming connections." +msgstr "Anvend denne ACL til indgående forbindelser." + +#: dicod/main.c:1393 +msgid "Define a dictionary database." +msgstr "Definer en ordbogsdatabase." + +#: dicod/main.c:1397 dicod/main.c:1406 dicod/main.c:1412 dicod/main.c:1419 +msgid "name: string" +msgstr "navn: streng" + +#: dicod/main.c:1398 +msgid "" +"Load a module instance.\n" +"If is the same as in command, it can be simplified as:\n" +" load-module ;\n" +"Furthermore, several simplified forms can be combined into one\n" +"by using a list of names as its argument, as in:\n" +" load-module (stratall,word);\n" +msgstr "" +"Indlæs en modulinstans.\n" +"hvis er det samme som i kommando, så kan det forenkles som:\n" +" load-module ;\n" +"Derudover kan flere forenklede formularer kombineres til en\n" +"ved at brug en liste med navne som argument, som i:\n" +" load-module (stratall,ord);\n" + +#: dicod/main.c:1406 +msgid "Define an ACL." +msgstr "Definer en ACL." + +#: dicod/main.c:1408 +msgid "url: string" +msgstr "url: streng" + +#: dicod/main.c:1409 +msgid "Define user database for authentication." +msgstr "Definer brugerdatabase for godkendelse." + +#: dicod/main.c:1412 +msgid "Define a command alias." +msgstr "Definer et kommandoalias." + +#: dicod/main.c:1416 +msgid "Control SASL authentication." +msgstr "Kontroller SASL-godkendelse." + +#: dicod/main.c:1420 +msgid "Additional configuration for strategy " +msgstr "Yderligere konfiguration for strategi " + +#: dicod/main.c:1459 +msgid "" +"Configuration file structure for dicod.\n" +"For more information, use `info dico configuration'." +msgstr "" +"Konfigurationsfilstruktur for dicod.\n" +"For yderligere information, brug »info dico configuration«." + +#: dicod/main.c:1788 +msgid "unknown strategy" +msgstr "ukendt strategi" + +#: cmdline.opt:36 +msgid "Select program mode" +msgstr "Vælg programtilstand" + +#: cmdline.opt:51 +msgid "preprocess configuration file and exit" +msgstr "forbehandl konfigurationsfil og afslut" + +#: cmdline.opt:57 +msgid "check configuration file syntax and exit" +msgstr "kontroller konfigurationsfilsyntaks og afslut" + +#: cmdline.opt:63 +msgid "inetd mode" +msgstr "inetd-tilstand" + +#: cmdline.opt:69 +msgid "" +"run unit tests for module; subsequent arguments are treated as module name " +"and unit test arguments; the -- marker introduces module initialization " +"arguments" +msgstr "" +"kør enhedstest for modul; efterfølgende argumenter opfattes som modulnavn og " +"enhedsargumenter; markeringen -- introducerer argumenter for " +"modulinitialisering" + +#: cmdline.opt:63 +msgid "Modifiers" +msgstr "Modifikatorer" + +#: cmdline.opt:79 +msgid "FILE" +msgstr "FIL" + +#: cmdline.opt:79 +msgid "read this configuration file" +msgstr "læs denne konfigurationsfil" + +#: cmdline.opt:85 +msgid "operate in foreground" +msgstr "operer i forgrunden" + +#: cmdline.opt:91 +msgid "output diagnostic to stderr" +msgstr "send diagnostik til standardfejl" + +#: cmdline.opt:97 +msgid "output diagnostic to syslog (default)" +msgstr "send diagnostik til sysloggen (standard)" + +#: cmdline.opt:103 +msgid "single-process mode" +msgstr "enkel-proces tilstand" + +#: cmdline.opt:109 cmdline.opt:179 +msgid "DIR" +msgstr "MAPPE" + +#: cmdline.opt:109 +msgid "prepend DIR to the module load path" +msgstr "foranstil MAPPE til modulindlæsningsstien" + +#: cmdline.opt:125 +msgid "disable session transcript" +msgstr "deaktiver sessionstransskription" + +#: cmdline.opt:131 +msgid "set debug verbosity level" +msgstr "angiv fejlsøgningens uddybningsniveau" + +#: cmdline.opt:144 +msgid "trace parsing of configuration file" +msgstr "spor fortolkning af konfigurationsfil" + +#: cmdline.opt:150 +msgid "trace config file lexer" +msgstr "spor konfiguration for fillexer" + +#: cmdline.opt:142 +msgid "Additional help" +msgstr "Yderligere hjælp" + +#: cmdline.opt:158 +msgid "show configuration file summary" +msgstr "vis konfigurationsfiloverblik" + +#: cmdline.opt:151 +msgid "Preprocessor control" +msgstr "Forbrænderkontrol" + +#: cmdline.opt:167 +msgid "PROG" +msgstr "PROG" + +#: cmdline.opt:167 +msgid "use PROG as a preprocessor for config file" +msgstr "brug PROG som forbrænder for konfigurationsfil" + +#: cmdline.opt:173 +msgid "do not use external preprocessor" +msgstr "brug ikke ekstern forbrænder" + +#: cmdline.opt:179 +msgid "" +"add the directory DIR to the list of directories to be searched for " +"preprocessor include files" +msgstr "" +"tilføj mappen MAPPE til listen over mapper, hvor der skal søges efter " +"forbrænderens inkluderingsfiler" + +#: cmdline.opt:185 +msgid "SYMBOL[=VALUE]" +msgstr "SYMBOL[=VÆRDI]" + +#: cmdline.opt:185 +msgid "define a preprocessor symbol" +msgstr "definer et forbrændersymbol" + +#: cmdline.opt:43 +msgid "GNU dictionary server" +msgstr "GNU-ordbogsserver" + +#: dicod/loader.c:38 +#, c-format +msgid "%s: faulty module: (%s) failed" +msgstr "%s: defekt modul: (%s) mislykkedes" + +#: dicod/loader.c:67 +#, c-format +msgid "%s: initialization failed" +msgstr "%s: initialisering mislykkedes" + +#: dicod/loader.c:83 +#, c-format +msgid "module %s already loaded" +msgstr "modulet %s er allerede indlæst" + +#: dicod/loader.c:96 +#, c-format +msgid "cannot load module %s: %s" +msgstr "kan ikke indlæse modulet %s: %s" + +#: dicod/loader.c:505 +msgid "no module name" +msgstr "intet modulnavn" + +#: dicod/loader.c:524 +msgid "module does not define dico_run_test function" +msgstr "modul definerer ikke funktionen dico_run_test" + +#: dicod/alias.c:68 +#, c-format +msgid "alias `%s' already defined" +msgstr "aliasset »%s« er allerede defineret" + +#: dicod/alias.c:70 +msgid "this is the location of the previous definition" +msgstr "den foregående definition er her" + +#: dicod/server.c:103 +#, c-format +msgid "file %s exists but cannot be stat'd" +msgstr "filen %s findes men der kan ikke køres stat på den" + +#: dicod/server.c:110 +#, c-format +msgid "file %s is not a socket" +msgstr "filen %s er ikke en sokkel" + +#: dicod/server.c:116 +#, c-format +msgid "cannot unlink file %s" +msgstr "kan ikke fjerne henvendelsen på filen %s" + +#: dicod/server.c:131 +#, c-format +msgid "unsupported address family: %d" +msgstr "ikke understøttet adressefamilie: %d" + +#: dicod/server.c:163 +msgid "No sockets opened" +msgstr "Ingen sokler åbnet" + +#: dicod/server.c:206 +#, c-format +msgid "%lu exited successfully" +msgstr "%lu afsluttedes med succes" + +#: dicod/server.c:211 +#, c-format +msgid "%lu timed out" +msgstr "%lu fik tidsudløb" + +#: dicod/server.c:216 +#, c-format +msgid "%lu failed with status %d" +msgstr "%lu mislykkedes med status %d" + +#: dicod/server.c:227 +#, c-format +msgid "%lu terminated on signal %d" +msgstr "%lu afsluttedes ved signalet %d" + +#: dicod/server.c:230 +#, c-format +msgid "%lu stopped on signal %d" +msgstr "%lu stoppede ved signalet %d" + +#: dicod/server.c:234 +#, c-format +msgid "%lu dumped core" +msgstr "%lu dumpet kerne" + +#: dicod/server.c:237 +#, c-format +msgid "%lu terminated with unrecognized status" +msgstr "%lu afsluttedes med ukendt status" + +#: dicod/server.c:305 +#, c-format +msgid "Cannot open pidfile `%s'" +msgstr "Kan ikke åbne pid-filen »%s«" + +#: dicod/server.c:308 +#, c-format +msgid "Cannot get pid from pidfile `%s'" +msgstr "Kan ikke indhente pid fra pid-filen »%s«" + +#: dicod/server.c:314 +#, c-format +msgid "%s appears to run with pid %lu. If it does not, remove `%s' and retry." +msgstr "" +"%s ser ud til at køre med pid %lu. Hvis den ikke gør, så fjern »%s« og prøv " +"igen." + +#: dicod/server.c:324 dicod/server.c:343 +#, c-format +msgid "Cannot unlink pidfile `%s'" +msgstr "Kan ikke fjerne henvisningen på pid-filen »%s«" + +#: dicod/server.c:334 +#, c-format +msgid "Cannot create pidfile `%s'" +msgstr "Kan ikke oprette pid-filen »%s«" + +#: dicod/server.c:402 +#, c-format +msgid "connection from %s denied" +msgstr "forbindelse fra %s nægtet" + +#: dicod/server.c:459 +msgid "fork failed" +msgstr "forgrening mislykkedes" + +#: dicod/server.c:475 +msgid "refusing to restart due to errors in configuration file" +msgstr "nægter at genstarte på grund af fejl i konfigurationsfilen" + +#: dicod/server.c:481 +msgid "" +"refusing to restart due to unexpected return status of configuration checker" +msgstr "" +"nægter at genstarte på grund af uventede returstatus for " +"konfigurationskontrolprogram" + +#: dicod/server.c:489 +msgid "" +"refusing to restart: configuration checker did not exit within 5 seconds" +msgstr "" +"nægter at genstarte: konfigurationskontrolprogram afsluttedes ikke indenfor " +"5 sekunder" + +#: dicod/server.c:498 +msgid "waitpid failed" +msgstr "waitpid mislykkedes" + +#: dicod/server.c:499 +msgid "refusing to restart" +msgstr "nægter at genstarte" + +#: dicod/server.c:539 +#, c-format +msgid "too many children (%lu)" +msgstr "for mange underprocesser (%lu)" + +#: dicod/server.c:557 +msgid "select error" +msgstr "vælg fejl" + +#: dicod/server.c:585 +#, c-format +msgid "%s started" +msgstr "%s startet" + +#: dicod/server.c:590 +msgid "not running as root: ignoring user/group settings" +msgstr "kører ikke som root: ignorerer bruger/gruppe-indstillinger" + +#: dicod/server.c:603 +msgid "dicod started without full file name" +msgstr "dicod startet uden fuld filnavn" + +#: dicod/server.c:604 dicod/server.c:608 +msgid "restart (SIGHUP) will not work" +msgstr "genstart (SIGHUP) vil ikke fungere" + +#: dicod/server.c:607 +msgid "configuration file is not given with a full file name" +msgstr "konfigurationsfil er ikke angivet med et fuldt filnavn" + +#: dicod/server.c:615 +msgid "Cannot become a daemon" +msgstr "Kan ikke blive en dæmon" + +#: dicod/server.c:632 +#, c-format +msgid "Exit code = %d, last error status" +msgstr "Afslutningskode = %d sidste fejlstatus" + +#: dicod/server.c:640 +#, c-format +msgid "%s restarting" +msgstr "%s genstarter" + +#: dicod/server.c:644 +msgid "Cannot restart" +msgstr "Kan ikke genstarte" + +#: dicod/server.c:646 +#, c-format +msgid "%s terminating" +msgstr "%s afslutter" + +#: dicod/ident.c:200 +msgid "Incorrect length of IDENT DES packet" +msgstr "Forkert længde for IDENT DES-pakke" + +#: dicod/ident.c:207 +#, c-format +msgid "Cannot open file %s" +msgstr "Kan ikke åbne filen %s" + +#: dicod/ident.c:388 +msgid "cannot create socket for AUTH identification" +msgstr "kan ikke oprette sokkel for AUTH-identifikation" + +#: dicod/ident.c:400 +msgid "cannot bind AUTH socket" +msgstr "kan ikke binde AUTH-sokkel" + +#: dicod/ident.c:413 dicod/ident.c:464 +#, c-format +msgid "cannot connect to AUTH server %s" +msgstr "kan ikke forbinde til AUTH-serveren %s" + +#: dicod/ident.c:437 +#, c-format +msgid "Malformed IDENT response: `%s', from %s" +msgstr "Forkert udformet IDENT-svar: »%s« fra %s" + +#: dicod/ident.c:442 +msgid "" +"Keyfile for AUTH responses not specified in config; use `ident-keyfile FILE'" +msgstr "" +"Nøglefil for AUTH-svar er ikke specificeret i konfiguration; brug »ident-" +"keyfile FIL«" + +#: dicod/ident.c:458 +#, c-format +msgid "failure while communicating with AUTH server %s" +msgstr "fejl under kommunikation med AUTH-serveren %s" + +#: dicod/ident.c:469 +#, c-format +msgid "no reply from AUTH server %s" +msgstr "intet svar fra AUTH-serveren %s" + +#: dicod/ident.c:475 +#, c-format +msgid "I/O error while communicating with AUTH server %s" +msgstr "I/O-fejl under kommunikation med AUTH-serveren %s" + +#: dicod/accesslog.c:487 +#, c-format +msgid "log format error (near char %td): missing terminating `}'" +msgstr "log-formatfejl (nær tegn %td): mangler afsluttende »}«" + +#: dicod/accesslog.c:502 +#, c-format +msgid "log format error (near char %td): unknown format char `%c'" +msgstr "log-formatfejl (nær tegn %td): ukendt formattegn »%c«" + +#: dicod/accesslog.c:510 +#, c-format +msgid "" +"log format warning (near char %td): format char `%c' does not take arguments" +msgstr "" +"log-formatadvarsel (nær tegn %td): formattegnet »%c« anvender ikke argumenter" + +#: dicod/accesslog.c:553 +#, c-format +msgid "cannot open access log file `%s'" +msgstr "kan ikke åbne adgangslogfil: »%s«" + +#: dicod/gsasl.c:84 +#, c-format +msgid "Unexpected input instead of SASLRESP command: %s" +msgstr "Uventede inddata i stedet for SASLRESP-kommando: %s" + +#: dicod/gsasl.c:123 +#, c-format +msgid "SASL gsasl_server_start: %s" +msgstr "SASL gsasl_server_start: %s" + +#: dicod/gsasl.c:163 +#, c-format +msgid "GSASL %s: cannot get username" +msgstr "GSASL %s: kan ikke indhente brugernavn" + +#: dicod/gsasl.c:269 +msgid "user name not supplied" +msgstr "brugernavn var ikke angivet" + +#: dicod/gsasl.c:333 +#, c-format +msgid "cannot initialize libgsasl: %s" +msgstr "kan ikke initialisere libgsasl: %s" + +#: modules/dict.org/dictorg.c:83 +#, c-format +msgid "mod_init: cannot stat `%s'" +msgstr "mod_init: kan ikke køre stat på »%s«" + +#: modules/dict.org/dictorg.c:88 +#, c-format +msgid "mod_init: `%s' is not a directory" +msgstr "mod_init: »%s« er ikke en mappe" + +#: modules/dict.org/dictorg.c:93 +#, c-format +msgid "mod_init: `%s' is not readable" +msgstr "mod_init: »%s« er ikke læsbar" + +#: modules/dict.org/dictorg.c:248 +#, c-format +msgid "%s:%lu: invalid base64 value: `%.*s'" +msgstr "%s:%lu: ugyldig base64-værdi: »%.*s«" + +#: modules/dict.org/dictorg.c:263 +#, c-format +msgid "%s:%lu: malformed entry" +msgstr "%s:%lu: forkert udformet post" + +#: modules/dict.org/dictorg.c:302 +#, c-format +msgid "open_index: cannot stat `%s'" +msgstr "open_index: kan ikke køre stat på »%s«" + +#: modules/dict.org/dictorg.c:306 +#, c-format +msgid "open_index: `%s' is not a regular file" +msgstr "open_index: »%s« er ikke en normal fil" + +#: modules/dict.org/dictorg.c:315 modules/dict.org/dictorg.c:412 +#: modules/gcide/gcide.c:316 modules/gcide/gcide.c:725 +#, c-format +msgid "cannot create stream `%s'" +msgstr "kan ikke oprette strømmen »%s«" + +#: modules/dict.org/dictorg.c:321 modules/dict.org/dictorg.c:420 +#: modules/gcide/gcide.c:323 modules/gcide/gcide.c:732 +#, c-format +msgid "cannot open stream `%s': %s" +msgstr "kan ikke åbne strømmen »%s«: %s" + +#: modules/dict.org/dictorg.c:430 +#, c-format +msgid "cannot open stream for dictionary `%s'" +msgstr "kan ikke åbne strømmen for ordbogen »%s«" + +#: modules/dict.org/dictorg.c:458 +#, c-format +msgid "mod_init_db(%s): database name not given" +msgstr "mod_init_db(%s): databasenavn var ikke angivet" + +#: modules/dict.org/dictorg.c:468 +#, c-format +msgid "mod_init_db: `%s' is not an absolute file name" +msgstr "mod_init_db: »%s« er ikke et absolut filnavn" + +#: modules/dict.org/dictorg.c:508 +#, c-format +msgid "mod_init_db(%s): index files in old 8-bit format are not supported" +msgstr "" +"mod_init_db(%s): indeksfiler i gammelt 8-bit format er ikke understøttet" + +#: modules/dict.org/dictorg.c:810 modules/dict.org/dictorg.c:993 +#: modules/gcide/gcide.c:756 +#, c-format +msgid "%s: read error: %s" +msgstr "%s: læsefejl: %s" + +#: modules/dict.org/dictorg.c:904 +msgid "_match_all: key initialization failed" +msgstr "_match_all: nøgleinitialisering mislykkedes" + +#: modules/dict.org/dictorg.c:983 +#, c-format +msgid "%s: seek error: %s" +msgstr "%s: seek-fejl: %s" + +#: modules/dict.org/dictstr.c:176 +#, c-format +msgid "cannot initialize inflation engine: %s" +msgstr "kan ikke initialisere inflationsmotor: %s" + +#: modules/dict.org/dictstr.c:198 +#, c-format +msgid "%s:%d: INTERNAL ERROR: inflate did not flush (%d pending, %d avail)" +msgstr "%s:%d: INTERN FEJL: inflate tømte ikke (%d igangværende, %d tilg.)" + +#: modules/dict.org/dictstr.c:286 +#, c-format +msgid "%s:%d: INTERNAL ERROR: cannot shut down inflation engine: %s" +msgstr "%s:%d: INTERN FEJL: kan ikke lukke inflationsmotoren ned: %s" + +#: modules/dict.org/dictstr.c:437 +#, c-format +msgid "file position (%lu) != header length + 1 (%lu)" +msgstr "filposition (%lu) != teksthovedlængde + 1 (%lu)" + +#: modules/dict.org/dictstr.c:475 +msgid "unknown dictionary format" +msgstr "ukendt ordbogsformat" + +#: modules/dict.org/dictstr.c:478 +msgid "unsupported dictionary format" +msgstr "ordbogsformatet er ikke understøttet" + +#: modules/dict.org/dictstr.c:481 +msgid "unsupported dictionary version" +msgstr "ordbogsversion er ikke understøttet" + +#: modules/dict.org/dictstr.c:484 +msgid "malformed header" +msgstr "forkert udformet teksthoved" + +#: modules/dict.org/dictstr.c:487 +msgid "cannot seek on pure gzip format files" +msgstr "kan ikke søge på rene gzip-formatfiler" + +#: modules/dict.org/dictstr.c:490 +msgid "error decompressing stream" +msgstr "fejl under udpakning af strøm" + +#: modules/guile/guile.c:151 +#, c-format +msgid "%s: not enough memory" +msgstr "%s: ikke nok hukommelse" + +#: modules/guile/guile.c:164 +#, c-format +msgid "%s: invalid return type" +msgstr "%s: ugyldig returtype" + +#: modules/guile/guile.c:184 +#, c-format +msgid "procedure `%s' failed: see error output for details" +msgstr "proceduren »%s« mislykkedes: se fejlresultat for detaljer" + +#: modules/guile/guile.c:735 +#, c-format +msgid "%s: %s: unknown virtual function" +msgstr "%s: %s: ukendt virtuel funktion" + +#: modules/guile/guile.c:794 +msgid "mod_init: cannot initialize error port" +msgstr "mod_init: kan ikke initialisere fejlport" + +#: modules/guile/guile.c:802 modules/guile/guile.c:836 +#, c-format +msgid "mod_init: cannot load init script %s" +msgstr "mod_init: kan ikke indlæse initialiseringsskriptet %s" + +#: modules/guile/guile.c:862 +#, c-format +msgid "%s: %s: void virtual function" +msgstr "%s: %s: ugyldig virtuel funktion" + +#: modules/guile/guile.c:1084 +msgid "mod_match: key initialization failed" +msgstr "mod_match: nøgleinitialisering mislykkedes" + +#: modules/outline/outline.c:476 +msgid "outline_open: wrong number of arguments" +msgstr "outline_open: forkert antal argumenter" + +#: modules/outline/outline.c:482 modules/gcide/idxgcide.l:269 +#, c-format +msgid "cannot open file %s" +msgstr "kan ikke åbne filen %s" + +#: modules/outline/outline.c:642 +msgid "outline_lang: not enough memory" +msgstr "outline_lang: ikke nok hukommelse" + +#: modules/outline/outline.c:681 +msgid "outline_match_all: not enough memory" +msgstr "outline_match_all: ikke nok hukommelse" + +#: modules/outline/outline.c:686 +msgid "outline_match_all: key initialization failed" +msgstr "outline_match_all: nøgleinitialisering mislykkedes" + +#: modules/ldap/ldap.c:60 +#, c-format +msgid "cannot set LBER_OPT_DEBUG_LEVEL %d" +msgstr "kan ikke angive LBER_OPT_DEBUG_LEVEL %d" + +#: modules/ldap/ldap.c:65 +#, c-format +msgid "could not set LDAP_OPT_DEBUG_LEVEL %d" +msgstr "kunne ikke angive LDAP_OPT_DEBUG_LEVEL %d" + +#: modules/ldap/ldap.c:73 +#, c-format +msgid "cannot create LDAP session handle for URI=%s (%d): %s" +msgstr "kan ikke oprette LDAP-sessionshåndtag for URI=%s (%d): %s" + +#: modules/ldap/ldap.c:81 +#, c-format +msgid "ldap_start_tls failed: %s" +msgstr "ldap_start_tls mislykkedes: %s" + +#: modules/ldap/ldap.c:199 +#, c-format +msgid "cannot parse options `%s': %s" +msgstr "kan ikke fortolke tilvalg »%s«: %s" + +#: modules/ldap/ldap.c:215 +msgid "cannot allocate handle" +msgstr "kan ikke allokere håndtag" + +#: modules/ldap/ldap.c:255 +#, c-format +msgid "cannot expand query `%s': %s" +msgstr "kan ikke udvide forespørgsel »%s«: %s" + +#: modules/gcide/gcide.c:85 +#, c-format +msgid "gcide: cannot stat `%s'" +msgstr "gcide: kan ikke køre stat på »%s«" + +#: modules/gcide/gcide.c:89 +#, c-format +msgid "gcide: `%s' is not a directory" +msgstr "gcide: »%s« er ikke en mappe" + +#: modules/gcide/gcide.c:93 modules/gcide/gcide.c:158 +#, c-format +msgid "gcide: `%s' is not readable" +msgstr "gcide: »%s« er ikke læsbar" + +#: modules/gcide/gcide.c:113 +#, c-format +msgid "gcide_open_idx: creating index %s" +msgstr "gcide_open_idx: opretter indeks %s" + +#: modules/gcide/gcide.c:116 +#, c-format +msgid "gcide_open_idx: cannot run %s" +msgstr "gcide_open_idx: kan ikke køre %s" + +#: modules/gcide/gcide.c:125 +msgid "gcide_open_idx: fork failed" +msgstr "gcide_open_idx: forgrening mislykkedes" + +#: modules/gcide/gcide.c:129 modules/gcide/gcide.c:134 +#, c-format +msgid "gcide_open_idx: %s failed" +msgstr "gcide_open_idx: %s mislykkedes" + +#: modules/gcide/gcide.c:141 +#, c-format +msgid "gcide_open_idx: %s exited with status %d" +msgstr "gcide_open_idx: %s afsluttede med status %d" + +#: modules/gcide/gcide.c:162 modules/gcide/gcide.c:182 +#, c-format +msgid "gcide: can't stat `%s'" +msgstr "gcide: kan ikke køre stat på »%s«" + +#: modules/gcide/gcide.c:188 +msgid "gcide: index file older than database, reindexing" +msgstr "gcide: indeksfil er ældre end database, laver nyt indeks" + +#: modules/gcide/gcide.c:190 +#, c-format +msgid "gcide_open_idx: cannot access %s" +msgstr "gcide_open_idx: kan ikke tilgå %s" + +#: modules/gcide/gcide.c:249 +msgid "gcide_init_db: database directory not given" +msgstr "gcide_init_db: databasemappe er ikke angivet" + +#: modules/gcide/gcide.c:335 modules/gcide/gcide.c:354 +#, c-format +msgid "read error in stream `%s': %s" +msgstr "læsefejl i strømmen »%s«: %s" + +#: modules/gcide/gcide.c:344 +#, c-format +msgid "cannot get size of stream `%s': %s" +msgstr "kan ikke indhente størrelse for strømmen »%s«: %s" + +#: modules/gcide/gcide.c:351 +msgid "cannot allocate dictionary information buffer" +msgstr "kan ikke allokere ordbogsinformationsbuffer" + +#: modules/gcide/gcide.c:518 modules/wordnet/wordnet.c:617 +#, c-format +msgid "%s: key initialization failed" +msgstr "%s: nøgleinitialisering mislykkedes" + +#: modules/gcide/gcide.c:742 +#, c-format +msgid "seek error on `%s' while positioning to %lu: %s" +msgstr "søgefejl på »%s« under positionering til %lu: %s" + +#: modules/gcide/idx.c:68 +#, c-format +msgid "error reading from `%s'" +msgstr "fejl under læsning fra »%s«" + +#: modules/gcide/idx.c:71 +#, c-format +msgid "short read while reading from `%s'" +msgstr "kort læs under læsning fra »%s«" + +#: modules/gcide/idx.c:91 +#, c-format +msgid "file `%s' is not a valid gcide index file" +msgstr "filen »%s« er ikke en gyldig gcide-indeksfil" + +#: modules/gcide/idx.c:103 +#, c-format +msgid "index file `%s' is corrupted" +msgstr "indeksfilen »%s« er ødelagt" + +#: modules/gcide/idx.c:128 +#, c-format +msgid "cannot open index file `%s'" +msgstr "kan ikke åbne indeksfilen »%s«" + +#: modules/gcide/idx.c:246 +#, c-format +msgid "seek error on `%s' while positioning to %lu" +msgstr "søgefejl på »%s« under positionering til %lu" + +#: modules/gcide/idxgcide-cli.opt:62 +#, c-format +msgid "not a valid size: %s" +msgstr "ikke en gyldig størrelse: %s" + +#: modules/gcide/idxgcide.l:77 +msgid "page too small, aborting" +msgstr "side for lille, afbryder" + +#: modules/gcide/idxgcide.l:120 +msgid "Sorting references" +msgstr "Sorterer referencer" + +#: modules/gcide/idxgcide.l:124 +msgid "Writing references" +msgstr "Skriver referencer" + +#: modules/gcide/idxgcide.l:217 +#, c-format +msgid "%s:%u: unknown or illegible character in a headword" +msgstr "%s:%u: ukendt eller ulæselig tegn i et hovedord" + +#: modules/gcide/idxgcide.l:221 +#, c-format +msgid "%s:%u: unrecognized entity: %s" +msgstr "%s:%u: enheden blev ikke genkendt: %s" + +#: modules/gcide/idxgcide.l:236 +#, c-format +msgid "%s:%u: unknown character sequence %s" +msgstr "%s:%u: ukendt tegnsekvens »%s«" + +#: modules/gcide/idxgcide.l:266 +#, c-format +msgid "Indexing %s" +msgstr "Indekserer %s" + +#: modules/gcide/idxgcide.l:302 +msgid "page size too small" +msgstr "sidestørrelse er for lille" + +#: modules/gcide/idxgcide.l:311 +msgid "bad number of arguments" +msgstr "ugyldig antal argumenter" + +#: modules/gcide/idxgcide.l:335 +#, c-format +msgid "cannot create index file `%s'" +msgstr "kan ikke oprette indeksfilen »%s«" + +#: modules/gcide/idxgcide.l:356 +#, c-format +msgid "headwords=%lu, definitions=%lu, refs per page=%lu, pages=%lu" +msgstr "hovedord=%lu, definitioner=%lu, ref. per side=%lu, sider=%lu" + +#: modules/gcide/markup.l:148 +#, c-format +msgid "cannot parse line %.*s: %s" +msgstr "kan ikke fortolke linje %.*s: %s" + +#: modules/gcide/markup.l:300 +#, c-format +msgid "%u: unrecognized entity: %s" +msgstr "%u: enheden blev ikke genkendt: %s" + +#: modules/gcide/markup.l:312 +#, c-format +msgid "%u: unknown character sequence %s" +msgstr "%u: ukendt tegnsekvens: %s" + +#: modules/wordnet/wordnet.c:79 +msgid "cannot open wordnet database" +msgstr "kan ikke åbne wordnet-database" + +#: modules/wordnet/wordnet.c:232 +#, c-format +msgid "wordnet: unknown option %s" +msgstr "wordnet: ukendt tilvalg %s" + +#: modules/wordnet/wordnet.c:239 +#, c-format +msgid "wordnet: option %s is not yet supported" +msgstr "wordnet: tilvalget %s er endnu ikke understøttet" + +#: grecs/src/cidr.c:129 grecs/src/cidr.c:179 grecs/src/cidr.c:186 +#, c-format +msgid "invalid network mask: %s" +msgstr "ugyldig netværksmaske: %s" + +#: grecs/src/cidr.c:142 grecs/src/cidr.c:149 grecs/src/cidr.c:160 +#, c-format +msgid "unrecognized address family: %s" +msgstr "ikke genkendt adressefamilie: %s" + +#: grecs/src/cidr.c:153 +#, c-format +msgid "invalid network address: %s" +msgstr "ugyldig netværksadresse: %s" + +#: grecs/src/format.c:33 +msgid "void" +msgstr "" + +#: grecs/src/format.c:36 grecs/src/tree.c:69 +#, fuzzy +msgid "string" +msgstr "url: streng" + +#: grecs/src/format.c:46 +#, fuzzy +msgid "number" +msgstr "len: number" + +#: grecs/src/format.c:49 +msgid "time" +msgstr "" + +#: grecs/src/format.c:52 +#, fuzzy +msgid "boolean" +msgstr "bool" + +#: grecs/src/format.c:55 +msgid "IPv4" +msgstr "" + +#: grecs/src/format.c:58 +msgid "CIDR" +msgstr "" + +#: grecs/src/format.c:61 +#, fuzzy +msgid "hostname" +msgstr "navn" + +#: grecs/src/format.c:64 +#, fuzzy +msgid "sockaddr" +msgstr "adr" + +#: grecs/src/format.c:67 +#, fuzzy +msgid "section" +msgstr "Servervalg" + +#: grecs/src/format.c:70 +msgid "null" +msgstr "" + +#: grecs/src/format.c:133 +msgid "Disabled;" +msgstr "Deaktiveret;" + +#: grecs/src/grecs-lex.l:186 +#, c-format +msgid "stray character %c" +msgstr "vildfaren tegn %c" + +#: grecs/src/grecs-lex.l:189 +#, c-format +msgid "stray character \\%03o" +msgstr "vildfaren tegn \\%03o" + +#: grecs/src/grecs-lex.l:219 grecs/src/preproc.c:480 +#, c-format +msgid "Cannot open `%s'" +msgstr "Kan ikke åbne »%s«" + +#: grecs/src/grecs-lex.l:227 grecs/src/preproc.c:698 +#, c-format +msgid "Unable to start external preprocessor `%s'" +msgstr "Kan ikke starte ekstern forbrænder »%s«" + +#: grecs/src/grecs-lex.l:394 grecs/src/grecs-lex.l:431 +#, c-format +msgid "cannot parse #line line: %s" +msgstr "kan ikke fortolke #line-linje: %s" + +#: grecs/src/grecs-lex.l:415 grecs/src/grecs-lex.l:435 +msgid "invalid #line statement" +msgstr "ugyldig #line-udtryk" + +#: grecs/src/grecs-lex.l:418 grecs/src/grecs-lex.l:439 +msgid "malformed #line statement" +msgstr "forkert udformet #line-udtryk" + +#: grecs/src/lineacc.c:70 +#, c-format +msgid "unknown escape sequence: '\\%c'" +msgstr "ukendt undvigesekvens: »\\%c«" + +#: grecs/src/opthelp.c:123 grecs/src/opthelp.c:269 +msgid "Usage:" +msgstr "Brug:" + +#: grecs/src/opthelp.c:127 +msgid "OPTION" +msgstr "TILVALG" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Aliases" +msgstr "Aliasser" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Alias" +msgstr "Alias" + +#: grecs/src/opthelp.c:186 +msgid "" +"Mandatory or optional arguments to long options are also mandatory or " +"optional for any corresponding short options." +msgstr "" +"Obligatoriske eller valgfrie argumenter for lange tilvalg er også " +"obligatoriske eller valgfrie for tilsvarende korte tilvalg." + +#. TRANSLATORS: The placeholder indicates the bug-reporting +#. address for this package. Please add _another line_ saying +#. "Report translation bugs to <...>\n" with the address for +#. translation bugs (typically your translation team's web or +#. email address). +#: grecs/src/opthelp.c:202 +#, c-format +msgid "Report bugs to %s.\n" +msgstr "Rapporter fejl til %s.\n" + +#: grecs/src/opthelp.c:205 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s hjemmeside: <%s>\n" + +#. TRANSLATORS: Translate "(C)" to the copyright symbol +#. (C-in-a-circle), if this symbol is available in the user's +#. locale. Otherwise, do not translate "(C)"; leave it as-is. +#: grecs/src/opthelp.c:457 +msgid "(C)" +msgstr "©" + +#: grecs/src/opthelp.c:466 +msgid "" +"License GPLv3+: GNU GPL version 3 or later \n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +"\n" +msgstr "" +"Licens GPLv3+: GNU GPL version 3 eller senere\n" +". Dette er et frit program: du kan frit\n" +"ændre og videredistribuere programmet. Der er INGEN GARANTI, inden for\n" +"lovgivningens rammer.\n" + +#: grecs/src/opthelp.c:483 +msgid "Written by " +msgstr "Skrevet af " + +#. TRANSLATORS: This string is used as a delimiter between +#. authors' names as in: +#. +#. Written by Winnie the Pooh, Piglet ... +#. +#: grecs/src/opthelp.c:489 +msgid ", " +msgstr ", " + +#. TRANSLATORS: This string acts as a delimiter before the +#. last author's names, e.g.: +#. +#. Written by Winnie the Pooh, Piglet and Christopher Robin. +#. +#: grecs/src/opthelp.c:495 +msgid " and " +msgstr " og " + +#: grecs/src/path-parser.c:62 +#, c-format +msgid "cannot open `%s'" +msgstr "kan ikke åbne »%s«" + +#: grecs/src/path-parser.c:108 grecs/src/path-parser.c:123 +msgid "unexpected end of file" +msgstr "uventet filafslutning" + +#: grecs/src/path-parser.c:143 +msgid "parse error" +msgstr "fortolkningsfejl" + +#: grecs/src/preproc.c:448 grecs/src/preproc.c:470 +#, c-format +msgid "Cannot stat `%s'" +msgstr "Kan ikke køre stat på »%s«" + +#: grecs/src/preproc.c:453 grecs/src/preproc.c:458 +msgid "Recursive inclusion" +msgstr "Rekursiv inklusion" + +#: grecs/src/preproc.c:461 +#, c-format +msgid "`%s' already included here" +msgstr "»%s« allerede inkluderet her" + +#: grecs/src/preproc.c:465 +#, c-format +msgid "`%s' already included at top level" +msgstr "»%s« allerede inkluderet på topniveau" + +#: grecs/src/preproc.c:595 +msgid "Cannot parse include line" +msgstr "Kan ikke fortolke inkluderingslinje" + +#: grecs/src/preproc.c:598 +msgid "invalid include statement" +msgstr "ugyldigt inkluderingsudtryk" + +#: grecs/src/preproc.c:624 +msgid "read error" +msgstr "læsefejl" + +#: grecs/src/preproc.c:632 +#, c-format +msgid "%s: No such file or directory" +msgstr "%s: Ingen sådan fil eller mappe" + +#: grecs/src/preproc.c:773 grecs/src/preproc.c:793 +#, c-format +msgid "Cannot run `%s'" +msgstr "Kan ikke køre »%s«" + +#: grecs/src/sockaddr.c:67 +#, c-format +msgid "socket path name too long: %s" +msgstr "sokkelstinavnet er for langt: %s" + +#: grecs/src/sockaddr.c:120 +#, c-format +msgid "%s: garbage near %s" +msgstr "%s: affald nær %s" + +#: grecs/src/sockaddr.c:159 +#, c-format +msgid "service not specified: %s" +msgstr "tjeneste var ikke angivet: %s" + +#: grecs/src/sockaddr.c:176 +#, c-format +msgid "%s: cannot parse address: %s" +msgstr "%s: kan ikke fortolke adresse: %s" + +#: grecs/src/sockaddr.c:269 +#, c-format +msgid "unknown or unsupported scheme: %s" +msgstr "ukendt eller ikke understøttet skema: %s" + +#: grecs/src/sockaddr.c:278 +#, c-format +msgid "%s: UNIX socket must be an absolute file name" +msgstr "%s: UNIX-sokkel skal være et absolut filnavn" + +#: grecs/src/symtab.c:236 +msgid "element not found in table" +msgstr "element blev ikke fundet i tabel" + +#: grecs/src/symtab.c:238 +msgid "symbol table is full" +msgstr "symboltabel er fuld" + +#: grecs/src/tree.c:70 +msgid "list" +msgstr "" + +#: grecs/src/tree.c:71 +#, fuzzy +msgid "one or more arguments" +msgstr "for mange argumenter" + +#: grecs/src/tree.c:75 +msgid "unrecognized type; please report" +msgstr "" + +#: grecs/src/tree.c:320 +msgid "section keyword used as a scalar" +msgstr "" + +#: grecs/src/tree.c:322 +msgid "scalar keyword used as a section" +msgstr "" + +#: grecs/src/tree.c:325 +#, fuzzy +msgid "unknown keyword" +msgstr "Ukendt nøgleord" + +#: grecs/src/tree.c:360 +#, c-format +msgid "%s: not a valid boolean value" +msgstr "%s: ikke en gyldig boolesk værdi" + +#: grecs/src/tree.c:420 grecs/src/tree.c:644 +#, c-format +msgid "%s: not a valid IP address or hostname" +msgstr "%s: ikke en gyldig IP-adresse eller værtsnavn" + +#: grecs/src/tree.c:444 +#, c-format +msgid "%s: not a valid port number" +msgstr "%s: ikke et gyldigt portnummer" + +#: grecs/src/tree.c:452 +msgid "missing port number" +msgstr "mangler portnummer" + +#: grecs/src/tree.c:501 +msgid "numeric overflow" +msgstr "numerisk overløb" + +#: grecs/src/tree.c:506 +msgid "value out of allowed range" +msgstr "værdien er uden for det tilladte interval" + +#: grecs/src/tree.c:541 grecs/src/tree.c:571 +#, c-format +msgid "not a number (stopped near `%s')" +msgstr "ikke et nummer (stoppet nær »%s«)" + +#: grecs/src/tree.c:635 +#, c-format +msgid "%s: not a valid IP address" +msgstr "%s: ikke en gyldig IP-adresse" + +#: grecs/src/tree.c:774 +#, c-format +msgid "too many arguments to `%s'; missing semicolon?" +msgstr "for mange argumenter for »%s«; manglende semikolon?" + +#: grecs/src/tree.c:788 grecs/src/tree.c:836 +#, c-format +msgid "INTERNAL ERROR at %s:%d: unhandled data type %d" +msgstr "INTERN FEJL ved %s:%d: datatypen %d blev ikke håndteret" + +#: grecs/src/tree.c:803 +#, c-format +msgid "%s: incompatible data type in list item #%d" +msgstr "%s: datatypen i listepunktet #%d er ikke kompatibel" + +#: grecs/src/tree.c:823 +#, c-format +msgid "incompatible data type for `%s'" +msgstr "datatypen for »%s« er ikke kompatibel" + +#: grecs/wordsplit/wordsplit.c:130 +msgid "memory exhausted while trying to store error context" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:881 +msgid "Restarting" +msgstr "Genstarter" + +#: grecs/wordsplit/wordsplit.c:1607 +#, c-format +msgid "%.*s: variable null or not set" +msgstr "%.*s: variabel null eller ikke angivet" + +#: grecs/wordsplit/wordsplit.c:1637 +#, c-format +msgid "warning: undefined variable `%.*s'" +msgstr "advarsel: ikke defineret variabel »%.*s«" + +#: grecs/wordsplit/wordsplit.c:2138 +#, c-format +msgid "no files match pattern %s" +msgstr "ingen filer matcher mønster %s" + +#: grecs/wordsplit/wordsplit.c:2599 +msgid "WS trimming" +msgstr "WS-tilpasning" + +#: grecs/wordsplit/wordsplit.c:2601 +msgid "command substitution" +msgstr "kommandosubstitution" + +#: grecs/wordsplit/wordsplit.c:2603 grecs/wordsplit/wordsplit.c:2611 +msgid "coalesce list" +msgstr "coalesce-liste" + +#: grecs/wordsplit/wordsplit.c:2605 +msgid "tilde expansion" +msgstr "tilde-udvidelse" + +#: grecs/wordsplit/wordsplit.c:2607 +msgid "variable expansion" +msgstr "variabeludvidelse" + +#: grecs/wordsplit/wordsplit.c:2609 +msgid "quote removal" +msgstr "fjernelse af citationstegn" + +#: grecs/wordsplit/wordsplit.c:2613 +msgid "path expansion" +msgstr "stiudvidelse" + +#: grecs/wordsplit/wordsplit.c:2638 +#, c-format +msgid "(%02d) Input:%.*s;" +msgstr "(%02d) Inddata:%.*s;" + +#: grecs/wordsplit/wordsplit.c:2664 +msgid "Initial list:" +msgstr "Oprindelig liste:" + +#: grecs/wordsplit/wordsplit.c:2679 +msgid "Coalesced list:" +msgstr "Sammensmeltet liste:" + +#: grecs/wordsplit/wordsplit.c:2849 +msgid "no error" +msgstr "ingen fejl" + +#: grecs/wordsplit/wordsplit.c:2850 +msgid "missing closing quote" +msgstr "mangler afsluttende citationstegn" + +#: grecs/wordsplit/wordsplit.c:2852 +msgid "invalid wordsplit usage" +msgstr "ugyldig orddelingsbrug" + +#: grecs/wordsplit/wordsplit.c:2853 +msgid "unbalanced curly brace" +msgstr "krøllet parentes er ikke lukket" + +#: grecs/wordsplit/wordsplit.c:2854 +msgid "undefined variable" +msgstr "udefineret variabel" + +#: grecs/wordsplit/wordsplit.c:2855 +msgid "input exhausted" +msgstr "inddata opbrugt" + +#: grecs/wordsplit/wordsplit.c:2856 +msgid "unbalanced parenthesis" +msgstr "parentes uden modpart" + +#: grecs/wordsplit/wordsplit.c:2857 +msgid "globbing error" +msgstr "globbingfejl" + +#: grecs/wordsplit/wordsplit.c:2858 +#, fuzzy +msgid "user-defined error" +msgstr "læsefejl" + +#: grecs/wordsplit/wordsplit.c:2859 +msgid "invalid parameter number in assignment" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2871 +msgid "unknown error" +msgstr "ukendt fejl" + +#: grecs/wordsplit/wordsplit.c:2880 +#, c-format +msgid "missing closing %c (start near #%lu)" +msgstr "mangler afsluttende %c (start nær #%lu)" + +#~ msgid "%s: option '--%s' doesn't allow an argument\n" +#~ msgstr "%s: tilvalget »--%s« tillader ikke et argument\n" + +#~ msgid "%s: unrecognized option '--%s'\n" +#~ msgstr "%s: ikke genkendt tilvalg »--%s«\n" + +#~ msgid "%s: option '-W %s' doesn't allow an argument\n" +#~ msgstr "%s: tilvalget »-W %s« tillader ikke et argument\n" + +#~ msgid "%s: option '-W %s' requires an argument\n" +#~ msgstr "%s: tilvalget »-W %s« kræver et argument\n" + +#~ msgid "%s: unknown keyword" +#~ msgstr "%s: ukendt nøgleord" + +#~ msgid "" +#~ "cannot initialize database `%s': module `%s' does not support databases" +#~ msgstr "" +#~ "kan ikke initialisere databasen »%s«: modulet »%s« understøtter ikke " +#~ "databaser" + +#~ msgid "cannot initialize database `%s'" +#~ msgstr "kan ikke initialisere databasen »%s«" + +#~ msgid "cannot open database `%s'" +#~ msgstr "kan ikke åbne databasen »%s«" + +#~ msgid "gcide_match_all: key initialization failed" +#~ msgstr "gcide_match_all: nøgleinitialisering mislykkedes" + +#~ msgid "write error" +#~ msgstr "skrivefejl" + +#~ msgid "not enough memory" +#~ msgstr "ikke nok hukommelse" + +#~ msgid "wn_foreach: key initialization failed" +#~ msgstr "wn_foreach: nøgleinitialisering mislykkedes" + +#~ msgid "(%02d) Restart:%.*s;" +#~ msgstr "(%02d) Genstart:%.*s;" Binary files /tmp/tmpzBUTb6/GFUWpBukhc/dico-2.9/po/de.gmo and /tmp/tmpzBUTb6/cwmgEPIKlI/dico-2.10/po/de.gmo differ diff -Nru dico-2.9/po/de.po dico-2.10/po/de.po --- dico-2.9/po/de.po 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/po/de.po 2020-09-04 04:06:48.000000000 +0000 @@ -0,0 +1,2982 @@ +# German translation for Dico. +# Copyright (C) 2012, 2016 Free Software Foundation, Inc. +# This file is distributed under the same license as the Dico package. +# +# Philipp Thomas , 2016. +# Mario Blättermann , 2013, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU dico 2.7\n" +"Report-Msgid-Bugs-To: bug-dico@gnu.org\n" +"POT-Creation-Date: 2020-09-04 07:06+0300\n" +"PO-Revision-Date: 2019-01-29 13:29+0100\n" +"Last-Translator: Mario Blättermann \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"X-Generator: Lokalize 18.12.1\n" + +#: xdico/userprivs.c:40 +msgid "Refusing to run as root" +msgstr "Ausführung mit Root-Rechten wird verweigert" + +#: xdico/userprivs.c:58 +#, c-format +msgid "setgroups(1, %lu) failed" +msgstr "setgroups(1, %lu) fehlgeschlagen" + +#: xdico/userprivs.c:69 +#, c-format +msgid "setegid(%lu) failed" +msgstr "setegid(%lu) fehlgeschlagen" + +#: xdico/userprivs.c:73 +#, c-format +msgid "setregid(%lu,%lu) failed" +msgstr "setregid(%lu,%lu) fehlgeschlagen" + +#: xdico/userprivs.c:77 +#, c-format +msgid "setresgid(%lu,%lu,%lu) failed" +msgstr "setresgid(%lu,%lu,%lu) fehlgeschlagen" + +#: xdico/userprivs.c:85 +#, c-format +msgid "setgid(%lu) failed" +msgstr "setgid(%lu) fehlgeschlagen" + +#: xdico/userprivs.c:88 +#, c-format +msgid "Cannot set effective gid to %lu" +msgstr "Effektive GID konnte nicht zu %lu gesetzt werden" + +#: xdico/userprivs.c:106 +#, c-format +msgid "setreuid(%lu,-1) failed" +msgstr "setreuid(%lu,-1) fehlgeschlagen" + +#: xdico/userprivs.c:111 +#, c-format +msgid "second setuid(%lu) failed" +msgstr "zweites setuid(%lu) fehlgeschlagen" + +#: xdico/userprivs.c:118 +#, c-format +msgid "setuid(%lu) failed" +msgstr "setuid(%lu) fehlgeschlagen" + +#: xdico/userprivs.c:126 +msgid "seteuid(0) succeeded when it should not" +msgstr "seteuid(0) war erfolgreich, sollte aber nicht" + +#: xdico/userprivs.c:129 +msgid "Cannot drop non-root setuid privileges" +msgstr "Die Nicht-Root-Anmeldeprivilegien können nicht aufgegeben werden" + +#: xdico/xstream.c:41 +msgid "not enough memory while formatting reply message" +msgstr "Nicht genug Speicher während der Formatierung der Antwort" + +#. TRANSLATORS: +#. Get translations for open and closing quotation marks. +#. The message catalog should translate "`" to a left +#. quotation mark suitable for the locale, and similarly for +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. +#. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. +#. +#. If you don't know what to put here, please see +#. +#. and use glyphs suitable for your language. +#: xdico/gnu/quotearg.c:362 +msgid "`" +msgstr "„" + +#: xdico/gnu/quotearg.c:363 +msgid "'" +msgstr "“" + +#: xdico/gnu/obstack.c:338 xdico/gnu/obstack.c:340 +#: grecs/wordsplit/wordsplit.c:76 grecs/wordsplit/wordsplit.c:2851 +msgid "memory exhausted" +msgstr "Speicher ausgeschöpft" + +#: xdico/gnu/getopt.c:278 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous\n" +msgstr "%s: Option „-W %s“ ist nicht eindeutig\n" + +#: xdico/gnu/getopt.c:284 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous; possibilities:" +msgstr "%s: Die Option „%s“ ist nicht eindeutig. Möglich wäre:" + +#: xdico/gnu/getopt.c:319 +#, fuzzy, c-format +msgid "%s: unrecognized option '%s%s'\n" +msgstr "%s: Unbekannte Option „%c%s“\n" + +#: xdico/gnu/getopt.c:345 +#, fuzzy, c-format +msgid "%s: option '%s%s' doesn't allow an argument\n" +msgstr "%s: Option „%c%s“ erlaubt kein Argument\n" + +#: xdico/gnu/getopt.c:360 +#, fuzzy, c-format +msgid "%s: option '%s%s' requires an argument\n" +msgstr "%s: Option „%s“ benötigt ein Argument\n" + +#: xdico/gnu/getopt.c:621 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: Ungültige Option -- „%c“\n" + +#: xdico/gnu/getopt.c:636 xdico/gnu/getopt.c:682 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: Option erfordert ein Argument -- „%c“\n" + +#: lib/parseopt.c:116 +#, c-format +msgid "%s: %s: unknown option" +msgstr "%s: %s: Unbekannte Option" + +#: lib/parseopt.c:127 +#, c-format +msgid "%s: %s: %s is not a valid number" +msgstr "%s: %s: %s ist keine gültige Zahl" + +#: lib/parseopt.c:168 +#, c-format +msgid "%s: %s: invalid value %s" +msgstr "%s: %s: Ungültiger Wert %s" + +#: lib/iostr.c:91 +msgid "No error" +msgstr "Kein Fehler" + +#: dico/shell.c:34 +msgid "WORD" +msgstr "WORT" + +#: dico/shell.c:34 +msgid "Define WORD." +msgstr "WORT festlegen." + +#: dico/shell.c:35 +msgid "/WORD" +msgstr "/WORT" + +#: dico/shell.c:35 +msgid "Match WORD." +msgstr "WORT finden." + +#: dico/shell.c:36 +msgid "Redisplay previous matches." +msgstr "Vorige Treffer erneut anzeigen." + +#: dico/shell.c:37 cmdline.opt:131 +msgid "NUMBER" +msgstr "ZAHL" + +#: dico/shell.c:37 +msgid "Define NUMBERth match." +msgstr "Suchmuster ZAHL definieren." + +#: dico/shell.c:39 +msgid "Edit NUMBERth previous command." +msgstr "Vorangehenden ZAHLten Befehl bearbeiten." + +#: dico/shell.c:45 +msgid "[HOST [PORT]]" +msgstr "[HOST [PORT]]" + +#: dico/shell.c:46 +msgid "Connect to a DICT server." +msgstr "Mit einem DICT-Server verbinden." + +#: dico/shell.c:50 +msgid "Close the connection." +msgstr "Die Verbindung schließen." + +#: dico/shell.c:53 dico/shell.c:57 +msgid "[NAME]" +msgstr "[NAME]" + +#: dico/shell.c:54 +msgid "Set or display current database name." +msgstr "Den aktuellen Datenbanknamen festlegen oder anzeigen." + +#: dico/shell.c:58 +msgid "Set or display current strategy." +msgstr "Die aktuelle Strategie festlegen oder anzeigen." + +#: dico/shell.c:61 +msgid "[NUM]" +msgstr "[ZAHL]" + +#: dico/shell.c:62 +msgid "Set or query Levenshtein distance (server-dependent)." +msgstr "Levenshtein-Distanz setzen oder abfragen (vom Server abhängig)." + +#: dico/shell.c:66 +msgid "List available matching strategies" +msgstr "Verfügbare Trefferstrategien anzeigen" + +#: dico/shell.c:70 +msgid "List all accessible databases" +msgstr "Alle verfügbaren Datenbanken anzeigen." + +#: dico/shell.c:73 +msgid "[DB]" +msgstr "[DB]" + +#: dico/shell.c:74 +msgid "Display the information about the database." +msgstr "Informationen über die Datenbank anzeigen." + +#: dico/shell.c:77 +msgid "[CHAR]" +msgstr "[ZEICHEN]" + +#: dico/shell.c:78 +msgid "Set or display command prefix." +msgstr "Befehlspräfix setzen oder anzeigen." + +#: dico/shell.c:81 dico/shell.c:101 +msgid "[BOOL]" +msgstr "[BOOL]" + +#: dico/shell.c:82 +msgid "Set or display session transcript mode." +msgstr "Den Modus des Sitzungsprotokolls setzen oder anzeigen." + +#: dico/shell.c:85 +msgid "[NUMBER]" +msgstr "[ZAHL]" + +#: dico/shell.c:86 +msgid "Set or display verbosity level." +msgstr "Ausführlichkeitsstufe setzen oder anzeigen." + +#: dico/shell.c:89 dico/shell.c:93 cmdline.opt:158 cmdline.opt:170 +msgid "STRING" +msgstr "ZEICHENKETTE" + +#: dico/shell.c:90 +msgid "Change command line prompt." +msgstr "Befehlszeilenprompt ändern." + +#: dico/shell.c:94 +msgid "Change or display pager settings." +msgstr "Die Pager-Einstellungen ändern oder anzeigen." + +#: dico/shell.c:97 +msgid "[FILE]" +msgstr "[DATEI]" + +#: dico/shell.c:98 +msgid "Set or display autologin file name." +msgstr "Dateiname für Autologin setzen oder anzeigen." + +#: dico/shell.c:102 +msgid "Enable SASL authentication." +msgstr "SASL-Authentifizierung aktivieren." + +#: dico/shell.c:107 +msgid "Display command history." +msgstr "Befehlsspeicher anzeigen." + +#: dico/shell.c:112 +msgid "Display this help text." +msgstr "Diese Hilfe anzeigen." + +#: dico/shell.c:116 +msgid "Print program version." +msgstr "Programmversion ausgeben." + +#: dico/shell.c:120 +msgid "Print copyright statement." +msgstr "Urheberrechtshinweis ausgeben." + +#: dico/shell.c:128 +msgid "Quit the shell." +msgstr "Die Shell beenden." + +#: dico/shell.c:149 +#, c-format +msgid "Command prefix is %c\n" +msgstr "Befehlspräfix ist %c\n" + +#: dico/shell.c:151 +msgid "Expected a single punctuation character" +msgstr "Einzelnes Interpunktionszeichen erwartet" + +#: dico/shell.c:229 +msgid "warning: " +msgstr "Warnung: " + +#: dico/shell.c:342 +msgid "unknown command" +msgstr "Unbekannter Befehl" + +#: dico/shell.c:352 +msgid "not enough arguments" +msgstr "Nicht genug Argumente" + +#: dico/shell.c:355 dicod/main.c:170 dicod/main.c:232 dicod/main.c:584 +#: dicod/main.c:793 +msgid "too many arguments" +msgstr "Zu viele Argumente" + +#: dico/shell.c:398 +#, c-format +msgid "Cannot open init file %s" +msgstr "init-Datei %s kann nicht geöffnet werden" + +#: dico/connect.c:89 dico/connect.c:404 +msgid "No reply from server" +msgstr "Keine Antwort vom Server" + +#: dico/connect.c:110 +msgid "Attempting APOP authentication\n" +msgstr "APOP-Authentifizierung wird versucht\n" + +#: dico/connect.c:117 dico/saslauth.c:338 +msgid "Not enough credentials for authentication" +msgstr "Ungenügende Anmeldedaten zur Legitimierung" + +#: dico/connect.c:121 dico/saslauth.c:343 +msgid "Skipping authentication\n" +msgstr "Legitimierung wird übersprungen\n" + +#: dico/connect.c:204 +msgid "Obtained authentication credentials from the command line\n" +msgstr "Aus der Befehlszeile ermittelte Authentifizierungsdaten\n" + +#: dico/connect.c:211 +#, c-format +msgid "File %s does not exist" +msgstr "Datei %s existiert nicht" + +#: dico/connect.c:228 +msgid "Password:" +msgstr "Passwort:" + +#: dico/connect.c:244 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot get stream transport" +msgstr "" +"INTERNER FEHLER auf %s:%d: Datenstromtransport kann nicht erhalten werden" + +#: dico/connect.c:252 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot set stream transport" +msgstr "" +"INTERNER FEHLER auf %s:%d: Datenstromtransport kann nicht gesetzt werden" + +#: dico/connect.c:303 +#, c-format +msgid "Connecting to %s\n" +msgstr "Verbindung zu %s wird aufgebaut\n" + +#: dico/connect.c:311 +#, c-format +msgid "bad source address: %s" +msgstr "ungültige Quelladresse: %s" + +#: dico/connect.c:326 +msgid "can't bind to the source address" +msgstr "Verbindung mit Quelladresse ist nicht möglich" + +#: dico/connect.c:339 +#, c-format +msgid "%s: can't get address: %s" +msgstr "%s: Adresse kann nicht erhalten werden: %s" + +#: dico/connect.c:347 grecs/src/tree.c:391 +#, c-format +msgid "%s: UNIX socket name too long" +msgstr "%s: UNIX-Name des Sockets ist zu lang" + +#: dico/connect.c:373 +msgid "cannot create dict socket" +msgstr "DICT-Socket kann nicht angelegt werden" + +#: dico/connect.c:383 +#, c-format +msgid "%s: cannot connect" +msgstr "%s: keine Verbindung möglich" + +#: dico/connect.c:394 +#, c-format +msgid "cannot create dict stream: %s" +msgstr "DICT-Datenstrom konnte nicht angelegt werden: %s" + +#: dico/connect.c:408 +msgid "Invalid reply from server" +msgstr "Ungültige Antwort vom Server" + +#: dico/connect.c:413 +msgid "Sending client information\n" +msgstr "Client-Informationen werden übertragen\n" + +#: dico/connect.c:418 +#, c-format +msgid "Unexpected reply to CLIENT command: `%s'" +msgstr "Unerwartete Antwort auf CLIENT-Befehl: „%s“" + +#: dico/connect.c:424 +msgid "Authentication failed" +msgstr "Authentifizierung fehlgeschlagen" + +#: dico/connect.c:497 +#, c-format +msgid "Sending query for word \"%s\" in database \"%s\"\n" +msgstr "" +"Abfrage zum Finden des Wortes „%s“ in der Datenbank „%s“ wird gesendet\n" + +#: dico/connect.c:508 +#, c-format +msgid "Reading %lu definition\n" +msgid_plural "Reading %lu definitions\n" +msgstr[0] "%lu Definition wird gelesen\n" +msgstr[1] "%lu Definitionen werden gelesen\n" + +#: dico/connect.c:515 +#, c-format +msgid "Unexpected reply in place of definition %lu" +msgstr "Unerwartete Antwort anstelle der Definition %lu" + +#: dico/connect.c:538 +msgid "Setting Levenshtein threshold\n" +msgstr "Levenshtein-Schwellwert wird gesetzt\n" + +#: dico/connect.c:544 +msgid "Server rejected XLEV command" +msgstr "Server hat den XLEV-Befehl abgewiesen" + +#: dico/connect.c:545 +#, c-format +msgid "Server reply: %s" +msgstr "Serverantwort: %s" + +#: dico/connect.c:548 +#, c-format +msgid "Sending query to match word \"%s\" in database \"%s\", using \"%s\"\n" +msgstr "" +"Abfrage zum Finden des Wortes „%s“ in der Datenbank „%s“ wird gesendet, „%s“ " +"wird verwendet\n" + +#: dico/connect.c:561 +#, c-format +msgid "Reading %lu match\n" +msgid_plural "Reading %lu matches\n" +msgstr[0] "%lu Treffer wird gelesen\n" +msgstr[1] "%lu Treffer werden gelesen\n" + +#: dico/connect.c:639 +msgid "Not enough data in the result" +msgstr "Nicht genug Daten im Ergebnis" + +#: dico/connect.c:706 +msgid "Freeing unlinked result" +msgstr "Resultat wird freigegeben" + +#: dico/dico.c:80 +msgid "extra command line arguments ignored" +msgstr "Zusätzliche Befehlszeilenargumente werden ignoriert" + +#: dico/dico.c:88 +msgid "you should give a word to look for or an URL" +msgstr "" +"Sie sollten ein Wort eingeben, anhand dessen gesucht wird, oder eine URL" + +#: dico/dico.c:107 +msgid "Database name not specified" +msgstr "Datenbankname nicht angegeben" + +#: dico/func.c:33 dicod/main.c:1120 +msgid "Expected boolean value" +msgstr "Boolescher Wert wurde erwartet" + +#: dico/func.c:67 +#, c-format +msgid "Cannot get listing: %s" +msgstr "Auflistung kann nicht erhalten werden: %s" + +#: dico/func.c:104 dico/func.c:138 +msgid "Please specify server name or IP address" +msgstr "Geben Sie den Servernamen oder die IP-Adresse an" + +#: dico/func.c:109 +msgid "Cannot connect to the server" +msgstr "Verbindung zum Server kann nicht aufgebaut werden" + +#: dico/func.c:112 +msgid "Getting list of databases\n" +msgstr "Datenbankliste wird geholt\n" + +#: dico/func.c:114 +msgid "Getting list of strategies\n" +msgstr "Strategieliste wird geholt\n" + +#: dico/func.c:116 +msgid "Finished getting server information\n" +msgstr "Holen der Serverinformationen ist abgeschlossen\n" + +#: dico/func.c:150 +msgid "Nothing to close" +msgstr "Nichts zu schließen" + +#: dico/func.c:160 +msgid "No autologin file." +msgstr "Keine Autologin-Datei." + +#: dico/func.c:177 dico/func.c:268 +msgid "on" +msgstr "an" + +#: dico/func.c:177 dico/func.c:268 +msgid "off" +msgstr "aus" + +#: dico/func.c:258 dico/func.c:366 +msgid "invalid number" +msgstr "Ungültige Zahl" + +#: dico/func.c:268 +#, c-format +msgid "transcript is %s\n" +msgstr "Das Protokoll ist %s\n" + +#: dico/func.c:309 dico/func.c:325 +msgid "No previous match" +msgstr "Kein vorheriger Treffer" + +#: dico/func.c:329 +msgid "Invalid match number. Type / to see the matches." +msgstr "" +"Ungültige Anzahl von Treffern. Geben Sie / ein, um die Treffer anzuzeigen." + +#: dico/func.c:344 +#, c-format +msgid "Server does not support XLEV extension" +msgstr "Ihr Server unterstützt die XLEV-Erweiterung nicht" + +#: dico/func.c:350 +#, c-format +msgid "Reported Levenshtein distance:%s\n" +msgstr "Gemeldete Levenshtein-Distanz:%s\n" + +#: dico/func.c:353 +msgid "Cannot query Levenshtein distance. Server responded:" +msgstr "" +"Die Levenshtein-Distanz konnte nicht ermittelt werden: Der Server antwortete:" + +#: dico/func.c:358 +#, c-format +msgid "No distance configured\n" +msgstr "Keine Distanz konfiguriert\n" + +#: dico/func.c:360 +#, c-format +msgid "Configured Levenshtein distance: %u\n" +msgstr "Konfigurierte Levenshtein-Distanz: %u\n" + +#: dico/func.c:395 +#, c-format +msgid "" +"Search all of the databases until a match is found,\n" +"and display all matches in that database.\n" +msgstr "" +"Alle Datenbanken durchsuchen, bis ein Treffer gefunden wird\n" +"und alle Treffer in dieser Datenbank anzeigen.\n" + +#: dico/func.c:398 +#, c-format +msgid "Search all of the databases and display all matches." +msgstr "Alle Datenbanken durchsuchen und alle Treffer anzeigen" + +#: dico/autologin.c:151 +#, c-format +msgid "Found matching line %d\n" +msgstr "Passende Zeile %d gefunden\n" + +#: dico/autologin.c:160 +#, c-format +msgid "Found default line %d\n" +msgstr "Vorgegebene Zeile %d gefunden\n" + +#: dico/autologin.c:192 +#, c-format +msgid "Cannot open autologin file %s" +msgstr "Autologin-Datei %s kann nicht geöffnet werden" + +#: dico/autologin.c:197 +#, c-format +msgid "Reading autologin file %s...\n" +msgstr "Autologin-Datei %s wird gelesen …\n" + +#: dico/autologin.c:218 +#, c-format +msgid "failed to parse command `%s': %s" +msgstr "Befehl „%s“ konnte nicht verarbeitet werden: %s" + +#: dico/autologin.c:229 +#, c-format +msgid "failed to add line marker: %s" +msgstr "Zeilenmarkierung konnte nicht hinzugefügt werden: %s" + +#: dico/autologin.c:251 +msgid "No matching line found\n" +msgstr "Keine passende Zeile gefunden\n" + +#: dico/autologin.c:269 +#, c-format +msgid "%s:%d: unknown keyword" +msgstr "%s:%d: Unbekanntes Schlüsselwort" + +#: dico/autologin.c:277 +#, c-format +msgid "%s:%d: %s without argument" +msgstr "%s:%d: %s Ohne Argument" + +#: dico/autologin.c:335 +#, c-format +msgid "%s:%d: failed to parse line: %s" +msgstr "%s:%d: Zeile konnte nicht verarbeitet werden: %s" + +#: cmdline.opt:29 +msgid "Server selection" +msgstr "Serverauswahl" + +#: cmdline.opt:45 +msgid "SERVER" +msgstr "SERVER" + +#: cmdline.opt:45 +msgid "connect to this server" +msgstr "Mit diesem Server verbinden" + +#: cmdline.opt:51 +msgid "SERVICE" +msgstr "DIENST" + +#: cmdline.opt:51 +msgid "specify port to connect to" +msgstr "Den Port für die Verbindung angeben." + +#: cmdline.opt:57 cmdline.opt:77 cmdline.opt:151 cmdline.opt:164 +msgid "NAME" +msgstr "NAME" + +#: cmdline.opt:57 +msgid "select a database to search" +msgstr "Die zu durchsuchende Datenbank auswählen." + +#: cmdline.opt:63 +msgid "ADDR" +msgstr "ADRESSE" + +#: cmdline.opt:63 +msgid "set a source address for TCP connections" +msgstr "Eine Quelladresse für TCP-Verbindungen festlegen." + +#: cmdline.opt:55 +msgid "Operation modes" +msgstr "Operationsmodi" + +#: cmdline.opt:71 +msgid "match instead of define" +msgstr "match statt define" + +#: cmdline.opt:77 +msgid "select a strategy for matching; implies --match" +msgstr "Eine Strategie zum Finden von Treffern wählen. Bezieht --match ein." + +#: cmdline.opt:85 +msgid "N" +msgstr "N" + +#: cmdline.opt:85 +msgid "set maximum Levenshtein distance" +msgstr "Maximale Levenshtein-Distanz zu N anzeigen." + +#: cmdline.opt:94 +msgid "show available databases" +msgstr "Die verfügbaren Datenbanken anzeigen." + +#: cmdline.opt:100 +msgid "show available search strategies" +msgstr "Die verfügbaren Suchstrategien anzeigen." + +#: cmdline.opt:106 +msgid "show server help" +msgstr "Server-Hilfe anzeigen." + +#: cmdline.opt:112 +msgid "DBNAME" +msgstr "DBNAME" + +#: cmdline.opt:112 +msgid "show information about database DBNAME" +msgstr "Informationen zur Datenbank DBNAME anzeigen." + +#: cmdline.opt:119 +msgid "show information about the server" +msgstr "Informationen über den Server anzeigen." + +#: cmdline.opt:125 +msgid "do not print the normal dico welcome" +msgstr "Die übliche Dico-Begrüßung nicht ausgeben." + +#: cmdline.opt:117 +msgid "Authentication" +msgstr "Legitimierung" + +#: cmdline.opt:133 +msgid "disable authentication" +msgstr "Authentifizierung deaktivieren." + +#: cmdline.opt:139 +msgid "enable SASL authentication (default)" +msgstr "SASL-Authentifizierung aktivieren (Vorgabe)." + +#: cmdline.opt:145 +msgid "disable SASL authentication" +msgstr "SASL-Authentifizierung deaktivieren." + +#: cmdline.opt:151 +msgid "set user name for authentication" +msgstr "Benutzername für Authentifizierung festlegen." + +#: cmdline.opt:158 +msgid "set shared secret for authentication" +msgstr "Das geteilte Geheimnis für die Authentifizierung festlegen." + +#: cmdline.opt:164 +msgid "set the name of autologin file to use" +msgstr "Den Namen der zu verwendenden Autologin-Datei setzen." + +#: cmdline.opt:170 +msgid "additional text for client command" +msgstr "Zusätzlicher Text für Client-Befehl." + +#: cmdline.opt:162 cmdline.opt:103 +msgid "Debugging" +msgstr "Fehlerdiagnose" + +#: cmdline.opt:177 cmdline.opt:119 +msgid "enable session transcript" +msgstr "Protokollieren der Sitzung aktivieren" + +#: cmdline.opt:183 +msgid "increase debugging verbosity level" +msgstr "Die Ausführlichkeitsstufe für die Fehlerdiagnose erhöhen." + +#: cmdline.opt:189 +msgid "include time stamp in the debugging output" +msgstr "Zeitstempel in der Fehlerdiagnose mit angeben." + +#: cmdline.opt:196 cmdline.opt:138 +msgid "include source line information in the debugging output" +msgstr "Informationen zur Quellzeile in der Fehlerdiagnose mit angeben." + +#: cmdline.opt:188 +msgid "Other options" +msgstr "Weitere Optionen" + +#: cmdline.opt:200 +msgid "Give this help list" +msgstr "Diese Hilfe ausgeben" + +#: cmdline.opt:200 +msgid "Give a short usage message" +msgstr "Kurzen Bedienungshinweis ausgeben" + +#: cmdline.opt:200 +msgid "Print program version" +msgstr "Programmversion ausgeben" + +#: cmdline.opt:37 +msgid "GNU dictionary client program" +msgstr "GNU-Wörterbuchclient" + +#: cmdline.opt:39 +msgid "[URL-or-WORD]" +msgstr "[URL-oder-WORT]" + +#: cmdline.opt:81 +#, c-format +msgid "%s: invalid number" +msgstr "%s: ungültige Zahl" + +#: cmdline.opt:230 +msgid "Type ? for help summary" +msgstr "Gehen Sie ? für eine Zusammenfassung ein" + +#: dico/lookup.c:23 +msgid "No match" +msgstr "Kein Treffer" + +#: dico/lookup.c:65 dico/lookup.c:175 +#, c-format +msgid "From %s, %s:\n" +msgstr "Von %s, %s:\n" + +#: dico/lookup.c:137 +msgid "(no description available)" +msgstr "(keine Beschreibung verfügbar)" + +#: dico/lookup.c:209 +#, c-format +msgid "%s:%d: INTERNAL ERROR: unexpected request type" +msgstr "%s:%d: INTERNER FEHLER: unerwarteter Abfragetyp" + +#: dico/lookup.c:229 dico/lookup.c:296 +msgid "Server name or IP not specified" +msgstr "Servername oder IP nicht angegeben" + +#: dico/lookup.c:238 +msgid "Quitting\n" +msgstr "Wird beendet\n" + +#: dico/saslauth.c:39 dicod/gsasl.c:370 +#, c-format +msgid "cannot get list of available SASL mechanisms: %s" +msgstr "Liste der verfügbaren SASL-Mechanismen kann nicht geholt werden: %s" + +#: dico/saslauth.c:110 +#, c-format +msgid "Unknown callback property %d" +msgstr "Unbekannte Callback-Eigenschaft %d" + +#: dico/saslauth.c:121 dico/saslauth.c:127 +msgid "GSASL handshake aborted" +msgstr "VGSASL-Handshake wurde abgebrochen" + +#: dico/saslauth.c:168 +#, c-format +msgid "GSASL handshake aborted: unexpected reply: %s" +msgstr "GSASL-Handshake abgebrochen: unerwartete Antwort: %s" + +#: dico/saslauth.c:186 dicod/gsasl.c:148 +#, c-format +msgid "GSASL error: %s" +msgstr "GSASL-Fehler: %s" + +#: dico/saslauth.c:233 +msgid "Initializing SASL\n" +msgstr "SASL wird initialisiert\n" + +#: dico/saslauth.c:236 +#, c-format +msgid "Cannot initialize libgsasl: %s" +msgstr "libgsasl kann nicht initialisiert werden: %s" + +#: dico/saslauth.c:281 +msgid "Trying SASL\n" +msgstr "SASL wird versucht\n" + +#: dico/saslauth.c:291 +msgid "No suitable SASL mechanism found" +msgstr "Kein nutzbarer SASL-Mechanismus gefunden" + +#: dico/saslauth.c:300 +#, c-format +msgid "Selected authentication mechanism %s" +msgstr "Ausgewählte Authentifizierungsmethode %s" + +#: dico/saslauth.c:310 +msgid "SASL authentication succeeded" +msgstr "SASL-Authentifizierung war erfolgreich" + +#: dico/saslauth.c:311 +msgid "SASL authentication failed" +msgstr "SASL-Authentifizierung fehlgeschlagen" + +#: dico/saslauth.c:374 +msgid "Dico compiled without SASL support" +msgstr "Dico wurde ohne SASL-Unterstützung kompiliert" + +#: dicod/regex.c:46 +#, c-format +msgid "Regex error: %s" +msgstr "Regex-Fehler: %s" + +#: dicod/dicod.c:119 dicod/dicod.c:137 dicod/main.c:1572 +#, c-format +msgid "removing database %s" +msgstr "Datenbank %s wird entfernt" + +#: dicod/dicod.c:153 +#, c-format +msgid "error closing database %s" +msgstr "Fehler beim Schließen der Datenbank %s" + +#: dicod/dicod.c:291 +#, c-format +msgid "error freeing database %s" +msgstr "Fehler beim Freigeben der Datenbank %s" + +#: dicod/dicod.c:345 +msgid "connection from" +msgstr "Verbindung von" + +#: dicod/dicod.c:364 +msgid "session finished:" +msgstr "Sitzung beendet:" + +#: dicod/acl.c:69 +msgid "expected string" +msgstr "Zeichenkette erwartet" + +#: dicod/acl.c:116 +msgid "expected string but found list" +msgstr "Zeichenkette erwartet, aber Liste gefunden" + +#: dicod/acl.c:129 +#, c-format +msgid "socket name too long: `%s'" +msgstr "Name des Sockets ist zu lang: „%s“" + +#: dicod/acl.c:157 +msgid "expected `from', but found list" +msgstr "„from“ erwartet, Liste gefunden" + +#: dicod/acl.c:160 +#, c-format +msgid "expected `from', but found `%s'" +msgstr "„from“ erwartet, aber „%s“ gefunden" + +#: dicod/acl.c:169 +msgid "unexpected end of statement after `from'" +msgstr "unerwartetes Ende der Anweisung nach „from“" + +#: dicod/acl.c:195 +msgid "junk after `from' list" +msgstr "Müll nach der „from“-Liste" + +#: dicod/acl.c:211 +msgid "expected ACL name, but found end of statement" +msgstr "ACL-Name wurde erwartet, aber Anweisungsende gefunden" + +#: dicod/acl.c:217 +msgid "expected string, but found list" +msgstr "Zeichenkette wurde erwartet, aber eine Liste gefunden" + +#: dicod/acl.c:224 +#, c-format +msgid "ACL not defined: `%s'" +msgstr "ACL nicht definiert: „%s“" + +#: dicod/acl.c:242 +msgid "expected group list, but found end of statement" +msgstr "Gruppenliste wurde erwartet, aber Anweisungsende gefunden" + +#: dicod/acl.c:255 +msgid "expected group list, but found array" +msgstr "Gruppenliste wurde erwartet, aber Array gefunden" + +#: dicod/acl.c:268 +msgid "expected string value" +msgstr "Wertestring erwartet" + +#: dicod/acl.c:290 +#, c-format +msgid "unknown word `%s'" +msgstr "Unbekanntes Wort „%s“" + +#: dicod/acl.c:302 +msgid "unexpected list" +msgstr "unerwartete Liste" + +#. TRANSLATORS: `MATCHES' is the verb `match' in 2nd person. +#. E.g., in French: CONCORD AVEC +#: dicod/acl.c:400 +msgid "MATCHES" +msgstr "TREFFER" + +#: dicod/acl.c:400 +msgid "does not match" +msgstr "keine Übereinstimmung" + +#: dicod/dbtext.c:28 +#, c-format +msgid "cannot get path from URL `%s'" +msgstr "Pfad aus URL „%s“ konnte nicht ermittelt werden" + +#: dicod/dbtext.c:33 +#, c-format +msgid "cannot stat directory `%s'" +msgstr "Aufruf von „stat“ für Verzeichnis „%s“ nicht möglich" + +#: dicod/dbtext.c:39 +#, c-format +msgid "%s: not a directory" +msgstr "%s: Ist kein Verzeichnis" + +#: dicod/dbtext.c:55 +#, c-format +msgid "cannot open file `%s'" +msgstr "Datei „%s“ kann nicht geöffnet werden" + +#: dicod/auth.c:46 dicod/gsasl.c:190 +msgid "failed to open user database" +msgstr "Benutzerdatenbank konnte nicht geöffnet werden" + +#: dicod/auth.c:51 dicod/gsasl.c:240 dicod/gsasl.c:276 +#, c-format +msgid "failed to get password for `%s' from the database" +msgstr "Passwort für „%s“ konnte aus der Datenbank nicht erhalten werden" + +#: dicod/auth.c:55 +#, c-format +msgid "no such user `%s'" +msgstr "Kein Benutzer „%s“" + +#: dicod/auth.c:61 +#, c-format +msgid "authentication failed for `%s'" +msgstr "Authentifizierung von „%s“ ist gescheitert" + +#: dicod/main.c:161 +msgid "list element must be a string" +msgstr "Listenelement muss eine Zeichenkette sein" + +#: dicod/main.c:215 +msgid "list element must be a socket specification" +msgstr "Listenelement muss eine Socket-Spezifikation sein" + +#: dicod/main.c:248 dicod/main.c:264 dicod/main.c:332 dicod/main.c:358 +#: dicod/main.c:407 dicod/main.c:460 dicod/main.c:503 dicod/main.c:665 +#: dicod/main.c:721 dicod/main.c:742 dicod/main.c:786 dicod/main.c:977 +#: dicod/main.c:1111 dicod/main.c:1150 dicod/main.c:1171 +msgid "Unexpected block statement" +msgstr "Unerwartete block-Anweisung" + +#: dicod/main.c:284 +msgid "ACL name must be a string" +msgstr "ACL-Name muss eine Zeichenkette sein" + +#: dicod/main.c:286 +msgid "missing ACL name" +msgstr "ACL-Name fehlt" + +#: dicod/main.c:292 +#, c-format +msgid "redefinition of ACL %s" +msgstr "Neudefinition von ACL %s" + +#: dicod/main.c:295 +msgid "location of the previous definition" +msgstr "Ort der vorherigen Definition" + +#: dicod/main.c:311 dicod/main.c:315 +msgid "[all|authenticated|group ] [from ]" +msgstr "[all|authenticated|group ] [from ]" + +#: dicod/main.c:312 +msgid "Allow access" +msgstr "Zugriff gewähren" + +#: dicod/main.c:316 +msgid "Deny access" +msgstr "Zugriff verweigern" + +#: dicod/main.c:336 dicod/main.c:747 dicod/main.c:822 +msgid "expected scalar value" +msgstr "ein skalarer Wert wurde erwartet" + +#: dicod/main.c:340 +#, c-format +msgid "no such ACL: `%s'" +msgstr "Kein solches ACL: „%s“" + +#: dicod/main.c:363 dicod/main.c:465 dicod/main.c:507 dicod/main.c:670 +msgid "expected scalar value but found list" +msgstr "statt des erwarteten skalaren Wertes wurde eine Liste vorgefunden" + +#: dicod/main.c:371 +#, c-format +msgid "not a valid UID number: %s" +msgstr "Ungültige Benutzerkennung: %s" + +#: dicod/main.c:378 +#, c-format +msgid "%s: no such user" +msgstr "%s: Benutzer existiert nicht" + +#: dicod/main.c:426 +#, c-format +msgid "not a valid GID number: %s" +msgstr "Ungültige Gruppenkennung: %s" + +#: dicod/main.c:433 +#, c-format +msgid "%s: unknown group" +msgstr "%s: Unbekannte Gruppe" + +#: dicod/main.c:469 +msgid "unknown mode" +msgstr "Unbekannter Modus" + +#: dicod/main.c:514 +msgid "unknown syslog facility" +msgstr "unbekannte syslog-Leistung" + +#: dicod/main.c:533 dicod/main.c:559 +msgid "tag must be a string" +msgstr "Markierung muss eine Zeichenkette sein" + +#: dicod/main.c:535 dicod/main.c:561 +msgid "missing tag" +msgstr "Fehlende Markierung" + +#: dicod/main.c:624 +msgid "database name not supplied" +msgstr "Datenbankname nicht angegeben" + +#: dicod/main.c:630 +msgid "no handler defined for the database" +msgstr "Für diese Datenbank ist kein Handler definiert" + +#: dicod/main.c:648 grecs/src/tree.c:665 +msgid "invalid use of block statement" +msgstr "unzulässige Verwendung der Block-Anweisung" + +#: dicod/main.c:675 dicod/loader.c:120 +#, c-format +msgid "cannot parse command line `%s': %s" +msgstr "Befehlszeile „%s“ kann nicht verarbeitet werden: %s" + +#: dicod/main.c:691 +#, c-format +msgid "%s: handler not declared" +msgstr "%s: Handler ist nicht deklariert" + +#: dicod/main.c:727 +#, c-format +msgid "unknown capability: %s" +msgstr "Unbekannte Fähigkeit: %s" + +#: dicod/main.c:752 +#, c-format +msgid "cannot parse headers: %s" +msgstr "Header können nicht verarbeitet werden: %s" + +#: dicod/main.c:759 +#, c-format +msgid "unknown encoding type: %s" +msgstr "unbekannter Kodierungstyp: %s" + +#: dicod/main.c:766 dicod/main.c:840 dicod/main.c:844 dicod/main.c:849 +#: dicod/main.c:853 dicod/main.c:896 dicod/main.c:899 dicod/main.c:903 +#: dicod/main.c:1029 dicod/main.c:1318 dicod/main.c:1327 dicod/main.c:1330 +#: dicod/main.c:1332 dicod/main.c:1337 dicod/main.c:1346 dicod/main.c:1368 +#: dicod/main.c:1383 grecs/src/format.c:141 +msgid "arg" +msgstr "arg" + +#: dicod/main.c:766 +msgid "Command line." +msgstr "Befehlszeile." + +#: dicod/main.c:798 +msgid "first argument must be string" +msgstr "Erstes Argument muss eine Zeichenkette sein" + +#: dicod/main.c:804 +msgid "second argument must be string" +msgstr "Zweites Argument muss eine Zeichenkette sein" + +#: dicod/main.c:812 +msgid "condition must be mime or nomime" +msgstr "Bedingung muss „mime“ oder „nomime“ sein" + +#: dicod/main.c:837 +msgid "word" +msgstr "word" + +#: dicod/main.c:837 +msgid "Dictionary name (a single word)." +msgstr "Name des Wörterbuchs (ein einzelnes Wort)" + +#: dicod/main.c:841 +msgid "Short description, to be shown in reply to SHOW DB command." +msgstr "" +"Die Kurzbeschreibung der Datenbank, die als Antwort des Befehls SHOW DB " +"angezeigt wird." + +#: dicod/main.c:845 +msgid "" +"Full description of the database, to be shown in reply to SHOW INFO command." +msgstr "" +"Die vollständige Beschreibung der Datenbank, die als Antwort des Befehls " +"SHOW INFO angezeigt wird." + +#: dicod/main.c:850 +msgid "List of languages this database translates from." +msgstr "Liste der Sprachen, aus denen diese Datenbank übersetzt." + +#: dicod/main.c:854 +msgid "List of languages this database translates to." +msgstr "Liste der Sprachen, in die diese Datenbank übersetzt." + +#: dicod/main.c:857 dicod/main.c:1023 dicod/main.c:1026 dicod/main.c:1302 +#: dicod/main.c:1305 dicod/main.c:1324 dicod/main.c:1343 dicod/main.c:1348 +#: dicod/main.c:1366 dicod/main.c:1380 +msgid "name" +msgstr "Name" + +#: dicod/main.c:857 +msgid "Name of the handler for this database." +msgstr "Name des Handlers dieser Datenbank." + +#: dicod/main.c:860 dicod/main.c:1315 dicod/main.c:1387 dicod/main.c:1390 +msgid "arg: acl" +msgstr "arg: acl" + +#: dicod/main.c:861 +msgid "ACL controlling visibility of this database" +msgstr "ACL, die die Sichtbarkeit dieser Datenbank kontrolliert" + +#: dicod/main.c:864 dicod/main.c:1312 dicod/main.c:1359 dicod/main.c:1362 +msgid "text" +msgstr "text" + +#: dicod/main.c:865 +msgid "Additional MIME headers" +msgstr "Zusätzliche MIME-Header" + +#: dicod/main.c:869 +msgid "bool" +msgstr "bool" + +#: dicod/main.c:870 +msgid "Set database visibility" +msgstr "Sichtbarkeit der Datenbank festlegen" + +#: dicod/main.c:873 +msgid " [mime|nomime]" +msgstr " [mime|nomime]" + +#: dicod/main.c:874 +msgid "" +"For virtual database only: name of the member database. Optional mime|nomime " +"specifies the condition under which the database is to be used." +msgstr "" +"Nur für virtuelle Datenbanken: Name des Datenbankelements. Optional gibt " +"mime|nomime die Bedingung an, unter der die Datenbank verwendet werden kann." + +#: dicod/main.c:896 +msgid "Password file or query." +msgstr "Passwortdatei oder Abfrage." + +#: dicod/main.c:900 +msgid "File containing user group information or a query to retrieve it." +msgstr "" +"Datei, die die Benutzergruppeninformation enthält oder eine Abfrage zu deren " +"Ermittlung." + +#: dicod/main.c:904 +msgid "Implementation-dependent options" +msgstr "Implementationsabhängige Optionen" + +#: dicod/main.c:926 dicod/main.c:942 +msgid "URL must be a string" +msgstr "URL muss eine Zeichenkette sein" + +#: dicod/main.c:928 dicod/main.c:944 +msgid "empty URL" +msgstr "Leere URL" + +#: dicod/main.c:959 +msgid "cannot create user database" +msgstr "Benutzerdatenbank konnte nicht erstellt werden" + +#: dicod/main.c:981 +msgid "Not enough arguments for alias" +msgstr "Nicht genug Argumente für Alias" + +#: dicod/main.c:988 +#, c-format +msgid "argument %d has wrong type" +msgstr "Argument %d hat den falschen Typ" + +#: dicod/main.c:1008 +msgid "expected boolean value but found list" +msgstr "Boolescher Wert wurde erwartet, aber Liste gefunden" + +#: dicod/main.c:1017 dicod/main.c:1020 +msgid "mech: list" +msgstr "mech: Liste" + +#: dicod/main.c:1018 +msgid "Disable SASL mechanisms listed in ." +msgstr "Die in aufgelisteten SASL-Mechanismen deaktivieren." + +#: dicod/main.c:1021 +msgid "Enable SASL mechanisms listed in ." +msgstr "Die in aufgelisteten SASL-Mechanismen aktivieren." + +#: dicod/main.c:1024 +msgid "Set service name for GSSAPI and Kerberos." +msgstr "Dienstname für GSSAPI und Kerberos setzen." + +#: dicod/main.c:1027 +msgid "Set realm name for GSSAPI and Kerberos." +msgstr "Realm-Name für GSSAPI und Kerberos setzen." + +#: dicod/main.c:1030 +msgid "Define groups for anonymous users." +msgstr "Gruppen für anonyme Benutzer definieren." + +#: dicod/main.c:1069 +msgid "Section name must be a string" +msgstr "Abschnittsname muss eine Zeichenkette sein" + +#: dicod/main.c:1071 +msgid "missing section name" +msgstr "Abschnittsname fehlt" + +#: dicod/main.c:1096 +msgid "Unexpected statement" +msgstr "Unerwartete Anweisung" + +#: dicod/main.c:1133 +msgid "Expected string value" +msgstr "Wertestring erwartet" + +#: dicod/main.c:1159 +msgid "expected list or string" +msgstr "Liste oder Zeichenkette erwartet" + +#: dicod/main.c:1182 +msgid "Expected number" +msgstr "Zahl erwartet" + +#: dicod/main.c:1253 +msgid "arg: bool" +msgstr "arg: bool" + +#: dicod/main.c:1253 +msgid "Deny all * and ! look ups" +msgstr "Alle Suchen mit * und ! abweisen." + +#: dicod/main.c:1257 +msgid "cond" +msgstr "cond" + +#: dicod/main.c:1257 +msgid "Deny * and ! look-ups on these words." +msgstr "Alle Suchen mit * und ! für diese Wörter abweisen." + +#: dicod/main.c:1262 dicod/main.c:1268 dicod/main.c:1274 dicod/main.c:1280 +#: dicod/main.c:1286 dicod/main.c:1292 +msgid "len: number" +msgstr "len: Zahl" + +#: dicod/main.c:1263 +msgid "Deny * and ! look-ups on words with length < ." +msgstr "Alle Suchen mit * und ! in Wörtern mit der Länge abweisen." + +#: dicod/main.c:1269 +msgid "Deny * and ! look-ups on words with length <= ." +msgstr "Alle Suchen mit * und ! in Wörtern mit der Länge <= abweisen." + +#: dicod/main.c:1275 +msgid "Deny * and ! look-ups on words with length > ." +msgstr "Alle Suchen mit * und ! in Wörtern mit der Länge > abweisen." + +#: dicod/main.c:1281 +msgid "Deny * and ! look-ups on words with length >= ." +msgstr "Alle Suchen mit * und ! in Wörtern mit der Länge >= abweisen." + +#: dicod/main.c:1287 +msgid "Deny * and ! look-ups on words with length == ." +msgstr "Alle Suchen mit * und ! in Wörtern mit der Länge == abweisen." + +#: dicod/main.c:1293 +msgid "Deny * and ! look-ups on words with length != ." +msgstr "Alle Suchen mit * und ! in Wörtern mit der Länge != abweisen." + +#: dicod/main.c:1302 +msgid "Run with these user privileges." +msgstr "Mit diesen Benutzerrechten ausführen." + +#: dicod/main.c:1306 +msgid "Supplementary group to retain with the user privileges." +msgstr "" +"Die zusammen mit den Benutzerrechten zurückzuhaltende zusätzliche Gruppe." + +#: dicod/main.c:1309 +msgid "arg: [daemon|inetd]" +msgstr "arg: [daemon|inetd]" + +#: dicod/main.c:1309 +msgid "Operation mode." +msgstr "Operationsmodus." + +#: dicod/main.c:1313 +msgid "Server description to be shown in reply to SHOW SERVER command." +msgstr "Im Befehl SHOW SERVER anzuzeigende Serverbeschreibung." + +#: dicod/main.c:1316 +msgid "Show system information if arg matches." +msgstr "Systeminformationen anzeigen, sofern das Argument passt." + +#: dicod/main.c:1319 +msgid "Enable identification check using AUTH protocol (RFC 1413)" +msgstr "Identitätsüberprüfung mit dem AUTH-Protokoll aktivieren (RFC 1413)" + +#: dicod/main.c:1321 +msgid "val" +msgstr "val" + +#: dicod/main.c:1322 +msgid "Set timeout for AUTH I/O operations." +msgstr "Zeitüberschreitung für AUTH-E/A-Vorgänge festlegen." + +#: dicod/main.c:1325 +msgid "Name of the file containing the keys for decrypting AUTH replies." +msgstr "" +"Name der Datei, die die Schlüssel für die Entschlüsselung der AUTH-Antworten " +"enthält." + +#: dicod/main.c:1328 +msgid "Maximum number of children running simultaneously." +msgstr "Maximale Anzahl der Kindprozesse, die gleichzeitig ausgeführt werden." + +#: dicod/main.c:1330 +msgid "Tag syslog diagnostics with this tag." +msgstr "Syslog-Ausgaben hiermit kennzeichnen." + +#: dicod/main.c:1333 +msgid "" +"Set syslog facility. Arg is one of the following: user, daemon, auth, " +"authpriv, mail, cron, local0 through local7 (case-insensitive), or a " +"facility number." +msgstr "" +"Die Syslog-Kategorie setzen. Argument ist eines der folgenden: user, daemon, " +"auth, authpriv, mail, cron, local0 bis local7 (Groß-/Kleinschreibung egal) " +"oder eine Kategorie-Nummer." + +#: dicod/main.c:1338 +msgid "Prefix diagnostics messages with their severity." +msgstr "Fehlerdiagnosemeldungen mit deren Schweregrad markieren." + +#: dicod/main.c:1340 +msgid "fmt" +msgstr "fmt" + +#: dicod/main.c:1341 +msgid "Set format string for access log file." +msgstr "Formatzeichenkette für Zugriffsprotokolldatei festlegen." + +#: dicod/main.c:1344 +msgid "Set access log file name." +msgstr "Den Namen der Zugriffsprotokolldatei festlegen." + +#: dicod/main.c:1346 +msgid "Log session transcript." +msgstr "Sitzung protokollieren." + +#: dicod/main.c:1349 +msgid "Store PID of the master process in this file." +msgstr "PID des Master-Prozesses in dieser Datei speichern." + +#: dicod/main.c:1351 dicod/main.c:1354 +msgid "seconds" +msgstr "Sekunden" + +#: dicod/main.c:1352 +msgid "Wait this number of seconds for all children to terminate." +msgstr "Diese Anzahl an Sekunden warten, bis alle Kindprozesse beendet sind." + +#: dicod/main.c:1355 +msgid "Set inactivity timeout." +msgstr "Die Zeitüberschreitung bei Inaktivität festlegen." + +#: dicod/main.c:1357 +msgid "addr" +msgstr "addr" + +#: dicod/main.c:1357 +msgid "Listen on these addresses." +msgstr "An diesen Adressen lauschen." + +#: dicod/main.c:1360 +msgid "Display this text in the initial 220 banner" +msgstr "Diesen Text im initialen 220-Banner anzeigen" + +#: dicod/main.c:1363 +msgid "" +"Display this text in reply to the HELP command. If text begins with a +, " +"usual command summary is displayed before it." +msgstr "" +"Diesen Text als Antwort für den HELP-Befehl anzeigen. Falls der Text mit " +"einem + beginnt, wird davor die Befehlszusammenfassung angezeigt." + +#: dicod/main.c:1366 +msgid "Override the host name." +msgstr "Den Rechnernamen übergehen." + +#: dicod/main.c:1368 +msgid "Request additional capabilities." +msgstr "Zusätzliche Fähigkeiten abfragen." + +#: dicod/main.c:1371 dicod/main.c:1375 +msgid "path" +msgstr "Pfad" + +#: dicod/main.c:1372 +msgid "List of directories searched for database modules." +msgstr "" +"Liste von Verzeichnissen, die nach Datenbankmodulen durchsucht werden sollen." + +#: dicod/main.c:1376 +msgid "" +"List of directories searched for database modules prior to the default " +"module directory" +msgstr "" +"Liste der Verzeichnisse, die vor dem vorgegebenen Modulverzeichnis nach " +"Datenbankmodulen durchsucht werden sollen" + +#: dicod/main.c:1381 +msgid "Set the name of the default matching strategy." +msgstr "Den Namen der vorgegebenen Trefferstrategie festlegen." + +#: dicod/main.c:1384 +msgid "Provide timing information after successful completion of an operation." +msgstr "" +"Zeitinformationen nach dem erfolgreichen Abschluss eines Vorgangs ausgeben." + +#: dicod/main.c:1388 +msgid "Set ACL to control visibility of all databases." +msgstr "ACL zur Steuerung der Sichtbarkeit aller Datenbanken festlegen." + +#: dicod/main.c:1391 +msgid "Apply this ACL to incoming connections." +msgstr "Diese ACL auf eingehende Verbindungen anwenden." + +#: dicod/main.c:1393 +msgid "Define a dictionary database." +msgstr "Eine Wörterbuch-Datenbank definieren." + +#: dicod/main.c:1397 dicod/main.c:1406 dicod/main.c:1412 dicod/main.c:1419 +msgid "name: string" +msgstr "name: Zeichenkette" + +#: dicod/main.c:1398 +msgid "" +"Load a module instance.\n" +"If is the same as in command, it can be simplified as:\n" +" load-module ;\n" +"Furthermore, several simplified forms can be combined into one\n" +"by using a list of names as its argument, as in:\n" +" load-module (stratall,word);\n" +msgstr "" +"Eine Modulinstanz laden.\n" +"Falls gleich im Befehl ist, kann es folgendermaßen\n" +"vereinfacht werden:\n" +" load-module ;\n" +"Außerdem können verschiedene vereinfachte Formen in einer kombiniert\n" +"werden, indem Sie eine Namensliste als Argument verwenden, wie:\n" +" load-module (stratall,word);\n" + +#: dicod/main.c:1406 +msgid "Define an ACL." +msgstr "Eine ACL definieren." + +#: dicod/main.c:1408 +msgid "url: string" +msgstr "url: Zeichenkette" + +#: dicod/main.c:1409 +msgid "Define user database for authentication." +msgstr "Benutzerdatenbank zur Authentifizierung definieren." + +#: dicod/main.c:1412 +msgid "Define a command alias." +msgstr "Einen Befehls-Alias festlegen." + +#: dicod/main.c:1416 +msgid "Control SASL authentication." +msgstr "SASL-Authentifizierung steuern." + +#: dicod/main.c:1420 +msgid "Additional configuration for strategy " +msgstr "Zusätzliche Konfiguration für Strategie " + +#: dicod/main.c:1459 +msgid "" +"Configuration file structure for dicod.\n" +"For more information, use `info dico configuration'." +msgstr "" +"Struktur der Konfigurationsdatei für dicod.\n" +"Weitere Informationen erhalten Sie mit „info dico configuration“." + +#: dicod/main.c:1788 +msgid "unknown strategy" +msgstr "Unbekannte Strategie" + +#: cmdline.opt:36 +msgid "Select program mode" +msgstr "Programmmodus auswählen" + +#: cmdline.opt:51 +msgid "preprocess configuration file and exit" +msgstr "Konfigurationsdatei vorverarbeiten und dann Programm beenden" + +#: cmdline.opt:57 +msgid "check configuration file syntax and exit" +msgstr "Die Syntax der Konfigurationsdatei überprüfen und Programm beenden." + +#: cmdline.opt:63 +msgid "inetd mode" +msgstr "Inetd-Modus." + +#: cmdline.opt:69 +msgid "" +"run unit tests for module; subsequent arguments are treated as module name " +"and unit test arguments; the -- marker introduces module initialization " +"arguments" +msgstr "" +"Einheitentests für Modul durchlaufen. Nachfolgende Argumente werden als " +"Modulname und Argumente für den Einheitentest behandelt. Die Markierung -- " +"leitet Argumente für die Modulinitialisierung ein" + +#: cmdline.opt:63 +msgid "Modifiers" +msgstr "Modifizierer" + +#: cmdline.opt:79 +msgid "FILE" +msgstr "DATEI" + +#: cmdline.opt:79 +msgid "read this configuration file" +msgstr "Diese Konfigurationsdatei lesen." + +#: cmdline.opt:85 +msgid "operate in foreground" +msgstr "Im Vordergrund arbeiten." + +#: cmdline.opt:91 +msgid "output diagnostic to stderr" +msgstr "Diagnoseausgaben in die Standardfehlerausgabe schreiben." + +#: cmdline.opt:97 +msgid "output diagnostic to syslog (default)" +msgstr "Diagnoseausgaben im Systemprotokoll ausgeben (Vorgabe)." + +#: cmdline.opt:103 +msgid "single-process mode" +msgstr "Einzelprozess-Modus" + +#: cmdline.opt:109 cmdline.opt:179 +msgid "DIR" +msgstr "VERZ" + +#: cmdline.opt:109 +msgid "prepend DIR to the module load path" +msgstr "VERZ dem Modulladepfad voran stellen." + +#: cmdline.opt:125 +msgid "disable session transcript" +msgstr "Sitzungsprotokoll deaktivieren" + +#: cmdline.opt:131 +msgid "set debug verbosity level" +msgstr "Ausführlichkeitsstufe der Fehlerdiagnose festlegen." + +#: cmdline.opt:144 +msgid "trace parsing of configuration file" +msgstr "Verarbeiten der Konfigurationsdatei aufzeichnen." + +#: cmdline.opt:150 +msgid "trace config file lexer" +msgstr "Lexer der Konfigurationsdatei aufzeichnen." + +#: cmdline.opt:142 +msgid "Additional help" +msgstr "Zusätzliche Hilfe" + +#: cmdline.opt:158 +msgid "show configuration file summary" +msgstr "Zusammenfassung der Konfigurationsdatei anzeigen." + +#: cmdline.opt:151 +msgid "Preprocessor control" +msgstr "Steuerung der Vorverarbeitung" + +#: cmdline.opt:167 +msgid "PROG" +msgstr "PROG" + +#: cmdline.opt:167 +msgid "use PROG as a preprocessor for config file" +msgstr "PROG als Präprozessor für Konfigurationsdatei verwenden." + +#: cmdline.opt:173 +msgid "do not use external preprocessor" +msgstr "Keinen externen Präprozessor verwenden." + +#: cmdline.opt:179 +msgid "" +"add the directory DIR to the list of directories to be searched for " +"preprocessor include files" +msgstr "" +"Das Verzeichnis DIR zur Liste der Verzeichnisse hinzufügen, die nach Include-" +"Dateien für den Präprozessor durchsucht werden sollen" + +#: cmdline.opt:185 +msgid "SYMBOL[=VALUE]" +msgstr "SYMBOL[=WERT]" + +#: cmdline.opt:185 +msgid "define a preprocessor symbol" +msgstr "ein Präprozessor-Symbol definieren" + +#: cmdline.opt:43 +msgid "GNU dictionary server" +msgstr "GNU-Wörterbuchserver" + +#: dicod/loader.c:38 +#, c-format +msgid "%s: faulty module: (%s) failed" +msgstr "%s: fehlerhaftes Modul: (%s) gescheitert" + +#: dicod/loader.c:67 +#, c-format +msgid "%s: initialization failed" +msgstr "%s: Initialisierung gescheitert" + +#: dicod/loader.c:83 +#, c-format +msgid "module %s already loaded" +msgstr "Modul %s ist bereits geladen" + +#: dicod/loader.c:96 +#, c-format +msgid "cannot load module %s: %s" +msgstr "Modul %s kann nicht geladen werden: %s" + +#: dicod/loader.c:505 +msgid "no module name" +msgstr "kein Modulname" + +#: dicod/loader.c:524 +msgid "module does not define dico_run_test function" +msgstr "dem Modul fehlt die Definition der Funktion dico_run_test" + +#: dicod/alias.c:68 +#, c-format +msgid "alias `%s' already defined" +msgstr "Der Alias „%s“ ist bereits definiert" + +#: dicod/alias.c:70 +msgid "this is the location of the previous definition" +msgstr "dies ist die Stelle der vorherigen Definition" + +#: dicod/server.c:103 +#, c-format +msgid "file %s exists but cannot be stat'd" +msgstr "Datei %s existiert, „stat“ kann aber nicht aufgerufen werden" + +#: dicod/server.c:110 +#, c-format +msgid "file %s is not a socket" +msgstr "Datei %s ist kein Socket" + +#: dicod/server.c:116 +#, c-format +msgid "cannot unlink file %s" +msgstr "Verknüpfung der Datei %s konnte nicht gelöst werden" + +#: dicod/server.c:131 +#, c-format +msgid "unsupported address family: %d" +msgstr "Nicht unterstützte Adressfamilie: %d" + +#: dicod/server.c:163 +msgid "No sockets opened" +msgstr "Keine Sockets geöffnet" + +#: dicod/server.c:206 +#, c-format +msgid "%lu exited successfully" +msgstr "%lu erfolgreich beendet" + +#: dicod/server.c:211 +#, c-format +msgid "%lu timed out" +msgstr "Zeitüberschreitung für %lu" + +#: dicod/server.c:216 +#, c-format +msgid "%lu failed with status %d" +msgstr "%lu schlug mit Status %d fehl" + +#: dicod/server.c:227 +#, c-format +msgid "%lu terminated on signal %d" +msgstr "%lu beendete sich bei Signal %d" + +#: dicod/server.c:230 +#, c-format +msgid "%lu stopped on signal %d" +msgstr "%lu hielt bei Signal %d an" + +#: dicod/server.c:234 +#, c-format +msgid "%lu dumped core" +msgstr "%lu erzeugte einen Core-Dump" + +#: dicod/server.c:237 +#, c-format +msgid "%lu terminated with unrecognized status" +msgstr "%lu wurde mit nicht erkanntem Status beendet." + +#: dicod/server.c:305 +#, c-format +msgid "Cannot open pidfile `%s'" +msgstr "PID-Datei „%s“ kann nicht geöffnet werden" + +#: dicod/server.c:308 +#, c-format +msgid "Cannot get pid from pidfile `%s'" +msgstr "PID kann nicht aus PID-Datei „%s“ erhalten werden" + +#: dicod/server.c:314 +#, c-format +msgid "%s appears to run with pid %lu. If it does not, remove `%s' and retry." +msgstr "" +"%s scheint mit der PID %lu zu laufen. Falls nicht, entfernen Sie „%s“ und " +"versuchen Sie es erneut." + +#: dicod/server.c:324 dicod/server.c:343 +#, c-format +msgid "Cannot unlink pidfile `%s'" +msgstr "Verknüpfung der PID-Datei „%s“ konnte nicht gelöst werden" + +#: dicod/server.c:334 +#, c-format +msgid "Cannot create pidfile `%s'" +msgstr "PID-Datei %s kann nicht erzeugt werden" + +#: dicod/server.c:402 +#, c-format +msgid "connection from %s denied" +msgstr "Verbindungsanfrage von %s abgewiesen" + +#: dicod/server.c:459 +msgid "fork failed" +msgstr "„fork“ fehlgeschlagen" + +#: dicod/server.c:475 +msgid "refusing to restart due to errors in configuration file" +msgstr "" +"Neustart wurde aufgrund von Fehlern in der Konfigurationsdatei verweigert" + +#: dicod/server.c:481 +msgid "" +"refusing to restart due to unexpected return status of configuration checker" +msgstr "" +"Neustart wurde aufgrund eines unerwarteten Rückgabestatus der " +"Konfigurationsüberprüfung verweigert" + +#: dicod/server.c:489 +msgid "" +"refusing to restart: configuration checker did not exit within 5 seconds" +msgstr "" +"Neustart wurde verweigert: Konfigurationsüberprüfung wurde nicht innerhalb 5 " +"Sekunden beendet" + +#: dicod/server.c:498 +msgid "waitpid failed" +msgstr "„waitpid“ fehlgeschlagen" + +#: dicod/server.c:499 +msgid "refusing to restart" +msgstr "Neustart wurde abgelehnt." + +#: dicod/server.c:539 +#, c-format +msgid "too many children (%lu)" +msgstr "zu viele Kindprozesse (%lu)" + +#: dicod/server.c:557 +msgid "select error" +msgstr "Fehler im select" + +#: dicod/server.c:585 +#, c-format +msgid "%s started" +msgstr "%s gestartet" + +#: dicod/server.c:590 +msgid "not running as root: ignoring user/group settings" +msgstr "" +"keine Administratorrechte: Einstellungen für Benutzer/Gruppen werden " +"ignoriert" + +#: dicod/server.c:603 +msgid "dicod started without full file name" +msgstr "dicod startete ohne vollen Dateinamen" + +#: dicod/server.c:604 dicod/server.c:608 +msgid "restart (SIGHUP) will not work" +msgstr "Neustart (SIGHUP) wird nicht funktionieren" + +#: dicod/server.c:607 +msgid "configuration file is not given with a full file name" +msgstr "Konfigurationsdatei wurde nicht mit vollem Dateinamen angegeben" + +#: dicod/server.c:615 +msgid "Cannot become a daemon" +msgstr "kann nicht zum Hintergrunddienst werden" + +#: dicod/server.c:632 +#, c-format +msgid "Exit code = %d, last error status" +msgstr "Exit-Code = %d, letzter Fehlerstatus" + +#: dicod/server.c:640 +#, c-format +msgid "%s restarting" +msgstr "%s wird neu gestartet" + +#: dicod/server.c:644 +msgid "Cannot restart" +msgstr "Neustart ist nicht möglich" + +#: dicod/server.c:646 +#, c-format +msgid "%s terminating" +msgstr "%s wird beendet" + +#: dicod/ident.c:200 +msgid "Incorrect length of IDENT DES packet" +msgstr "Inkorrekte Länge des IDENT-DES-Pakets" + +#: dicod/ident.c:207 +#, c-format +msgid "Cannot open file %s" +msgstr "Datei %s kann nicht geöffnet werden" + +#: dicod/ident.c:388 +msgid "cannot create socket for AUTH identification" +msgstr "Socket für AUTH-Authentifizierung konnte nicht angelegt werden" + +#: dicod/ident.c:400 +msgid "cannot bind AUTH socket" +msgstr "AUTH-Socket kann nicht gebunden werden" + +#: dicod/ident.c:413 dicod/ident.c:464 +#, c-format +msgid "cannot connect to AUTH server %s" +msgstr "Es kann keine Verbindung zum AUTH-Server %s hergestellt werden" + +#: dicod/ident.c:437 +#, c-format +msgid "Malformed IDENT response: `%s', from %s" +msgstr "Beschädigte IDENT-Antwort: „%s“, von %s" + +#: dicod/ident.c:442 +msgid "" +"Keyfile for AUTH responses not specified in config; use `ident-keyfile FILE'" +msgstr "" +"Schlüsseldatei für AUTH-Antworten nicht in der Konfiguration angegeben; " +"verwenden Sie „ident-keyfile DATEI“" + +#: dicod/ident.c:458 +#, c-format +msgid "failure while communicating with AUTH server %s" +msgstr "Fehler bei der Kommunikation mit dem AUTH-Server %s" + +#: dicod/ident.c:469 +#, c-format +msgid "no reply from AUTH server %s" +msgstr "keine Antwort vom AUTH-Server %s" + +#: dicod/ident.c:475 +#, c-format +msgid "I/O error while communicating with AUTH server %s" +msgstr "E/A-Fehler bei der Kommunikation mit dem AUTH-Server %s" + +#: dicod/accesslog.c:487 +#, c-format +msgid "log format error (near char %td): missing terminating `}'" +msgstr "Protokollformatierungsfehler (bei Zeichen %td): schließende „}“ fehlt" + +#: dicod/accesslog.c:502 +#, c-format +msgid "log format error (near char %td): unknown format char `%c'" +msgstr "" +"Protokollformatierungsfehler (bei Zeichen %td): unbekanntes " +"Formatierungszeichen „%c“" + +#: dicod/accesslog.c:510 +#, c-format +msgid "" +"log format warning (near char %td): format char `%c' does not take arguments" +msgstr "" +"Protokollformatierungsfehler (bei Zeichen %td): Formatierungszeichen „%c“ " +"akzeptiert keine Argumente" + +#: dicod/accesslog.c:553 +#, c-format +msgid "cannot open access log file `%s'" +msgstr "Zugriffsprotokolldatei „%s“ kann nicht geöffnet werden" + +#: dicod/gsasl.c:84 +#, c-format +msgid "Unexpected input instead of SASLRESP command: %s" +msgstr "Unerwartete Eingabe anstelle des SASLRESP-Befehls: %s" + +#: dicod/gsasl.c:123 +#, c-format +msgid "SASL gsasl_server_start: %s" +msgstr "SASL gsasl_server_start: %s" + +#: dicod/gsasl.c:163 +#, c-format +msgid "GSASL %s: cannot get username" +msgstr "GSASL %s: Benutzername kann nicht erhalten werden" + +#: dicod/gsasl.c:269 +msgid "user name not supplied" +msgstr "Benutzername nicht angegeben" + +#: dicod/gsasl.c:333 +#, c-format +msgid "cannot initialize libgsasl: %s" +msgstr "libgsasl kann nicht initialisiert werden: %s" + +#: modules/dict.org/dictorg.c:83 +#, c-format +msgid "mod_init: cannot stat `%s'" +msgstr "mod_init: Aufruf von „stat“ für „%s“ nicht möglich" + +#: modules/dict.org/dictorg.c:88 +#, c-format +msgid "mod_init: `%s' is not a directory" +msgstr "mod_init: „%s“ ist kein Verzeichnis" + +#: modules/dict.org/dictorg.c:93 +#, c-format +msgid "mod_init: `%s' is not readable" +msgstr "mod_init: „%s“ ist nicht lesbar" + +#: modules/dict.org/dictorg.c:248 +#, c-format +msgid "%s:%lu: invalid base64 value: `%.*s'" +msgstr "%s:%lu: Ungültiger base64-Wert: „%.*s“" + +#: modules/dict.org/dictorg.c:263 +#, c-format +msgid "%s:%lu: malformed entry" +msgstr "%s:%lu: Fehlerhafter Eintrag" + +#: modules/dict.org/dictorg.c:302 +#, c-format +msgid "open_index: cannot stat `%s'" +msgstr "open_index: Aufruf von „stat“ für „%s“ nicht möglich" + +#: modules/dict.org/dictorg.c:306 +#, c-format +msgid "open_index: `%s' is not a regular file" +msgstr "open_index: „%s“ ist keine reguläre Datei" + +#: modules/dict.org/dictorg.c:315 modules/dict.org/dictorg.c:412 +#: modules/gcide/gcide.c:316 modules/gcide/gcide.c:725 +#, c-format +msgid "cannot create stream `%s'" +msgstr "Datenstrom „%s“ kann nicht erzeugt werden" + +#: modules/dict.org/dictorg.c:321 modules/dict.org/dictorg.c:420 +#: modules/gcide/gcide.c:323 modules/gcide/gcide.c:732 +#, c-format +msgid "cannot open stream `%s': %s" +msgstr "Datenstrom „%s“ kann nicht geöffnet werden: %s" + +#: modules/dict.org/dictorg.c:430 +#, c-format +msgid "cannot open stream for dictionary `%s'" +msgstr "Datenstrom für Wörterbuch „%s“ kann nicht geöffnet werden" + +#: modules/dict.org/dictorg.c:458 +#, c-format +msgid "mod_init_db(%s): database name not given" +msgstr "mod_init_db(%s): Datenbankname nicht angegeben" + +#: modules/dict.org/dictorg.c:468 +#, c-format +msgid "mod_init_db: `%s' is not an absolute file name" +msgstr "mod_init_db: „%s“ ist kein absoluter Dateiname" + +#: modules/dict.org/dictorg.c:508 +#, c-format +msgid "mod_init_db(%s): index files in old 8-bit format are not supported" +msgstr "" +"mod_init_db(%s): Indexdateien im alten 8-Bit-Format werden nicht unterstützt" + +#: modules/dict.org/dictorg.c:810 modules/dict.org/dictorg.c:993 +#: modules/gcide/gcide.c:756 +#, c-format +msgid "%s: read error: %s" +msgstr "%s: Lesefehler: %s" + +#: modules/dict.org/dictorg.c:904 +msgid "_match_all: key initialization failed" +msgstr "_match_all: Initialisierung des Schlüssels ist fehlgeschlagen" + +#: modules/dict.org/dictorg.c:983 +#, c-format +msgid "%s: seek error: %s" +msgstr "%s: Suchfehler: %s" + +#: modules/dict.org/dictstr.c:176 +#, c-format +msgid "cannot initialize inflation engine: %s" +msgstr "die Inflationsmaschinerie kann nicht initialisiert werden: %s" + +#: modules/dict.org/dictstr.c:198 +#, c-format +msgid "%s:%d: INTERNAL ERROR: inflate did not flush (%d pending, %d avail)" +msgstr "" +"%s%d: INTERNER FEHLER: inflate hat nicht entsorgt (%d wartend, %d verfügbar)" + +#: modules/dict.org/dictstr.c:286 +#, c-format +msgid "%s:%d: INTERNAL ERROR: cannot shut down inflation engine: %s" +msgstr "" +"%s%d: INTERNER FEHLER: die Inflationsmaschinerie kann nicht beendet werden: " +"%s" + +#: modules/dict.org/dictstr.c:437 +#, c-format +msgid "file position (%lu) != header length + 1 (%lu)" +msgstr "Dateiposition (%lu) != Vorspannlänge + 1 (%lu)" + +#: modules/dict.org/dictstr.c:475 +msgid "unknown dictionary format" +msgstr "Unbekanntes Wörterbuchformat" + +#: modules/dict.org/dictstr.c:478 +msgid "unsupported dictionary format" +msgstr "Nicht unterstütztes Wörterbuchformat" + +#: modules/dict.org/dictstr.c:481 +msgid "unsupported dictionary version" +msgstr "Nicht unterstützte Wörterbuchversion" + +#: modules/dict.org/dictstr.c:484 +msgid "malformed header" +msgstr "Fehlerhafter Header" + +#: modules/dict.org/dictstr.c:487 +msgid "cannot seek on pure gzip format files" +msgstr "in reinen gzip-Dateien kann nicht gesucht werden" + +#: modules/dict.org/dictstr.c:490 +msgid "error decompressing stream" +msgstr "Fehler beim Dekomprimieren des Datenstroms" + +#: modules/guile/guile.c:151 +#, c-format +msgid "%s: not enough memory" +msgstr "%s: Nicht genug Speicher" + +#: modules/guile/guile.c:164 +#, c-format +msgid "%s: invalid return type" +msgstr "%s: Ungültiger Typ der Rückgabe" + +#: modules/guile/guile.c:184 +#, c-format +msgid "procedure `%s' failed: see error output for details" +msgstr "Prozedur „%s“ fehlgeschlagen: Siehe Fehlerausgabe für Details" + +#: modules/guile/guile.c:735 +#, c-format +msgid "%s: %s: unknown virtual function" +msgstr "%s: %s: Unbekannte virtuelle Funktion" + +#: modules/guile/guile.c:794 +msgid "mod_init: cannot initialize error port" +msgstr "mod_init: Fehlerport kann nicht initialisiert werden" + +#: modules/guile/guile.c:802 modules/guile/guile.c:836 +#, c-format +msgid "mod_init: cannot load init script %s" +msgstr "mod_init: Initialisierungsskript %s kann nicht geladen werden" + +#: modules/guile/guile.c:862 +#, c-format +msgid "%s: %s: void virtual function" +msgstr "%s: %s: leere virtuelle Funktion" + +#: modules/guile/guile.c:1084 +msgid "mod_match: key initialization failed" +msgstr "mod_match: Initialisierung des Schlüssels fehlgeschlagen" + +#: modules/outline/outline.c:476 +msgid "outline_open: wrong number of arguments" +msgstr "outline_open: Falsche Anzahl an Argumenten" + +#: modules/outline/outline.c:482 modules/gcide/idxgcide.l:269 +#, c-format +msgid "cannot open file %s" +msgstr "Datei %s kann nicht geöffnet werden" + +#: modules/outline/outline.c:642 +msgid "outline_lang: not enough memory" +msgstr "outline_lang: Nicht genug Speicher" + +#: modules/outline/outline.c:681 +msgid "outline_match_all: not enough memory" +msgstr "outline_match_all: Nicht genug Speicher" + +#: modules/outline/outline.c:686 +msgid "outline_match_all: key initialization failed" +msgstr "outline_match_all: Initialisierung des Schlüssels gescheitert" + +#: modules/ldap/ldap.c:60 +#, c-format +msgid "cannot set LBER_OPT_DEBUG_LEVEL %d" +msgstr "LBER_OPT_DEBUG_LEVEL %d kann nicht gesetzt werden" + +#: modules/ldap/ldap.c:65 +#, c-format +msgid "could not set LDAP_OPT_DEBUG_LEVEL %d" +msgstr "LDAP_OPT_DEBUG_LEVEL %d kann nicht gesetzt werden" + +#: modules/ldap/ldap.c:73 +#, c-format +msgid "cannot create LDAP session handle for URI=%s (%d): %s" +msgstr "LDAP-Sitzungshandler für URI=%s (%d) konnte nicht angelegt werden: %s" + +#: modules/ldap/ldap.c:81 +#, c-format +msgid "ldap_start_tls failed: %s" +msgstr "ldap_start_tls fehlgeschlagen: %s" + +#: modules/ldap/ldap.c:199 +#, c-format +msgid "cannot parse options `%s': %s" +msgstr "Optionen „%s“ können nicht verarbeitet werden: %s" + +#: modules/ldap/ldap.c:215 +msgid "cannot allocate handle" +msgstr "es kann kein Deskriptor reserviert werden" + +#: modules/ldap/ldap.c:255 +#, c-format +msgid "cannot expand query `%s': %s" +msgstr "Abfrage „%s“ kann nicht expandiert werden: %s" + +#: modules/gcide/gcide.c:85 +#, c-format +msgid "gcide: cannot stat `%s'" +msgstr "gcide: Aufruf von „stat“ für „%s“ nicht möglich" + +#: modules/gcide/gcide.c:89 +#, c-format +msgid "gcide: `%s' is not a directory" +msgstr "gcide: „%s“ ist kein Verzeichnis" + +#: modules/gcide/gcide.c:93 modules/gcide/gcide.c:158 +#, c-format +msgid "gcide: `%s' is not readable" +msgstr "gcide: „%s“ ist nicht lesbar" + +#: modules/gcide/gcide.c:113 +#, c-format +msgid "gcide_open_idx: creating index %s" +msgstr "gcide_open_idx: Index %s wird erstellt" + +#: modules/gcide/gcide.c:116 +#, c-format +msgid "gcide_open_idx: cannot run %s" +msgstr "gcide_open_idx: %s kann nicht ausgeführt werden" + +#: modules/gcide/gcide.c:125 +msgid "gcide_open_idx: fork failed" +msgstr "gcide_open_idx: Fork fehlgeschlagen" + +#: modules/gcide/gcide.c:129 modules/gcide/gcide.c:134 +#, c-format +msgid "gcide_open_idx: %s failed" +msgstr "gcide_open_idx: %s fehlgeschlagen" + +#: modules/gcide/gcide.c:141 +#, c-format +msgid "gcide_open_idx: %s exited with status %d" +msgstr "gcide_open_idx: %s abgebrochen mit Status %d" + +#: modules/gcide/gcide.c:162 modules/gcide/gcide.c:182 +#, c-format +msgid "gcide: can't stat `%s'" +msgstr "gcide: Aufruf von „stat“ für „%s“ nicht möglich" + +#: modules/gcide/gcide.c:188 +msgid "gcide: index file older than database, reindexing" +msgstr "gcide: Indexdatei ist älter als die Datenbank, wird neu indiziert" + +#: modules/gcide/gcide.c:190 +#, c-format +msgid "gcide_open_idx: cannot access %s" +msgstr "gcide_open_idx: Zugriff auf %s ist nicht möglich" + +#: modules/gcide/gcide.c:249 +msgid "gcide_init_db: database directory not given" +msgstr "gcide_init_db: Datenbankverzeichnis ist nicht angegeben" + +#: modules/gcide/gcide.c:335 modules/gcide/gcide.c:354 +#, c-format +msgid "read error in stream `%s': %s" +msgstr "Lesefehler im Datenstrom „%s“: %s" + +#: modules/gcide/gcide.c:344 +#, c-format +msgid "cannot get size of stream `%s': %s" +msgstr "Größe des Datenstroms „%s“ konnte nicht festgestellt werden: %s" + +#: modules/gcide/gcide.c:351 +msgid "cannot allocate dictionary information buffer" +msgstr "Es kann kein Puffer für die Wörterbuchinformation reserviert werden" + +#: modules/gcide/gcide.c:518 modules/wordnet/wordnet.c:617 +#, c-format +msgid "%s: key initialization failed" +msgstr "%s: Initialisierung des Schlüssels ist gescheitert" + +#: modules/gcide/gcide.c:742 +#, c-format +msgid "seek error on `%s' while positioning to %lu: %s" +msgstr "Suchfehler in „%s“ während der Positionierung auf %lu: %s" + +#: modules/gcide/idx.c:68 +#, c-format +msgid "error reading from `%s'" +msgstr "Fehler beim Lesen von „%s“" + +#: modules/gcide/idx.c:71 +#, c-format +msgid "short read while reading from `%s'" +msgstr "Kurzer Read beim Lesezugriff auf „%s“" + +#: modules/gcide/idx.c:91 +#, c-format +msgid "file `%s' is not a valid gcide index file" +msgstr "Datei „%s“ ist keine gültige gcide-Indexdatei" + +#: modules/gcide/idx.c:103 +#, c-format +msgid "index file `%s' is corrupted" +msgstr "Indexdatei „%s“ ist beschädigt" + +#: modules/gcide/idx.c:128 +#, c-format +msgid "cannot open index file `%s'" +msgstr "Indexdatei „%s“ kann nicht geöffnet werden" + +#: modules/gcide/idx.c:246 +#, c-format +msgid "seek error on `%s' while positioning to %lu" +msgstr "Suchfehler in „%s“ während der Positionierung auf %lu" + +#: modules/gcide/idxgcide-cli.opt:62 +#, c-format +msgid "not a valid size: %s" +msgstr "Ungültige Größe: %s" + +#: modules/gcide/idxgcide.l:77 +msgid "page too small, aborting" +msgstr "Seitengröße ist zu gering, Abbruch" + +#: modules/gcide/idxgcide.l:120 +msgid "Sorting references" +msgstr "Sortiereinstellungen" + +#: modules/gcide/idxgcide.l:124 +msgid "Writing references" +msgstr "Schreibeinstellungen" + +#: modules/gcide/idxgcide.l:217 +#, c-format +msgid "%s:%u: unknown or illegible character in a headword" +msgstr "%s:%u: unbekanntes oder nicht lesbares Zeichen in den Kopfdaten" + +#: modules/gcide/idxgcide.l:221 +#, c-format +msgid "%s:%u: unrecognized entity: %s" +msgstr "%s:%u: nicht erkannte Entität: %s" + +#: modules/gcide/idxgcide.l:236 +#, c-format +msgid "%s:%u: unknown character sequence %s" +msgstr "%s:%u: Unbekannte Zeichensequenz %s" + +#: modules/gcide/idxgcide.l:266 +#, c-format +msgid "Indexing %s" +msgstr "%s wird indiziert" + +#: modules/gcide/idxgcide.l:302 +msgid "page size too small" +msgstr "Seitengröße ist zu gering" + +#: modules/gcide/idxgcide.l:311 +msgid "bad number of arguments" +msgstr "Falsche Argumentanzahl" + +#: modules/gcide/idxgcide.l:335 +#, c-format +msgid "cannot create index file `%s'" +msgstr "Die Indexdatei „%s“ kann nicht erstellt werden" + +#: modules/gcide/idxgcide.l:356 +#, c-format +msgid "headwords=%lu, definitions=%lu, refs per page=%lu, pages=%lu" +msgstr "Kopfworte=%lu, Definitionen=%lu, Referenzen pro Seite=%lu, Seiten=%lu" + +#: modules/gcide/markup.l:148 +#, c-format +msgid "cannot parse line %.*s: %s" +msgstr "Zeile %.*s kann nicht verarbeitet werden: %s" + +#: modules/gcide/markup.l:300 +#, c-format +msgid "%u: unrecognized entity: %s" +msgstr "%u: Nicht erkannte Entität: %s" + +#: modules/gcide/markup.l:312 +#, c-format +msgid "%u: unknown character sequence %s" +msgstr "%u: Unbekannte Zeichensequenz %s" + +#: modules/wordnet/wordnet.c:79 +msgid "cannot open wordnet database" +msgstr "Wordnet-Datenbank konnte nicht geöffnet werden" + +#: modules/wordnet/wordnet.c:232 +#, c-format +msgid "wordnet: unknown option %s" +msgstr "Wordnet: Unbekannte Option %s" + +#: modules/wordnet/wordnet.c:239 +#, c-format +msgid "wordnet: option %s is not yet supported" +msgstr "Wordnet: Option %s wird noch nicht unterstützt." + +#: grecs/src/cidr.c:129 grecs/src/cidr.c:179 grecs/src/cidr.c:186 +#, c-format +msgid "invalid network mask: %s" +msgstr "Ungültige Netzmaske: %s" + +#: grecs/src/cidr.c:142 grecs/src/cidr.c:149 grecs/src/cidr.c:160 +#, c-format +msgid "unrecognized address family: %s" +msgstr "Nicht erkannte Adressfamilie: %s" + +#: grecs/src/cidr.c:153 +#, c-format +msgid "invalid network address: %s" +msgstr "Ungültige Netzwerkadresse: %s" + +#: grecs/src/format.c:33 +msgid "void" +msgstr "" + +#: grecs/src/format.c:36 grecs/src/tree.c:69 +#, fuzzy +msgid "string" +msgstr "url: Zeichenkette" + +#: grecs/src/format.c:46 +#, fuzzy +msgid "number" +msgstr "len: Zahl" + +#: grecs/src/format.c:49 +msgid "time" +msgstr "" + +#: grecs/src/format.c:52 +#, fuzzy +msgid "boolean" +msgstr "bool" + +#: grecs/src/format.c:55 +msgid "IPv4" +msgstr "" + +#: grecs/src/format.c:58 +msgid "CIDR" +msgstr "" + +#: grecs/src/format.c:61 +#, fuzzy +msgid "hostname" +msgstr "Name" + +#: grecs/src/format.c:64 +#, fuzzy +msgid "sockaddr" +msgstr "addr" + +#: grecs/src/format.c:67 +#, fuzzy +msgid "section" +msgstr "Serverauswahl" + +#: grecs/src/format.c:70 +msgid "null" +msgstr "" + +#: grecs/src/format.c:133 +msgid "Disabled;" +msgstr "Deaktiviert;" + +#: grecs/src/grecs-lex.l:186 +#, c-format +msgid "stray character %c" +msgstr "verirrtes Zeichen %c" + +#: grecs/src/grecs-lex.l:189 +#, c-format +msgid "stray character \\%03o" +msgstr "verirrtes Zeichen \\%03o" + +#: grecs/src/grecs-lex.l:219 grecs/src/preproc.c:480 +#, c-format +msgid "Cannot open `%s'" +msgstr "„%s“ kann nicht geöffnet werden" + +#: grecs/src/grecs-lex.l:227 grecs/src/preproc.c:698 +#, c-format +msgid "Unable to start external preprocessor `%s'" +msgstr "Externes Vorverarbeitungsprogramm „%s“ konnte nicht aufgerufen werden" + +#: grecs/src/grecs-lex.l:394 grecs/src/grecs-lex.l:431 +#, c-format +msgid "cannot parse #line line: %s" +msgstr "#line-Zeile kann nicht verarbeitet werden: %s" + +#: grecs/src/grecs-lex.l:415 grecs/src/grecs-lex.l:435 +msgid "invalid #line statement" +msgstr "Ungültige #line-Anweisung" + +#: grecs/src/grecs-lex.l:418 grecs/src/grecs-lex.l:439 +msgid "malformed #line statement" +msgstr "Fehlerhafte #line-Anweisung" + +#: grecs/src/lineacc.c:70 +#, c-format +msgid "unknown escape sequence: '\\%c'" +msgstr "Unbekannte Escape-Sequenz: „\\%c“" + +#: grecs/src/opthelp.c:123 grecs/src/opthelp.c:269 +msgid "Usage:" +msgstr "Aufruf:" + +#: grecs/src/opthelp.c:127 +msgid "OPTION" +msgstr "OPTION" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Aliases" +msgstr "Aliase" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Alias" +msgstr "Alias" + +#: grecs/src/opthelp.c:186 +msgid "" +"Mandatory or optional arguments to long options are also mandatory or " +"optional for any corresponding short options." +msgstr "" +"Erforderliche oder optionale Argumente für lange Optionen sind ebenso " +"erforderlich bzw. optional für die entsprechenden Kurzoptionen." + +#. TRANSLATORS: The placeholder indicates the bug-reporting +#. address for this package. Please add _another line_ saying +#. "Report translation bugs to <...>\n" with the address for +#. translation bugs (typically your translation team's web or +#. email address). +#: grecs/src/opthelp.c:202 +#, c-format +msgid "Report bugs to %s.\n" +msgstr "Bitte melden Sie Fehler an %s.\n" + +#: grecs/src/opthelp.c:205 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Homepage von %s: <%s>\n" + +#. TRANSLATORS: Translate "(C)" to the copyright symbol +#. (C-in-a-circle), if this symbol is available in the user's +#. locale. Otherwise, do not translate "(C)"; leave it as-is. +#: grecs/src/opthelp.c:457 +msgid "(C)" +msgstr "(C)" + +#: grecs/src/opthelp.c:466 +msgid "" +"License GPLv3+: GNU GPL version 3 or later \n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +"\n" +msgstr "" +"License GPLv3+: GNU GPL Version 3 oder neuer\n" +".\n" +"Dies ist freie Software; Sie dürfen diese ändern und weitergeben.\n" +"Es wird keine Garantie gegeben, soweit das Gesetz es zulässt.\n" + +#: grecs/src/opthelp.c:483 +msgid "Written by " +msgstr "Geschrieben von " + +#. TRANSLATORS: This string is used as a delimiter between +#. authors' names as in: +#. +#. Written by Winnie the Pooh, Piglet ... +#. +#: grecs/src/opthelp.c:489 +msgid ", " +msgstr ", " + +#. TRANSLATORS: This string acts as a delimiter before the +#. last author's names, e.g.: +#. +#. Written by Winnie the Pooh, Piglet and Christopher Robin. +#. +#: grecs/src/opthelp.c:495 +msgid " and " +msgstr " und " + +#: grecs/src/path-parser.c:62 +#, c-format +msgid "cannot open `%s'" +msgstr "„%s“ kann nicht geöffnet werden" + +#: grecs/src/path-parser.c:108 grecs/src/path-parser.c:123 +msgid "unexpected end of file" +msgstr "Unerwartetes Dateiende" + +#: grecs/src/path-parser.c:143 +msgid "parse error" +msgstr "Einlesefehler" + +#: grecs/src/preproc.c:448 grecs/src/preproc.c:470 +#, c-format +msgid "Cannot stat `%s'" +msgstr "Aufruf von „stat“ für „%s“ nicht möglich" + +#: grecs/src/preproc.c:453 grecs/src/preproc.c:458 +msgid "Recursive inclusion" +msgstr "Rekursive Einbindung" + +#: grecs/src/preproc.c:461 +#, c-format +msgid "`%s' already included here" +msgstr "„%s“ ist hier bereits eingebunden" + +#: grecs/src/preproc.c:465 +#, c-format +msgid "`%s' already included at top level" +msgstr "„%s“ ist auf höchster Ebene bereits eingebunden" + +#: grecs/src/preproc.c:595 +msgid "Cannot parse include line" +msgstr "include-Zeile kann nicht verarbeitet werden" + +#: grecs/src/preproc.c:598 +msgid "invalid include statement" +msgstr "Ungültige include-Anweisung" + +#: grecs/src/preproc.c:624 +msgid "read error" +msgstr "Lesefehler" + +#: grecs/src/preproc.c:632 +#, c-format +msgid "%s: No such file or directory" +msgstr "%s: Datei oder Verzeichnis nicht gefunden" + +#: grecs/src/preproc.c:773 grecs/src/preproc.c:793 +#, c-format +msgid "Cannot run `%s'" +msgstr "„%s“ kann nicht ausgeführt werden" + +#: grecs/src/sockaddr.c:67 +#, c-format +msgid "socket path name too long: %s" +msgstr "Pfadname des Sockets ist zu lang: %s" + +#: grecs/src/sockaddr.c:120 +#, c-format +msgid "%s: garbage near %s" +msgstr "%s: Müll bei %s" + +#: grecs/src/sockaddr.c:159 +#, c-format +msgid "service not specified: %s" +msgstr "Dienst nicht angegeben: %s" + +#: grecs/src/sockaddr.c:176 +#, c-format +msgid "%s: cannot parse address: %s" +msgstr "%s: Adresse kann nicht verarbeitet werden: %s" + +#: grecs/src/sockaddr.c:269 +#, c-format +msgid "unknown or unsupported scheme: %s" +msgstr "Unbekanntes oder nicht unterstütztes Schema: %s" + +#: grecs/src/sockaddr.c:278 +#, c-format +msgid "%s: UNIX socket must be an absolute file name" +msgstr "%s: UNIX-Name muss ein absoluter Dateiname sein" + +#: grecs/src/symtab.c:236 +msgid "element not found in table" +msgstr "Element wurde in der Tabelle nicht gefunden" + +#: grecs/src/symtab.c:238 +msgid "symbol table is full" +msgstr "Symboltabelle ist voll" + +#: grecs/src/tree.c:70 +msgid "list" +msgstr "" + +#: grecs/src/tree.c:71 +#, fuzzy +msgid "one or more arguments" +msgstr "Zu viele Argumente" + +#: grecs/src/tree.c:75 +msgid "unrecognized type; please report" +msgstr "" + +#: grecs/src/tree.c:320 +msgid "section keyword used as a scalar" +msgstr "" + +#: grecs/src/tree.c:322 +msgid "scalar keyword used as a section" +msgstr "" + +#: grecs/src/tree.c:325 +#, fuzzy +msgid "unknown keyword" +msgstr "Unbekanntes Schlüsselwort" + +#: grecs/src/tree.c:360 +#, c-format +msgid "%s: not a valid boolean value" +msgstr "%s: Kein gültiger boolescher Wert" + +#: grecs/src/tree.c:420 grecs/src/tree.c:644 +#, c-format +msgid "%s: not a valid IP address or hostname" +msgstr "%s: Kein gültiger Hostname oder IP-Adresse" + +#: grecs/src/tree.c:444 +#, c-format +msgid "%s: not a valid port number" +msgstr "%s: Keine gültige Port-Nummer" + +#: grecs/src/tree.c:452 +msgid "missing port number" +msgstr "Portnummer fehlt" + +#: grecs/src/tree.c:501 +msgid "numeric overflow" +msgstr "numerischer Überlauf" + +#: grecs/src/tree.c:506 +msgid "value out of allowed range" +msgstr "Wert ist außerhalb des zulässigen Bereichs" + +#: grecs/src/tree.c:541 grecs/src/tree.c:571 +#, c-format +msgid "not a number (stopped near `%s')" +msgstr "keine Zahl (gestoppt nahe „%s“)" + +#: grecs/src/tree.c:635 +#, c-format +msgid "%s: not a valid IP address" +msgstr "%s: Keine gültige IP-Adresse" + +#: grecs/src/tree.c:774 +#, c-format +msgid "too many arguments to `%s'; missing semicolon?" +msgstr "Zu viele Argumente für „%s“; Semikolon fehlt?" + +#: grecs/src/tree.c:788 grecs/src/tree.c:836 +#, c-format +msgid "INTERNAL ERROR at %s:%d: unhandled data type %d" +msgstr "INTERNER FEHLER bei %s:%d: unbehandelter Datentyp %d" + +#: grecs/src/tree.c:803 +#, c-format +msgid "%s: incompatible data type in list item #%d" +msgstr "%s: inkompatibler Datentyp im Listeneintrag #%d" + +#: grecs/src/tree.c:823 +#, c-format +msgid "incompatible data type for `%s'" +msgstr "Inkompatibler Datentyp für „%s“" + +#: grecs/wordsplit/wordsplit.c:130 +msgid "memory exhausted while trying to store error context" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:881 +msgid "Restarting" +msgstr "Wird neu gestartet" + +#: grecs/wordsplit/wordsplit.c:1607 +#, c-format +msgid "%.*s: variable null or not set" +msgstr "%.*s: Variable ist Null oder nicht gesetzt" + +#: grecs/wordsplit/wordsplit.c:1637 +#, c-format +msgid "warning: undefined variable `%.*s'" +msgstr "Warnung: Undefinierte Variable „%.*s“" + +#: grecs/wordsplit/wordsplit.c:2138 +#, c-format +msgid "no files match pattern %s" +msgstr "Keine Datei passt zum Suchmuster %s" + +#: grecs/wordsplit/wordsplit.c:2599 +msgid "WS trimming" +msgstr "Whitespace kürzen" + +#: grecs/wordsplit/wordsplit.c:2601 +msgid "command substitution" +msgstr "Befehlsersetzung" + +#: grecs/wordsplit/wordsplit.c:2603 grecs/wordsplit/wordsplit.c:2611 +msgid "coalesce list" +msgstr "Liste kombinieren" + +#: grecs/wordsplit/wordsplit.c:2605 +msgid "tilde expansion" +msgstr "Tildeexpansion" + +#: grecs/wordsplit/wordsplit.c:2607 +msgid "variable expansion" +msgstr "Variablen expandieren" + +#: grecs/wordsplit/wordsplit.c:2609 +msgid "quote removal" +msgstr "Zitierung entfernen" + +#: grecs/wordsplit/wordsplit.c:2613 +msgid "path expansion" +msgstr "Pfad expandieren" + +#: grecs/wordsplit/wordsplit.c:2638 +#, c-format +msgid "(%02d) Input:%.*s;" +msgstr "(%02d) Eingabe:%.*s;" + +#: grecs/wordsplit/wordsplit.c:2664 +msgid "Initial list:" +msgstr "Initiale Liste:" + +#: grecs/wordsplit/wordsplit.c:2679 +msgid "Coalesced list:" +msgstr "Kombinierte Liste:" + +#: grecs/wordsplit/wordsplit.c:2849 +msgid "no error" +msgstr "Kein Fehler" + +#: grecs/wordsplit/wordsplit.c:2850 +msgid "missing closing quote" +msgstr "Schließendes Zitatzeichen fehlt" + +#: grecs/wordsplit/wordsplit.c:2852 +msgid "invalid wordsplit usage" +msgstr "unzulässige Worttrennung" + +#: grecs/wordsplit/wordsplit.c:2853 +msgid "unbalanced curly brace" +msgstr "Schließende geschweifte Klammer fehlt" + +#: grecs/wordsplit/wordsplit.c:2854 +msgid "undefined variable" +msgstr "Undefinierte Variable" + +#: grecs/wordsplit/wordsplit.c:2855 +msgid "input exhausted" +msgstr "Eingabe ausgeschöpft" + +#: grecs/wordsplit/wordsplit.c:2856 +msgid "unbalanced parenthesis" +msgstr "Klammer ohne Gegenstück" + +#: grecs/wordsplit/wordsplit.c:2857 +msgid "globbing error" +msgstr "Fehler bei der Suche" + +#: grecs/wordsplit/wordsplit.c:2858 +#, fuzzy +msgid "user-defined error" +msgstr "Lesefehler" + +#: grecs/wordsplit/wordsplit.c:2859 +msgid "invalid parameter number in assignment" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2871 +msgid "unknown error" +msgstr "Unbekannter Fehler" + +#: grecs/wordsplit/wordsplit.c:2880 +#, c-format +msgid "missing closing %c (start near #%lu)" +msgstr "fehlendes schließendes %c (Beginn bei #%lu)" + +#~ msgid "%s: option '--%s' doesn't allow an argument\n" +#~ msgstr "%s: Die Option „--%s“ erlaubt kein Argument\n" + +#~ msgid "%s: unrecognized option '--%s'\n" +#~ msgstr "%s: Unbekannte Option „--%s“\n" + +#~ msgid "%s: option '-W %s' doesn't allow an argument\n" +#~ msgstr "%s: Option „-W %s“ erlaubt kein Argument\n" + +#~ msgid "%s: option '-W %s' requires an argument\n" +#~ msgstr "%s: Option „-W %s“ erfordert ein Argument\n" + +#~ msgid "%s: unknown keyword" +#~ msgstr "%s: Unbekanntes Schlüsselwort" diff -Nru dico-2.9/po/dico.pot dico-2.10/po/dico.pot --- dico-2.9/po/dico.pot 2019-04-24 06:45:09.000000000 +0000 +++ dico-2.10/po/dico.pot 2020-09-04 04:06:48.000000000 +0000 @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: GNU dico 2.9\n" +"Project-Id-Version: GNU dico 2.10\n" "Report-Msgid-Bugs-To: bug-dico@gnu.org\n" -"POT-Creation-Date: 2019-04-24 09:45+0300\n" +"POT-Creation-Date: 2020-09-04 07:06+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -108,8 +108,8 @@ msgid "'" msgstr "" -#: xdico/gnu/obstack.c:338 xdico/gnu/obstack.c:340 grecs/src/wordsplit.c:65 -#: grecs/src/wordsplit.c:2510 +#: xdico/gnu/obstack.c:338 xdico/gnu/obstack.c:340 +#: grecs/wordsplit/wordsplit.c:76 grecs/wordsplit/wordsplit.c:2851 msgid "memory exhausted" msgstr "" @@ -404,7 +404,7 @@ msgid "%s: can't get address: %s" msgstr "" -#: dico/connect.c:347 grecs/src/tree.c:360 +#: dico/connect.c:347 grecs/src/tree.c:391 #, c-format msgid "%s: UNIX socket name too long" msgstr "" @@ -1144,7 +1144,7 @@ msgid "no handler defined for the database" msgstr "" -#: dicod/main.c:648 grecs/src/tree.c:634 +#: dicod/main.c:648 grecs/src/tree.c:665 msgid "invalid use of block statement" msgstr "" @@ -2423,21 +2423,65 @@ msgid "wordnet: option %s is not yet supported" msgstr "" -#: grecs/src/cidr.c:128 grecs/src/cidr.c:178 grecs/src/cidr.c:185 +#: grecs/src/cidr.c:129 grecs/src/cidr.c:179 grecs/src/cidr.c:186 #, c-format msgid "invalid network mask: %s" msgstr "" -#: grecs/src/cidr.c:141 grecs/src/cidr.c:148 grecs/src/cidr.c:159 +#: grecs/src/cidr.c:142 grecs/src/cidr.c:149 grecs/src/cidr.c:160 #, c-format msgid "unrecognized address family: %s" msgstr "" -#: grecs/src/cidr.c:152 +#: grecs/src/cidr.c:153 #, c-format msgid "invalid network address: %s" msgstr "" +#: grecs/src/format.c:33 +msgid "void" +msgstr "" + +#: grecs/src/format.c:36 grecs/src/tree.c:69 +msgid "string" +msgstr "" + +#: grecs/src/format.c:46 +msgid "number" +msgstr "" + +#: grecs/src/format.c:49 +msgid "time" +msgstr "" + +#: grecs/src/format.c:52 +msgid "boolean" +msgstr "" + +#: grecs/src/format.c:55 +msgid "IPv4" +msgstr "" + +#: grecs/src/format.c:58 +msgid "CIDR" +msgstr "" + +#: grecs/src/format.c:61 +msgid "hostname" +msgstr "" + +#: grecs/src/format.c:64 +msgid "sockaddr" +msgstr "" + +#: grecs/src/format.c:67 +msgid "section" +msgstr "" + +#: grecs/src/format.c:70 +msgid "null" +msgstr "" + #: grecs/src/format.c:133 msgid "Disabled;" msgstr "" @@ -2647,169 +2691,196 @@ msgid "symbol table is full" msgstr "" -#: grecs/src/tree.c:329 +#: grecs/src/tree.c:70 +msgid "list" +msgstr "" + +#: grecs/src/tree.c:71 +msgid "one or more arguments" +msgstr "" + +#: grecs/src/tree.c:75 +msgid "unrecognized type; please report" +msgstr "" + +#: grecs/src/tree.c:320 +msgid "section keyword used as a scalar" +msgstr "" + +#: grecs/src/tree.c:322 +msgid "scalar keyword used as a section" +msgstr "" + +#: grecs/src/tree.c:325 +msgid "unknown keyword" +msgstr "" + +#: grecs/src/tree.c:360 #, c-format msgid "%s: not a valid boolean value" msgstr "" -#: grecs/src/tree.c:389 grecs/src/tree.c:613 +#: grecs/src/tree.c:420 grecs/src/tree.c:644 #, c-format msgid "%s: not a valid IP address or hostname" msgstr "" -#: grecs/src/tree.c:413 +#: grecs/src/tree.c:444 #, c-format msgid "%s: not a valid port number" msgstr "" -#: grecs/src/tree.c:421 +#: grecs/src/tree.c:452 msgid "missing port number" msgstr "" -#: grecs/src/tree.c:470 +#: grecs/src/tree.c:501 msgid "numeric overflow" msgstr "" -#: grecs/src/tree.c:475 +#: grecs/src/tree.c:506 msgid "value out of allowed range" msgstr "" -#: grecs/src/tree.c:510 grecs/src/tree.c:540 +#: grecs/src/tree.c:541 grecs/src/tree.c:571 #, c-format msgid "not a number (stopped near `%s')" msgstr "" -#: grecs/src/tree.c:604 +#: grecs/src/tree.c:635 #, c-format msgid "%s: not a valid IP address" msgstr "" -#: grecs/src/tree.c:743 +#: grecs/src/tree.c:774 #, c-format msgid "too many arguments to `%s'; missing semicolon?" msgstr "" -#: grecs/src/tree.c:757 grecs/src/tree.c:805 +#: grecs/src/tree.c:788 grecs/src/tree.c:836 #, c-format msgid "INTERNAL ERROR at %s:%d: unhandled data type %d" msgstr "" -#: grecs/src/tree.c:772 +#: grecs/src/tree.c:803 #, c-format msgid "%s: incompatible data type in list item #%d" msgstr "" -#: grecs/src/tree.c:792 +#: grecs/src/tree.c:823 #, c-format msgid "incompatible data type for `%s'" msgstr "" -#: grecs/src/tree.c:920 grecs/src/tree.c:930 -msgid "Unknown keyword" -msgstr "" - -#: grecs/src/tree.c:1142 -#, c-format -msgid "%s: unknown keyword" +#: grecs/wordsplit/wordsplit.c:130 +msgid "memory exhausted while trying to store error context" msgstr "" -#: grecs/src/wordsplit.c:816 +#: grecs/wordsplit/wordsplit.c:881 msgid "Restarting" msgstr "" -#: grecs/src/wordsplit.c:1291 +#: grecs/wordsplit/wordsplit.c:1607 #, c-format msgid "%.*s: variable null or not set" msgstr "" -#: grecs/src/wordsplit.c:1321 +#: grecs/wordsplit/wordsplit.c:1637 #, c-format msgid "warning: undefined variable `%.*s'" msgstr "" -#: grecs/src/wordsplit.c:1825 +#: grecs/wordsplit/wordsplit.c:2138 #, c-format msgid "no files match pattern %s" msgstr "" -#: grecs/src/wordsplit.c:2288 +#: grecs/wordsplit/wordsplit.c:2599 msgid "WS trimming" msgstr "" -#: grecs/src/wordsplit.c:2290 +#: grecs/wordsplit/wordsplit.c:2601 msgid "command substitution" msgstr "" -#: grecs/src/wordsplit.c:2292 grecs/src/wordsplit.c:2300 +#: grecs/wordsplit/wordsplit.c:2603 grecs/wordsplit/wordsplit.c:2611 msgid "coalesce list" msgstr "" -#: grecs/src/wordsplit.c:2294 +#: grecs/wordsplit/wordsplit.c:2605 msgid "tilde expansion" msgstr "" -#: grecs/src/wordsplit.c:2296 +#: grecs/wordsplit/wordsplit.c:2607 msgid "variable expansion" msgstr "" -#: grecs/src/wordsplit.c:2298 +#: grecs/wordsplit/wordsplit.c:2609 msgid "quote removal" msgstr "" -#: grecs/src/wordsplit.c:2302 +#: grecs/wordsplit/wordsplit.c:2613 msgid "path expansion" msgstr "" -#: grecs/src/wordsplit.c:2327 +#: grecs/wordsplit/wordsplit.c:2638 #, c-format msgid "(%02d) Input:%.*s;" msgstr "" -#: grecs/src/wordsplit.c:2353 +#: grecs/wordsplit/wordsplit.c:2664 msgid "Initial list:" msgstr "" -#: grecs/src/wordsplit.c:2368 +#: grecs/wordsplit/wordsplit.c:2679 msgid "Coalesced list:" msgstr "" -#: grecs/src/wordsplit.c:2508 +#: grecs/wordsplit/wordsplit.c:2849 msgid "no error" msgstr "" -#: grecs/src/wordsplit.c:2509 +#: grecs/wordsplit/wordsplit.c:2850 msgid "missing closing quote" msgstr "" -#: grecs/src/wordsplit.c:2511 +#: grecs/wordsplit/wordsplit.c:2852 msgid "invalid wordsplit usage" msgstr "" -#: grecs/src/wordsplit.c:2512 +#: grecs/wordsplit/wordsplit.c:2853 msgid "unbalanced curly brace" msgstr "" -#: grecs/src/wordsplit.c:2513 +#: grecs/wordsplit/wordsplit.c:2854 msgid "undefined variable" msgstr "" -#: grecs/src/wordsplit.c:2514 +#: grecs/wordsplit/wordsplit.c:2855 msgid "input exhausted" msgstr "" -#: grecs/src/wordsplit.c:2515 +#: grecs/wordsplit/wordsplit.c:2856 msgid "unbalanced parenthesis" msgstr "" -#: grecs/src/wordsplit.c:2516 +#: grecs/wordsplit/wordsplit.c:2857 msgid "globbing error" msgstr "" -#: grecs/src/wordsplit.c:2528 +#: grecs/wordsplit/wordsplit.c:2858 +msgid "user-defined error" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2859 +msgid "invalid parameter number in assignment" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2871 msgid "unknown error" msgstr "" -#: grecs/src/wordsplit.c:2537 +#: grecs/wordsplit/wordsplit.c:2880 #, c-format msgid "missing closing %c (start near #%lu)" msgstr "" Binary files /tmp/tmpzBUTb6/GFUWpBukhc/dico-2.9/po/es.gmo and /tmp/tmpzBUTb6/cwmgEPIKlI/dico-2.10/po/es.gmo differ diff -Nru dico-2.9/po/es.po dico-2.10/po/es.po --- dico-2.9/po/es.po 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/po/es.po 2020-09-04 04:06:48.000000000 +0000 @@ -0,0 +1,2979 @@ +# Spanish translation of dico 2.5 +# Copyright (C) 2018 Free Software Foundation, Inc. +# This file is distributed under the same license as the dico package. +# Francisco Javier Serrador , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: dico 2.5\n" +"Report-Msgid-Bugs-To: bug-dico@gnu.org\n" +"POT-Creation-Date: 2020-09-04 07:06+0300\n" +"PO-Revision-Date: 2018-04-29 10:12+0200\n" +"Last-Translator: Francisco Javier Serrador \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.0.4\n" + +#: xdico/userprivs.c:40 +msgid "Refusing to run as root" +msgstr "Rechazando ejecutar como administrador" + +#: xdico/userprivs.c:58 +#, c-format +msgid "setgroups(1, %lu) failed" +msgstr "setgroups(1, %lu) fallado" + +#: xdico/userprivs.c:69 +#, c-format +msgid "setegid(%lu) failed" +msgstr "setgid(%lu) fallada" + +#: xdico/userprivs.c:73 +#, c-format +msgid "setregid(%lu,%lu) failed" +msgstr "setregid(%lu, %lu) fallado" + +#: xdico/userprivs.c:77 +#, c-format +msgid "setresgid(%lu,%lu,%lu) failed" +msgstr "setresgid(%lu, %lu,%lu) fallado" + +#: xdico/userprivs.c:85 +#, c-format +msgid "setgid(%lu) failed" +msgstr "setgid(%lu) fallada" + +#: xdico/userprivs.c:88 +#, c-format +msgid "Cannot set effective gid to %lu" +msgstr "No puede establecer gid efectivo a %lu" + +#: xdico/userprivs.c:106 +#, c-format +msgid "setreuid(%lu,-1) failed" +msgstr "setreuid(%lu,-1) fallada" + +#: xdico/userprivs.c:111 +#, c-format +msgid "second setuid(%lu) failed" +msgstr "segundo setuid(%lu) fallado" + +#: xdico/userprivs.c:118 +#, c-format +msgid "setuid(%lu) failed" +msgstr "setuid(%lu) fallada" + +#: xdico/userprivs.c:126 +msgid "seteuid(0) succeeded when it should not" +msgstr "seteuid(0) correcto cuando no debería serlo" + +#: xdico/userprivs.c:129 +msgid "Cannot drop non-root setuid privileges" +msgstr "No puede soltar privilegios ‘setuid’ no administrativos" + +#: xdico/xstream.c:41 +msgid "not enough memory while formatting reply message" +msgstr "sin suficiente memoria durante formateo del mensaje solicitado" + +#. TRANSLATORS: +#. Get translations for open and closing quotation marks. +#. The message catalog should translate "`" to a left +#. quotation mark suitable for the locale, and similarly for +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. +#. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. +#. +#. If you don't know what to put here, please see +#. +#. and use glyphs suitable for your language. +#: xdico/gnu/quotearg.c:362 +msgid "`" +msgstr "«" + +#: xdico/gnu/quotearg.c:363 +msgid "'" +msgstr "»" + +#: xdico/gnu/obstack.c:338 xdico/gnu/obstack.c:340 +#: grecs/wordsplit/wordsplit.c:76 grecs/wordsplit/wordsplit.c:2851 +msgid "memory exhausted" +msgstr "memoria agotada" + +#: xdico/gnu/getopt.c:278 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous\n" +msgstr "%s: la opción `-W %s' es ambigua\n" + +#: xdico/gnu/getopt.c:284 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous; possibilities:" +msgstr "%s: la opción «%s» es ambigua; posibilidades:" + +#: xdico/gnu/getopt.c:319 +#, fuzzy, c-format +msgid "%s: unrecognized option '%s%s'\n" +msgstr "%s: opción «%c%s» no reconocida\n" + +#: xdico/gnu/getopt.c:345 +#, fuzzy, c-format +msgid "%s: option '%s%s' doesn't allow an argument\n" +msgstr "%s: la opción '%c%s' no permite un argumento\n" + +#: xdico/gnu/getopt.c:360 +#, fuzzy, c-format +msgid "%s: option '%s%s' requires an argument\n" +msgstr "%s: la opción '--%s' requiere un argumento\n" + +#: xdico/gnu/getopt.c:621 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: opción inválida -- «%c»\n" + +#: xdico/gnu/getopt.c:636 xdico/gnu/getopt.c:682 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: la opción requiere un argumento -- «%c»\n" + +#: lib/parseopt.c:116 +#, c-format +msgid "%s: %s: unknown option" +msgstr "%s: %s: opción desconocida" + +#: lib/parseopt.c:127 +#, c-format +msgid "%s: %s: %s is not a valid number" +msgstr "%s: %s: %s no un número válido" + +#: lib/parseopt.c:168 +#, c-format +msgid "%s: %s: invalid value %s" +msgstr "%s: %s: valor inválido %s" + +#: lib/iostr.c:91 +msgid "No error" +msgstr "No hay error" + +#: dico/shell.c:34 +msgid "WORD" +msgstr "PALABRA" + +#: dico/shell.c:34 +msgid "Define WORD." +msgstr "Definir PALABRA." + +#: dico/shell.c:35 +msgid "/WORD" +msgstr "/WORD" + +#: dico/shell.c:35 +msgid "Match WORD." +msgstr "Coincide PALABRA." + +#: dico/shell.c:36 +msgid "Redisplay previous matches." +msgstr "Redisponer coincidencias anteriores." + +#: dico/shell.c:37 cmdline.opt:131 +msgid "NUMBER" +msgstr "NÚMERO" + +#: dico/shell.c:37 +msgid "Define NUMBERth match." +msgstr "Define coincidencia NÚMERO." + +#: dico/shell.c:39 +msgid "Edit NUMBERth previous command." +msgstr "Editar el número de mandato anterior." + +#: dico/shell.c:45 +msgid "[HOST [PORT]]" +msgstr "[ANFITRIÓN [PUERTO]" + +#: dico/shell.c:46 +msgid "Connect to a DICT server." +msgstr "Conectar a un servidor DICT." + +#: dico/shell.c:50 +msgid "Close the connection." +msgstr "Cierra la conexión." + +#: dico/shell.c:53 dico/shell.c:57 +msgid "[NAME]" +msgstr "[NOMBRE]" + +#: dico/shell.c:54 +msgid "Set or display current database name." +msgstr "Establece o enseña nombre del BBDD actual." + +#: dico/shell.c:58 +msgid "Set or display current strategy." +msgstr "Establece o enseña estrategia actual." + +#: dico/shell.c:61 +msgid "[NUM]" +msgstr "[NÚM]" + +#: dico/shell.c:62 +msgid "Set or query Levenshtein distance (server-dependent)." +msgstr "Establece o consulta distancia Levenshtein (servidor-dependiente)" + +#: dico/shell.c:66 +msgid "List available matching strategies" +msgstr "Lista disponible coincidiendo estrategias" + +#: dico/shell.c:70 +msgid "List all accessible databases" +msgstr "Listado de todas BBDD accesibles" + +#: dico/shell.c:73 +msgid "[DB]" +msgstr "[BD]" + +#: dico/shell.c:74 +msgid "Display the information about the database." +msgstr "Enseña la información acerca de base de datos." + +#: dico/shell.c:77 +msgid "[CHAR]" +msgstr "[CARÁCTER]" + +#: dico/shell.c:78 +msgid "Set or display command prefix." +msgstr "Establecer o enseñar prefijo de órdenes." + +#: dico/shell.c:81 dico/shell.c:101 +msgid "[BOOL]" +msgstr "[BOOL]" + +#: dico/shell.c:82 +msgid "Set or display session transcript mode." +msgstr "Establece o enseña sesión de modo transcripcional." + +#: dico/shell.c:85 +msgid "[NUMBER]" +msgstr "[NÚMERO]" + +#: dico/shell.c:86 +msgid "Set or display verbosity level." +msgstr "Establece enseña nivel detallado." + +#: dico/shell.c:89 dico/shell.c:93 cmdline.opt:158 cmdline.opt:170 +msgid "STRING" +msgstr "CADENA TEXTUAL" + +#: dico/shell.c:90 +msgid "Change command line prompt." +msgstr "Modifica petición de línea de mandato." + +#: dico/shell.c:94 +msgid "Change or display pager settings." +msgstr "Modifica o enseña opciones del paginador." + +#: dico/shell.c:97 +msgid "[FILE]" +msgstr "[FICHERO]" + +#: dico/shell.c:98 +msgid "Set or display autologin file name." +msgstr "Establece o enseña nombre del fichero de autoentrada." + +#: dico/shell.c:102 +msgid "Enable SASL authentication." +msgstr "Activa autenticación SASL." + +#: dico/shell.c:107 +msgid "Display command history." +msgstr "Enseña historial de órdenes." + +#: dico/shell.c:112 +msgid "Display this help text." +msgstr "Enseña este texto de ayuda." + +#: dico/shell.c:116 +msgid "Print program version." +msgstr "Escribe versión del programa." + +#: dico/shell.c:120 +msgid "Print copyright statement." +msgstr "Escribe declaraciones de derechos de copia." + +#: dico/shell.c:128 +msgid "Quit the shell." +msgstr "Quita el shell." + +#: dico/shell.c:149 +#, c-format +msgid "Command prefix is %c\n" +msgstr "Prefijo de mandato es %c\n" + +#: dico/shell.c:151 +msgid "Expected a single punctuation character" +msgstr "Esperaba una puntuación simple de carácter" + +#: dico/shell.c:229 +msgid "warning: " +msgstr "cuidado: " + +#: dico/shell.c:342 +msgid "unknown command" +msgstr "mandato desconocido" + +#: dico/shell.c:352 +msgid "not enough arguments" +msgstr "sin argumentos suficientes" + +#: dico/shell.c:355 dicod/main.c:170 dicod/main.c:232 dicod/main.c:584 +#: dicod/main.c:793 +msgid "too many arguments" +msgstr "demasiados argumentos" + +#: dico/shell.c:398 +#, c-format +msgid "Cannot open init file %s" +msgstr "No puede abrir fichero inicio %s" + +#: dico/connect.c:89 dico/connect.c:404 +msgid "No reply from server" +msgstr "Sin respuesta desde el servidor" + +#: dico/connect.c:110 +msgid "Attempting APOP authentication\n" +msgstr "Intentando autenticación APOP\n" + +#: dico/connect.c:117 dico/saslauth.c:338 +msgid "Not enough credentials for authentication" +msgstr "Sin suficientes credenciales para autenticación" + +#: dico/connect.c:121 dico/saslauth.c:343 +msgid "Skipping authentication\n" +msgstr "Omitiendo autenticación\n" + +#: dico/connect.c:204 +msgid "Obtained authentication credentials from the command line\n" +msgstr "Obtuvo credenciales autenticadas desde la línea de mandato\n" + +#: dico/connect.c:211 +#, c-format +msgid "File %s does not exist" +msgstr "Fichero %s no existe" + +#: dico/connect.c:228 +msgid "Password:" +msgstr "Contraseña:" + +#: dico/connect.c:244 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot get stream transport" +msgstr "ERROR INTERNO al %s:%d: no puede obtener flujo de transporte" + +#: dico/connect.c:252 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot set stream transport" +msgstr "ERROR INTERNO al %s:%d: no puede establecer transporte de flujo" + +#: dico/connect.c:303 +#, c-format +msgid "Connecting to %s\n" +msgstr "Conectando a %s\n" + +#: dico/connect.c:311 +#, c-format +msgid "bad source address: %s" +msgstr "dirección origen equivocada: %s" + +#: dico/connect.c:326 +msgid "can't bind to the source address" +msgstr "no puede enlazar a dirección origen" + +#: dico/connect.c:339 +#, c-format +msgid "%s: can't get address: %s" +msgstr "%s: no puede obtener dirección: %s" + +#: dico/connect.c:347 grecs/src/tree.c:391 +#, c-format +msgid "%s: UNIX socket name too long" +msgstr "%s: nombre de socket UNIX demasiado largo" + +#: dico/connect.c:373 +msgid "cannot create dict socket" +msgstr "no puede crear socket dict" + +#: dico/connect.c:383 +#, c-format +msgid "%s: cannot connect" +msgstr "%s: no puede conectar" + +#: dico/connect.c:394 +#, c-format +msgid "cannot create dict stream: %s" +msgstr "no puede crear flujo dict: %s" + +#: dico/connect.c:408 +msgid "Invalid reply from server" +msgstr "Respuesta inválida desde servidor" + +#: dico/connect.c:413 +msgid "Sending client information\n" +msgstr "Enviando información del cliente\n" + +#: dico/connect.c:418 +#, c-format +msgid "Unexpected reply to CLIENT command: `%s'" +msgstr "Respuesta inesperada a orrden de CLIENTE: «%s»" + +#: dico/connect.c:424 +msgid "Authentication failed" +msgstr "Autenticación fallada" + +#: dico/connect.c:497 +#, c-format +msgid "Sending query for word \"%s\" in database \"%s\"\n" +msgstr "Enviando petición para palabra «%s» en base de datos «%s»\n" + +#: dico/connect.c:508 +#, c-format +msgid "Reading %lu definition\n" +msgid_plural "Reading %lu definitions\n" +msgstr[0] "Leyendo %lu definición\n" +msgstr[1] "Leyendo %lu definiciones\n" + +#: dico/connect.c:515 +#, c-format +msgid "Unexpected reply in place of definition %lu" +msgstr "Respuesta inesperada dentro de lugar de definición %lu" + +#: dico/connect.c:538 +msgid "Setting Levenshtein threshold\n" +msgstr "Preferencias del límite Levenshtein\n" + +#: dico/connect.c:544 +msgid "Server rejected XLEV command" +msgstr "Servidor rechazó mandato XLEV" + +#: dico/connect.c:545 +#, c-format +msgid "Server reply: %s" +msgstr "Respuesta del servidor: %s" + +#: dico/connect.c:548 +#, c-format +msgid "Sending query to match word \"%s\" in database \"%s\", using \"%s\"\n" +msgstr "" +"Enviando petición para coincidir palabra «%s» en base de datos «%s», " +"utilizando «%s»\n" + +#: dico/connect.c:561 +#, c-format +msgid "Reading %lu match\n" +msgid_plural "Reading %lu matches\n" +msgstr[0] "Leyendo %lu cotejo\n" +msgstr[1] "Leyendo %lu cotejos\n" + +#: dico/connect.c:639 +msgid "Not enough data in the result" +msgstr "No hay suficientes datos en el resultado" + +#: dico/connect.c:706 +msgid "Freeing unlinked result" +msgstr "Liberando resultado desenlazado" + +#: dico/dico.c:80 +msgid "extra command line arguments ignored" +msgstr "argumentos de mandatos lineales adicionales ignorados" + +#: dico/dico.c:88 +msgid "you should give a word to look for or an URL" +msgstr "debería dar una palabra para buscar o un URL" + +#: dico/dico.c:107 +msgid "Database name not specified" +msgstr "Nombre de BD no especificado" + +#: dico/func.c:33 dicod/main.c:1120 +msgid "Expected boolean value" +msgstr "Esperaba valor booleano" + +#: dico/func.c:67 +#, c-format +msgid "Cannot get listing: %s" +msgstr "No puede obtener listado: %s" + +#: dico/func.c:104 dico/func.c:138 +msgid "Please specify server name or IP address" +msgstr "Especifique servidor nombrado o dirección IP" + +#: dico/func.c:109 +msgid "Cannot connect to the server" +msgstr "No se pudo conectar al servidor" + +#: dico/func.c:112 +msgid "Getting list of databases\n" +msgstr "Obtiene lista de bases de datos\n" + +#: dico/func.c:114 +msgid "Getting list of strategies\n" +msgstr "Obteniendo lista estrategias\n" + +#: dico/func.c:116 +msgid "Finished getting server information\n" +msgstr "Terminada obtención de información servidor\n" + +#: dico/func.c:150 +msgid "Nothing to close" +msgstr "Nada para cerrar" + +#: dico/func.c:160 +msgid "No autologin file." +msgstr "Sin fichero autoregistro." + +#: dico/func.c:177 dico/func.c:268 +msgid "on" +msgstr "activar" + +#: dico/func.c:177 dico/func.c:268 +msgid "off" +msgstr "inactiva" + +#: dico/func.c:258 dico/func.c:366 +msgid "invalid number" +msgstr "número inválido" + +#: dico/func.c:268 +#, c-format +msgid "transcript is %s\n" +msgstr "transcripción es %s\n" + +#: dico/func.c:309 dico/func.c:325 +msgid "No previous match" +msgstr "Sin cotejo anterior" + +#: dico/func.c:329 +msgid "Invalid match number. Type / to see the matches." +msgstr "Número de cotejo inválido: Teclee / para ver los cotejos." + +#: dico/func.c:344 +#, c-format +msgid "Server does not support XLEV extension" +msgstr "Servidor no es compatible con extensión XLEV" + +#: dico/func.c:350 +#, c-format +msgid "Reported Levenshtein distance:%s\n" +msgstr "Comunicaba distancia Levenshtein: %s\n" + +#: dico/func.c:353 +msgid "Cannot query Levenshtein distance. Server responded:" +msgstr "No puede consultar distancia Levenshtein. Servidor respondió:" + +#: dico/func.c:358 +#, c-format +msgid "No distance configured\n" +msgstr "Ninguna distancia configurada\n" + +#: dico/func.c:360 +#, c-format +msgid "Configured Levenshtein distance: %u\n" +msgstr "Configurar distancia Levenshtein: %u\n" + +#: dico/func.c:395 +#, c-format +msgid "" +"Search all of the databases until a match is found,\n" +"and display all matches in that database.\n" +msgstr "" +"Busca todo de la base de datos hasta que un cotejo sea encontrado,\n" +"y enseñe todos los cotejos dentro de la BD.\n" + +#: dico/func.c:398 +#, c-format +msgid "Search all of the databases and display all matches." +msgstr "Busca todas las BD y enseña todos los cotejos." + +#: dico/autologin.c:151 +#, c-format +msgid "Found matching line %d\n" +msgstr "Encontrada %d línea coincidente\n" + +#: dico/autologin.c:160 +#, c-format +msgid "Found default line %d\n" +msgstr "Encontrada línea %d predeterminada\n" + +#: dico/autologin.c:192 +#, c-format +msgid "Cannot open autologin file %s" +msgstr "No puede abrir fichero de autoentrada %s" + +#: dico/autologin.c:197 +#, c-format +msgid "Reading autologin file %s...\n" +msgstr "Leyendo fichero de autoentrada %s...\n" + +#: dico/autologin.c:218 +#, c-format +msgid "failed to parse command `%s': %s" +msgstr "ha fallado interpretar mandato «%s»: %s" + +#: dico/autologin.c:229 +#, c-format +msgid "failed to add line marker: %s" +msgstr "fallaba al añadiir marcador lineal: %s" + +#: dico/autologin.c:251 +msgid "No matching line found\n" +msgstr "Ninguna línea coincidente encontrada\n" + +#: dico/autologin.c:269 +#, c-format +msgid "%s:%d: unknown keyword" +msgstr "%s:%d: tecleo clave desconocida" + +#: dico/autologin.c:277 +#, c-format +msgid "%s:%d: %s without argument" +msgstr "%s:%d: %s sin argumento" + +#: dico/autologin.c:335 +#, c-format +msgid "%s:%d: failed to parse line: %s" +msgstr "%s:%d: fallado al interpretar línea: %s" + +#: cmdline.opt:29 +msgid "Server selection" +msgstr "Selección del servidor" + +#: cmdline.opt:45 +msgid "SERVER" +msgstr "SERVIDOR" + +#: cmdline.opt:45 +msgid "connect to this server" +msgstr "conecta a este servidor" + +#: cmdline.opt:51 +msgid "SERVICE" +msgstr "SERVICIO" + +#: cmdline.opt:51 +msgid "specify port to connect to" +msgstr "especifica puerto para conectarse" + +#: cmdline.opt:57 cmdline.opt:77 cmdline.opt:151 cmdline.opt:164 +msgid "NAME" +msgstr "NOMBRE" + +#: cmdline.opt:57 +msgid "select a database to search" +msgstr "seleccione una base de datos para búsqueda" + +#: cmdline.opt:63 +msgid "ADDR" +msgstr "DIREC" + +#: cmdline.opt:63 +msgid "set a source address for TCP connections" +msgstr "establece una dirección origen para conexiones TCP" + +#: cmdline.opt:55 +msgid "Operation modes" +msgstr "Modos operativos" + +#: cmdline.opt:71 +msgid "match instead of define" +msgstr "cotejar en lugar de definir" + +#: cmdline.opt:77 +msgid "select a strategy for matching; implies --match" +msgstr "selecciona una estrategia para cotejado; implica --match" + +#: cmdline.opt:85 +msgid "N" +msgstr "N" + +#: cmdline.opt:85 +msgid "set maximum Levenshtein distance" +msgstr "establece distancia máxima Levenshtein" + +#: cmdline.opt:94 +msgid "show available databases" +msgstr "muestra base de datos disponible" + +#: cmdline.opt:100 +msgid "show available search strategies" +msgstr "muestra estrategias de búsqueda disponible" + +#: cmdline.opt:106 +msgid "show server help" +msgstr "muestra ayuda del servidor" + +#: cmdline.opt:112 +msgid "DBNAME" +msgstr "DBNAME" + +#: cmdline.opt:112 +msgid "show information about database DBNAME" +msgstr "muestra información acerca del DBNAME de base de datos" + +#: cmdline.opt:119 +msgid "show information about the server" +msgstr "muestra información acerca del servidor" + +#: cmdline.opt:125 +msgid "do not print the normal dico welcome" +msgstr "no escribe la bienvenida dico común" + +#: cmdline.opt:117 +msgid "Authentication" +msgstr "Autenticación" + +#: cmdline.opt:133 +msgid "disable authentication" +msgstr "desactiva autenticación" + +#: cmdline.opt:139 +msgid "enable SASL authentication (default)" +msgstr "activa autenticación SASL (predeterminado)" + +#: cmdline.opt:145 +msgid "disable SASL authentication" +msgstr "desactiva autenticación SASL" + +#: cmdline.opt:151 +msgid "set user name for authentication" +msgstr "establece nombre del usuario para autenticación" + +#: cmdline.opt:158 +msgid "set shared secret for authentication" +msgstr "establecer secreto compartido para autenticación" + +#: cmdline.opt:164 +msgid "set the name of autologin file to use" +msgstr "establece el nombre de fichero autoentrada para utilizar" + +#: cmdline.opt:170 +msgid "additional text for client command" +msgstr "texto adicional para mandato de cliente" + +#: cmdline.opt:162 cmdline.opt:103 +msgid "Debugging" +msgstr "Depurando" + +#: cmdline.opt:177 cmdline.opt:119 +msgid "enable session transcript" +msgstr "activa sesión de transcripción" + +#: cmdline.opt:183 +msgid "increase debugging verbosity level" +msgstr "incrementar nivel de detalles del depurado" + +#: cmdline.opt:189 +msgid "include time stamp in the debugging output" +msgstr "incluir sello temporal en la salida depurada" + +#: cmdline.opt:196 cmdline.opt:138 +msgid "include source line information in the debugging output" +msgstr "incluye línea de origen informacional dentro de salida de depuación" + +#: cmdline.opt:188 +msgid "Other options" +msgstr "Otras opciones" + +#: cmdline.opt:200 +msgid "Give this help list" +msgstr "Da este listado de ayuda" + +#: cmdline.opt:200 +msgid "Give a short usage message" +msgstr "Da un mensaje de empleo corto" + +#: cmdline.opt:200 +msgid "Print program version" +msgstr "Escribe la versión del programa" + +#: cmdline.opt:37 +msgid "GNU dictionary client program" +msgstr "Programa cliente del diccionario GNU" + +#: cmdline.opt:39 +msgid "[URL-or-WORD]" +msgstr "[URL-o-PALABRA]" + +#: cmdline.opt:81 +#, c-format +msgid "%s: invalid number" +msgstr "%s: número inválido" + +#: cmdline.opt:230 +msgid "Type ? for help summary" +msgstr "Teclee ? para índice de ayuda" + +#: dico/lookup.c:23 +msgid "No match" +msgstr "Sin coincidencia" + +#: dico/lookup.c:65 dico/lookup.c:175 +#, c-format +msgid "From %s, %s:\n" +msgstr "Desde %s, %s:\n" + +#: dico/lookup.c:137 +msgid "(no description available)" +msgstr "(sin descripción disponible)" + +#: dico/lookup.c:209 +#, c-format +msgid "%s:%d: INTERNAL ERROR: unexpected request type" +msgstr "%s:%d: ERROR INTERNO: tipo de solicitud inesperado" + +#: dico/lookup.c:229 dico/lookup.c:296 +msgid "Server name or IP not specified" +msgstr "Nombre del servidor o IP no especificada" + +#: dico/lookup.c:238 +msgid "Quitting\n" +msgstr "Terminando\n" + +#: dico/saslauth.c:39 dicod/gsasl.c:370 +#, c-format +msgid "cannot get list of available SASL mechanisms: %s" +msgstr "no puede obterner listado de mecanismos SASL disponible: %s" + +#: dico/saslauth.c:110 +#, c-format +msgid "Unknown callback property %d" +msgstr "Llamada devuelta de propiedad desconocida %d" + +#: dico/saslauth.c:121 dico/saslauth.c:127 +msgid "GSASL handshake aborted" +msgstr "Coloquio GSASL abortado" + +#: dico/saslauth.c:168 +#, c-format +msgid "GSASL handshake aborted: unexpected reply: %s" +msgstr "Coloquio GSASL abortado: respuesta inesperada: %s" + +#: dico/saslauth.c:186 dicod/gsasl.c:148 +#, c-format +msgid "GSASL error: %s" +msgstr "Error GSASL: %s" + +#: dico/saslauth.c:233 +msgid "Initializing SASL\n" +msgstr "Inicializando SASL\n" + +#: dico/saslauth.c:236 +#, c-format +msgid "Cannot initialize libgsasl: %s" +msgstr "No puede inicializar libgsasl: %s" + +#: dico/saslauth.c:281 +msgid "Trying SASL\n" +msgstr "Tratando SASL\n" + +#: dico/saslauth.c:291 +msgid "No suitable SASL mechanism found" +msgstr "Mecanismo SASL encontrado no apropiado" + +#: dico/saslauth.c:300 +#, c-format +msgid "Selected authentication mechanism %s" +msgstr "Seleccionó mecanismo de autenticación %s" + +#: dico/saslauth.c:310 +msgid "SASL authentication succeeded" +msgstr "Autenticación SASL correcta" + +#: dico/saslauth.c:311 +msgid "SASL authentication failed" +msgstr "Autenticación SASL fallada" + +#: dico/saslauth.c:374 +msgid "Dico compiled without SASL support" +msgstr "Dico compilado sin apoyo SASL" + +#: dicod/regex.c:46 +#, c-format +msgid "Regex error: %s" +msgstr "Exreg errónea: %s" + +#: dicod/dicod.c:119 dicod/dicod.c:137 dicod/main.c:1572 +#, c-format +msgid "removing database %s" +msgstr "quitando base de datos %s" + +#: dicod/dicod.c:153 +#, c-format +msgid "error closing database %s" +msgstr "error al cierre de base de datos %s" + +#: dicod/dicod.c:291 +#, c-format +msgid "error freeing database %s" +msgstr "error liberando base de datos %s" + +#: dicod/dicod.c:345 +msgid "connection from" +msgstr "conectar desde" + +#: dicod/dicod.c:364 +msgid "session finished:" +msgstr "sesión finalizada:" + +#: dicod/acl.c:69 +msgid "expected string" +msgstr "esperaba cadena textual" + +#: dicod/acl.c:116 +msgid "expected string but found list" +msgstr "esperada cadena textual pero encontré listado" + +#: dicod/acl.c:129 +#, c-format +msgid "socket name too long: `%s'" +msgstr "nombre de socket demasiado largo: «%s»" + +#: dicod/acl.c:157 +msgid "expected `from', but found list" +msgstr "esperaba «origen», pero encontré listado" + +#: dicod/acl.c:160 +#, c-format +msgid "expected `from', but found `%s'" +msgstr "esperaba «origen», pero encontré «%s»" + +#: dicod/acl.c:169 +msgid "unexpected end of statement after `from'" +msgstr "final inesperado de declaración tras «origen»" + +#: dicod/acl.c:195 +msgid "junk after `from' list" +msgstr "basura tras lista «origen»" + +#: dicod/acl.c:211 +msgid "expected ACL name, but found end of statement" +msgstr "esperaba nombre ACL, pero encontré el final de sentencia" + +#: dicod/acl.c:217 +msgid "expected string, but found list" +msgstr "cadena esperada, pero encontrada lista de cadenas textuales" + +#: dicod/acl.c:224 +#, c-format +msgid "ACL not defined: `%s'" +msgstr "ACL no definido: «%s»" + +#: dicod/acl.c:242 +msgid "expected group list, but found end of statement" +msgstr "esperaba listado de grupo, pero encontré final de sentencia" + +#: dicod/acl.c:255 +msgid "expected group list, but found array" +msgstr "esperaba listado de grupo, pero encontré cadena textual" + +#: dicod/acl.c:268 +msgid "expected string value" +msgstr "esperaba valor de cadena textual" + +#: dicod/acl.c:290 +#, c-format +msgid "unknown word `%s'" +msgstr "palabra desconocida «%s»" + +#: dicod/acl.c:302 +msgid "unexpected list" +msgstr "lista no esperada" + +#. TRANSLATORS: `MATCHES' is the verb `match' in 2nd person. +#. E.g., in French: CONCORD AVEC +#: dicod/acl.c:400 +msgid "MATCHES" +msgstr "COTEJOS" + +#: dicod/acl.c:400 +msgid "does not match" +msgstr "no coteja" + +#: dicod/dbtext.c:28 +#, c-format +msgid "cannot get path from URL `%s'" +msgstr "no puede obtener ruta desde URL «%s»" + +#: dicod/dbtext.c:33 +#, c-format +msgid "cannot stat directory `%s'" +msgstr "no se puede efectuar 'stat' del directorio «%s»" + +#: dicod/dbtext.c:39 +#, c-format +msgid "%s: not a directory" +msgstr "%s: no es un directorio" + +#: dicod/dbtext.c:55 +#, c-format +msgid "cannot open file `%s'" +msgstr "imposible abrir el fichero '%s'" + +#: dicod/auth.c:46 dicod/gsasl.c:190 +msgid "failed to open user database" +msgstr "falló al abrir bbdd del usuario" + +#: dicod/auth.c:51 dicod/gsasl.c:240 dicod/gsasl.c:276 +#, c-format +msgid "failed to get password for `%s' from the database" +msgstr "fallaba al obtener contraseña para «%s» desde la base de datos" + +#: dicod/auth.c:55 +#, c-format +msgid "no such user `%s'" +msgstr "sin tal usuario «%s»" + +#: dicod/auth.c:61 +#, c-format +msgid "authentication failed for `%s'" +msgstr "autenticación fallada para «%s»" + +#: dicod/main.c:161 +msgid "list element must be a string" +msgstr "elemento listado debe ser una cadena textual" + +#: dicod/main.c:215 +msgid "list element must be a socket specification" +msgstr "elemento listado debe ser una especificación de socket" + +#: dicod/main.c:248 dicod/main.c:264 dicod/main.c:332 dicod/main.c:358 +#: dicod/main.c:407 dicod/main.c:460 dicod/main.c:503 dicod/main.c:665 +#: dicod/main.c:721 dicod/main.c:742 dicod/main.c:786 dicod/main.c:977 +#: dicod/main.c:1111 dicod/main.c:1150 dicod/main.c:1171 +msgid "Unexpected block statement" +msgstr "Bloque de declaración inesperada" + +#: dicod/main.c:284 +msgid "ACL name must be a string" +msgstr "Nombre ACL debe ser una cadena textual" + +#: dicod/main.c:286 +msgid "missing ACL name" +msgstr "ausentando nombre ACL" + +#: dicod/main.c:292 +#, c-format +msgid "redefinition of ACL %s" +msgstr "redefinición de ACL %s" + +#: dicod/main.c:295 +msgid "location of the previous definition" +msgstr "ubicación de la definición previa" + +#: dicod/main.c:311 dicod/main.c:315 +msgid "[all|authenticated|group ] [from ]" +msgstr "[todo|autenticado|grupo ] [origen ]" + +#: dicod/main.c:312 +msgid "Allow access" +msgstr "Permitir acceso" + +#: dicod/main.c:316 +msgid "Deny access" +msgstr "Denegar acceso" + +#: dicod/main.c:336 dicod/main.c:747 dicod/main.c:822 +msgid "expected scalar value" +msgstr "esperaba valor escalar" + +#: dicod/main.c:340 +#, c-format +msgid "no such ACL: `%s'" +msgstr "sin tal ACL: «%s»" + +#: dicod/main.c:363 dicod/main.c:465 dicod/main.c:507 dicod/main.c:670 +msgid "expected scalar value but found list" +msgstr "esperaba valor escalar pero encontré listado" + +#: dicod/main.c:371 +#, c-format +msgid "not a valid UID number: %s" +msgstr "no un número UID válido: %s" + +#: dicod/main.c:378 +#, c-format +msgid "%s: no such user" +msgstr "%s: no existe ese usuario" + +#: dicod/main.c:426 +#, c-format +msgid "not a valid GID number: %s" +msgstr "no un número GID válido: %s" + +#: dicod/main.c:433 +#, c-format +msgid "%s: unknown group" +msgstr "%s: grupo desconocido" + +#: dicod/main.c:469 +msgid "unknown mode" +msgstr "modo desconocido" + +#: dicod/main.c:514 +msgid "unknown syslog facility" +msgstr "capacidad de syslog desconocida" + +#: dicod/main.c:533 dicod/main.c:559 +msgid "tag must be a string" +msgstr "etiquetado debe ser una cadena textual" + +#: dicod/main.c:535 dicod/main.c:561 +msgid "missing tag" +msgstr "etiqueta ausente" + +#: dicod/main.c:624 +msgid "database name not supplied" +msgstr "nombre de base de datos no dada" + +#: dicod/main.c:630 +#, fuzzy +msgid "no handler defined for the database" +msgstr "Nombre del manipulador para esta base de datos." + +#: dicod/main.c:648 grecs/src/tree.c:665 +msgid "invalid use of block statement" +msgstr "empleo inválido de bloque de sentencia" + +#: dicod/main.c:675 dicod/loader.c:120 +#, c-format +msgid "cannot parse command line `%s': %s" +msgstr "no puede interpretar línea de órdenes «%s»: %s" + +#: dicod/main.c:691 +#, c-format +msgid "%s: handler not declared" +msgstr "%s: manipulador no declarado" + +#: dicod/main.c:727 +#, c-format +msgid "unknown capability: %s" +msgstr "capacidad desconocida: %s" + +#: dicod/main.c:752 +#, c-format +msgid "cannot parse headers: %s" +msgstr "no puede interpretar cabeceras: %s" + +#: dicod/main.c:759 +#, c-format +msgid "unknown encoding type: %s" +msgstr "tipo de codificación desconocida: %s" + +#: dicod/main.c:766 dicod/main.c:840 dicod/main.c:844 dicod/main.c:849 +#: dicod/main.c:853 dicod/main.c:896 dicod/main.c:899 dicod/main.c:903 +#: dicod/main.c:1029 dicod/main.c:1318 dicod/main.c:1327 dicod/main.c:1330 +#: dicod/main.c:1332 dicod/main.c:1337 dicod/main.c:1346 dicod/main.c:1368 +#: dicod/main.c:1383 grecs/src/format.c:141 +msgid "arg" +msgstr "arg" + +#: dicod/main.c:766 +msgid "Command line." +msgstr "Línea de mandato." + +#: dicod/main.c:798 +#, fuzzy +msgid "first argument must be string" +msgstr "elemento listado debe ser una cadena textual" + +#: dicod/main.c:804 +#, fuzzy +msgid "second argument must be string" +msgstr "Nombre de sección debe ser una cadena textual" + +#: dicod/main.c:812 +msgid "condition must be mime or nomime" +msgstr "" + +#: dicod/main.c:837 +msgid "word" +msgstr "palabra" + +#: dicod/main.c:837 +msgid "Dictionary name (a single word)." +msgstr "Nombre de diccionario (una palabra simple)." + +#: dicod/main.c:841 +msgid "Short description, to be shown in reply to SHOW DB command." +msgstr "" +"Descripción corta, para ser mostrada en respuesta a mandato mostrar BD." + +#: dicod/main.c:845 +msgid "" +"Full description of the database, to be shown in reply to SHOW INFO command." +msgstr "" +"Descripción completa de la base de datos, para ser mostrada dentro de " +"respuesta a mandato MOSTRAR INFORME." + +#: dicod/main.c:850 +msgid "List of languages this database translates from." +msgstr "Lista de idiomas de origen donde esta base de datos traduce." + +#: dicod/main.c:854 +msgid "List of languages this database translates to." +msgstr "Lista de idiomas de destino donde esta base de datos traduce." + +#: dicod/main.c:857 dicod/main.c:1023 dicod/main.c:1026 dicod/main.c:1302 +#: dicod/main.c:1305 dicod/main.c:1324 dicod/main.c:1343 dicod/main.c:1348 +#: dicod/main.c:1366 dicod/main.c:1380 +msgid "name" +msgstr "nombre" + +#: dicod/main.c:857 +msgid "Name of the handler for this database." +msgstr "Nombre del manipulador para esta base de datos." + +#: dicod/main.c:860 dicod/main.c:1315 dicod/main.c:1387 dicod/main.c:1390 +msgid "arg: acl" +msgstr "arg: acl" + +#: dicod/main.c:861 +msgid "ACL controlling visibility of this database" +msgstr "ACL controlando visibilidad de esta base de datos" + +#: dicod/main.c:864 dicod/main.c:1312 dicod/main.c:1359 dicod/main.c:1362 +msgid "text" +msgstr "texto" + +#: dicod/main.c:865 +msgid "Additional MIME headers" +msgstr "Adicionales encabezados MIME" + +#: dicod/main.c:869 +#, fuzzy +msgid "bool" +msgstr "arg: bool" + +#: dicod/main.c:870 +msgid "Set database visibility" +msgstr "" + +#: dicod/main.c:873 +#, fuzzy +msgid " [mime|nomime]" +msgstr "nombre: cadena textual" + +#: dicod/main.c:874 +msgid "" +"For virtual database only: name of the member database. Optional mime|nomime " +"specifies the condition under which the database is to be used." +msgstr "" + +#: dicod/main.c:896 +msgid "Password file or query." +msgstr "Fichero de contraseña o consulta." + +#: dicod/main.c:900 +msgid "File containing user group information or a query to retrieve it." +msgstr "" +"Fichero conteniendo grupo de usuario de información o una petición donde " +"obtenerla." + +#: dicod/main.c:904 +msgid "Implementation-dependent options" +msgstr "Opciones implementación-dependiente" + +#: dicod/main.c:926 dicod/main.c:942 +msgid "URL must be a string" +msgstr "URL debe ser una cadena textual" + +#: dicod/main.c:928 dicod/main.c:944 +msgid "empty URL" +msgstr "vaciando URL" + +#: dicod/main.c:959 +msgid "cannot create user database" +msgstr "no puede crear la BBDD de usuario" + +#: dicod/main.c:981 +msgid "Not enough arguments for alias" +msgstr "Sin argumentos suficientes para alias" + +#: dicod/main.c:988 +#, c-format +msgid "argument %d has wrong type" +msgstr "argumento %d tiene tipo equivocado" + +#: dicod/main.c:1008 +msgid "expected boolean value but found list" +msgstr "esperaba valor booleano pero encontré listado" + +#: dicod/main.c:1017 dicod/main.c:1020 +msgid "mech: list" +msgstr "mech: lista" + +#: dicod/main.c:1018 +msgid "Disable SASL mechanisms listed in ." +msgstr "Desactiva mecanismos SASL listados en ." + +#: dicod/main.c:1021 +msgid "Enable SASL mechanisms listed in ." +msgstr "Activa mecanismos SASL listados en ." + +#: dicod/main.c:1024 +msgid "Set service name for GSSAPI and Kerberos." +msgstr "Establece nombre de servicio para GSSAPI y Kerberos." + +#: dicod/main.c:1027 +msgid "Set realm name for GSSAPI and Kerberos." +msgstr "Establece nombre realm para GSAPI y Kerberos." + +#: dicod/main.c:1030 +msgid "Define groups for anonymous users." +msgstr "Define grupos para usuarios anónimos." + +#: dicod/main.c:1069 +msgid "Section name must be a string" +msgstr "Nombre de sección debe ser una cadena textual" + +#: dicod/main.c:1071 +msgid "missing section name" +msgstr "nombre de sección ausente" + +#: dicod/main.c:1096 +msgid "Unexpected statement" +msgstr "Declaración inesperada" + +#: dicod/main.c:1133 +msgid "Expected string value" +msgstr "Esperaba valor de cadena" + +#: dicod/main.c:1159 +msgid "expected list or string" +msgstr "esperaba listado o cadena textual" + +#: dicod/main.c:1182 +msgid "Expected number" +msgstr "Esperaba número" + +#: dicod/main.c:1253 +msgid "arg: bool" +msgstr "arg: bool" + +#: dicod/main.c:1253 +msgid "Deny all * and ! look ups" +msgstr "Deniega todos * y ! aparece" + +#: dicod/main.c:1257 +msgid "cond" +msgstr "cond" + +#: dicod/main.c:1257 +msgid "Deny * and ! look-ups on these words." +msgstr "Denegar * y ! extrae en estas palabras." + +#: dicod/main.c:1262 dicod/main.c:1268 dicod/main.c:1274 dicod/main.c:1280 +#: dicod/main.c:1286 dicod/main.c:1292 +msgid "len: number" +msgstr "len: número" + +#: dicod/main.c:1263 +msgid "Deny * and ! look-ups on words with length < ." +msgstr "Denegar * y ! extrae palabras con longitus < ." + +#: dicod/main.c:1269 +msgid "Deny * and ! look-ups on words with length <= ." +msgstr "Denegar * y ! extrae palabras con longitud <= ." + +#: dicod/main.c:1275 +msgid "Deny * and ! look-ups on words with length > ." +msgstr "Denegar * y ! extrae palabras con longitud > ." + +#: dicod/main.c:1281 +msgid "Deny * and ! look-ups on words with length >= ." +msgstr "Denegar * y ! extrae palabras con longitud >= ." + +#: dicod/main.c:1287 +msgid "Deny * and ! look-ups on words with length == ." +msgstr "Denegar * y ! extrae palabras con longitud == ." + +#: dicod/main.c:1293 +msgid "Deny * and ! look-ups on words with length != ." +msgstr "Denegar * y ! extrae palabras con longitud != ." + +#: dicod/main.c:1302 +msgid "Run with these user privileges." +msgstr "Ejecutar con estos privilegios del usuario." + +#: dicod/main.c:1306 +msgid "Supplementary group to retain with the user privileges." +msgstr "Grupo suplementario a retener con los privilegios de usuario." + +#: dicod/main.c:1309 +msgid "arg: [daemon|inetd]" +msgstr "arg: [daemon|inetd]" + +#: dicod/main.c:1309 +msgid "Operation mode." +msgstr "Modo operativo." + +#: dicod/main.c:1313 +msgid "Server description to be shown in reply to SHOW SERVER command." +msgstr "" +"Descripción del servidor para ser mostrada en réplica a mandato MOSTRAR " +"SERVIDOR." + +#: dicod/main.c:1316 +msgid "Show system information if arg matches." +msgstr "Muestra información del sistema si cotejan arg." + +#: dicod/main.c:1319 +msgid "Enable identification check using AUTH protocol (RFC 1413)" +msgstr "Activa casilla de identificación utilizando protocolo AUTH (RFC 1413)" + +#: dicod/main.c:1321 +msgid "val" +msgstr "val" + +#: dicod/main.c:1322 +msgid "Set timeout for AUTH I/O operations." +msgstr "Establece agotamiento temporal para operaciones AUTH E/S." + +#: dicod/main.c:1325 +msgid "Name of the file containing the keys for decrypting AUTH replies." +msgstr "" +"Nombre del ficheros conteniendo las claves para descifrar replicas AUTH." + +#: dicod/main.c:1328 +msgid "Maximum number of children running simultaneously." +msgstr "Número máximo de subprocesos ejecutando simultáneamente." + +#: dicod/main.c:1330 +msgid "Tag syslog diagnostics with this tag." +msgstr "Etiquetar diagnósticos del boletín del sistema con esta etiquetación." + +#: dicod/main.c:1333 +msgid "" +"Set syslog facility. Arg is one of the following: user, daemon, auth, " +"authpriv, mail, cron, local0 through local7 (case-insensitive), or a " +"facility number." +msgstr "" +"Establece capacidad syslog. Arg es uno de los siguientes: usuario, demonio, " +"autoridad, autoridadpriv, correo, cron, local0 a través de local7 " +"(indistinguible mayúsculas), o un número capacitado." + +#: dicod/main.c:1338 +msgid "Prefix diagnostics messages with their severity." +msgstr "Mensajes diagnosticados prefijados con su severidad." + +#: dicod/main.c:1340 +msgid "fmt" +msgstr "fmt" + +#: dicod/main.c:1341 +msgid "Set format string for access log file." +msgstr "Establece formato textual para acceder al fichero de boletín." + +#: dicod/main.c:1344 +msgid "Set access log file name." +msgstr "Establece nombre de fichero de registro de acceso." + +#: dicod/main.c:1346 +msgid "Log session transcript." +msgstr "Boletina sesion de transcripción." + +#: dicod/main.c:1349 +msgid "Store PID of the master process in this file." +msgstr "Almacena PID del proceso maestro dentro de este fichero." + +#: dicod/main.c:1351 dicod/main.c:1354 +msgid "seconds" +msgstr "segundos" + +#: dicod/main.c:1352 +msgid "Wait this number of seconds for all children to terminate." +msgstr "Espera este número de segundos para todos los subprocesos a terminar." + +#: dicod/main.c:1355 +msgid "Set inactivity timeout." +msgstr "Establecer agotación del tiempo de inactividad." + +#: dicod/main.c:1357 +msgid "addr" +msgstr "direc" + +#: dicod/main.c:1357 +msgid "Listen on these addresses." +msgstr "Listado sobre estas direcciones." + +#: dicod/main.c:1360 +msgid "Display this text in the initial 220 banner" +msgstr "Enseña este texto dentro de la pancarta inicial de 220" + +#: dicod/main.c:1363 +msgid "" +"Display this text in reply to the HELP command. If text begins with a +, " +"usual command summary is displayed before it." +msgstr "" +"Enseña este texto en réplica al mandato HELP. Si el texto comienza con un +, " +"resume de mandatos usual es enseñado antes." + +#: dicod/main.c:1366 +msgid "Override the host name." +msgstr "Invalida el nombre hospedante." + +#: dicod/main.c:1368 +msgid "Request additional capabilities." +msgstr "Solicita capacidades adicionales." + +#: dicod/main.c:1371 dicod/main.c:1375 +msgid "path" +msgstr "ruta" + +#: dicod/main.c:1372 +msgid "List of directories searched for database modules." +msgstr "Listado de directorios buscados para módulos de BD." + +#: dicod/main.c:1376 +msgid "" +"List of directories searched for database modules prior to the default " +"module directory" +msgstr "" +"Listado de directorios buscados para módulos prioritarios de BD al " +"directorio modular predeterminado" + +#: dicod/main.c:1381 +msgid "Set the name of the default matching strategy." +msgstr "Establece el nombre de la estrategia de cotejo predeterminado." + +#: dicod/main.c:1384 +msgid "Provide timing information after successful completion of an operation." +msgstr "" + +#: dicod/main.c:1388 +msgid "Set ACL to control visibility of all databases." +msgstr "Establece ACL para control de visibilidad de todas bases de datos." + +#: dicod/main.c:1391 +msgid "Apply this ACL to incoming connections." +msgstr "Aplica esta ACL para conexiones entrantes." + +#: dicod/main.c:1393 +msgid "Define a dictionary database." +msgstr "Define una BD de diccionario." + +#: dicod/main.c:1397 dicod/main.c:1406 dicod/main.c:1412 dicod/main.c:1419 +msgid "name: string" +msgstr "nombre: cadena textual" + +#: dicod/main.c:1398 +msgid "" +"Load a module instance.\n" +"If is the same as in command, it can be simplified as:\n" +" load-module ;\n" +"Furthermore, several simplified forms can be combined into one\n" +"by using a list of names as its argument, as in:\n" +" load-module (stratall,word);\n" +msgstr "" + +#: dicod/main.c:1406 +msgid "Define an ACL." +msgstr "Define un ACL." + +#: dicod/main.c:1408 +msgid "url: string" +msgstr "url: cadena textual" + +#: dicod/main.c:1409 +msgid "Define user database for authentication." +msgstr "Definir usuario para autenticación de base de datos." + +#: dicod/main.c:1412 +msgid "Define a command alias." +msgstr "Define un alias de mandato." + +#: dicod/main.c:1416 +msgid "Control SASL authentication." +msgstr "Control de autenticación SASL." + +#: dicod/main.c:1420 +msgid "Additional configuration for strategy " +msgstr "Configuración adicional para estrategia " + +#: dicod/main.c:1459 +msgid "" +"Configuration file structure for dicod.\n" +"For more information, use `info dico configuration'." +msgstr "" +"Estructura del fichero de configuración para dicod.\n" +"Para más información, utilice ìnfo dico configuration'." + +#: dicod/main.c:1788 +msgid "unknown strategy" +msgstr "estrategia desconocida" + +#: cmdline.opt:36 +msgid "Select program mode" +msgstr "Selecciona modo de programa" + +#: cmdline.opt:51 +msgid "preprocess configuration file and exit" +msgstr "preprocesar ficheros de configuración y terminar" + +#: cmdline.opt:57 +msgid "check configuration file syntax and exit" +msgstr "comprobar sintaxis del fichero de configuración y termina" + +#: cmdline.opt:63 +msgid "inetd mode" +msgstr "modo inetd" + +#: cmdline.opt:69 +msgid "" +"run unit tests for module; subsequent arguments are treated as module name " +"and unit test arguments; the -- marker introduces module initialization " +"arguments" +msgstr "" +"ejecuta pruebas unitarias para módulo; argumentos subsecuentes son tratados " +"como nombre modular y argumentaciones de pruebas unitarias; el marcador -- " +"introduce argumentos de inicialización modular" + +#: cmdline.opt:63 +msgid "Modifiers" +msgstr "Modificadores" + +#: cmdline.opt:79 +msgid "FILE" +msgstr "FICHERO" + +#: cmdline.opt:79 +msgid "read this configuration file" +msgstr "lea este fichero de configuración" + +#: cmdline.opt:85 +msgid "operate in foreground" +msgstr "opera en primer plano" + +#: cmdline.opt:91 +msgid "output diagnostic to stderr" +msgstr "salida diagnóstica por stderr" + +#: cmdline.opt:97 +msgid "output diagnostic to syslog (default)" +msgstr "salida diagnóstica a boletín del sistema syslog (predeterminado)" + +#: cmdline.opt:103 +msgid "single-process mode" +msgstr "modo proceso único" + +#: cmdline.opt:109 cmdline.opt:179 +msgid "DIR" +msgstr "DIR" + +#: cmdline.opt:109 +msgid "prepend DIR to the module load path" +msgstr "prepone DIR a la ruta modular de carga" + +#: cmdline.opt:125 +msgid "disable session transcript" +msgstr "desactivar sesión de transcripción" + +#: cmdline.opt:131 +msgid "set debug verbosity level" +msgstr "establecer verbosidad de depuración" + +#: cmdline.opt:144 +msgid "trace parsing of configuration file" +msgstr "interpretando traza de fichero de configuración" + +#: cmdline.opt:150 +msgid "trace config file lexer" +msgstr "configura fichero de traza lexer" + +#: cmdline.opt:142 +msgid "Additional help" +msgstr "Ayuda adicional" + +#: cmdline.opt:158 +msgid "show configuration file summary" +msgstr "muestra fichero del resumen de configuración" + +#: cmdline.opt:151 +msgid "Preprocessor control" +msgstr "Control del preprocesador" + +#: cmdline.opt:167 +msgid "PROG" +msgstr "PROG" + +#: cmdline.opt:167 +msgid "use PROG as a preprocessor for config file" +msgstr "utilización PROG como un preprocesador para fichero configurable" + +#: cmdline.opt:173 +msgid "do not use external preprocessor" +msgstr "no utilizar preprocesado externo" + +#: cmdline.opt:179 +msgid "" +"add the directory DIR to the list of directories to be searched for " +"preprocessor include files" +msgstr "" +"añade el directorio DIR para la lista de directorios para ser buscada para " +"ficheros incluido del preprocesador" + +#: cmdline.opt:185 +msgid "SYMBOL[=VALUE]" +msgstr "SÍMBOLO[=VALOR]" + +#: cmdline.opt:185 +msgid "define a preprocessor symbol" +msgstr "define un preprocesador simbólico" + +#: cmdline.opt:43 +msgid "GNU dictionary server" +msgstr "Servidor del diccionario GNU" + +#: dicod/loader.c:38 +#, c-format +msgid "%s: faulty module: (%s) failed" +msgstr "%s: módulo ausente: (%s) fallado" + +#: dicod/loader.c:67 +#, c-format +msgid "%s: initialization failed" +msgstr "%s: inicialización fallada" + +#: dicod/loader.c:83 +#, c-format +msgid "module %s already loaded" +msgstr "modulo %s ya cargado" + +#: dicod/loader.c:96 +#, c-format +msgid "cannot load module %s: %s" +msgstr "no puede cargar módulo %s: %s" + +#: dicod/loader.c:505 +msgid "no module name" +msgstr "ningún nombre modular" + +#: dicod/loader.c:524 +msgid "module does not define dico_run_test function" +msgstr "módulo no define función dico_run_test" + +#: dicod/alias.c:68 +#, c-format +msgid "alias `%s' already defined" +msgstr "alias «%s» ya definido" + +#: dicod/alias.c:70 +msgid "this is the location of the previous definition" +msgstr "ésta es la ubicación de la definición previa" + +#: dicod/server.c:103 +#, c-format +msgid "file %s exists but cannot be stat'd" +msgstr "fichero %s existe paro no puede ser inicializado" + +#: dicod/server.c:110 +#, c-format +msgid "file %s is not a socket" +msgstr "fichero %s no es un socket" + +#: dicod/server.c:116 +#, c-format +msgid "cannot unlink file %s" +msgstr "no puede desenlazar fichero %s" + +#: dicod/server.c:131 +#, c-format +msgid "unsupported address family: %d" +msgstr "familia direccional no compatible: %d" + +#: dicod/server.c:163 +msgid "No sockets opened" +msgstr "Sin sockets abiertos" + +#: dicod/server.c:206 +#, c-format +msgid "%lu exited successfully" +msgstr "%lu finalizado correctamente" + +#: dicod/server.c:211 +#, c-format +msgid "%lu timed out" +msgstr "tiempo %lu agotado" + +#: dicod/server.c:216 +#, c-format +msgid "%lu failed with status %d" +msgstr "%lu fallado con estado %d" + +#: dicod/server.c:227 +#, c-format +msgid "%lu terminated on signal %d" +msgstr "%lu terminado en señal %d" + +#: dicod/server.c:230 +#, c-format +msgid "%lu stopped on signal %d" +msgstr "%lu detenido en señal %d" + +#: dicod/server.c:234 +#, c-format +msgid "%lu dumped core" +msgstr "núcleo %lu volcado" + +#: dicod/server.c:237 +#, c-format +msgid "%lu terminated with unrecognized status" +msgstr "%lu terminado con estado no reconocido" + +#: dicod/server.c:305 +#, c-format +msgid "Cannot open pidfile `%s'" +msgstr "No puede abrir fichero pid «%s»" + +#: dicod/server.c:308 +#, c-format +msgid "Cannot get pid from pidfile `%s'" +msgstr "No pueden obtener pid desde fichero pid «%s»" + +#: dicod/server.c:314 +#, c-format +msgid "%s appears to run with pid %lu. If it does not, remove `%s' and retry." +msgstr "%s parece ejecutar con pid %lu. Si no, quite «%s» y reintente." + +#: dicod/server.c:324 dicod/server.c:343 +#, c-format +msgid "Cannot unlink pidfile `%s'" +msgstr "No puede desenlazar pid de fichero «%s»" + +#: dicod/server.c:334 +#, c-format +msgid "Cannot create pidfile `%s'" +msgstr "No puede crear fichero pid «%s»" + +#: dicod/server.c:402 +#, c-format +msgid "connection from %s denied" +msgstr "conexión desde %s denegada" + +#: dicod/server.c:459 +msgid "fork failed" +msgstr "bifurcación fallada" + +#: dicod/server.c:475 +msgid "refusing to restart due to errors in configuration file" +msgstr "" + +#: dicod/server.c:481 +msgid "" +"refusing to restart due to unexpected return status of configuration checker" +msgstr "" + +#: dicod/server.c:489 +msgid "" +"refusing to restart: configuration checker did not exit within 5 seconds" +msgstr "rechazando reiniciar: marcador de configuración no salió en 5 segundos" + +#: dicod/server.c:498 +msgid "waitpid failed" +msgstr "espera pid fallada" + +#: dicod/server.c:499 +msgid "refusing to restart" +msgstr "rechazando reiniciar" + +#: dicod/server.c:539 +#, c-format +msgid "too many children (%lu)" +msgstr "demasiados subprocesos (%lu)" + +#: dicod/server.c:557 +msgid "select error" +msgstr "selección errónea" + +#: dicod/server.c:585 +#, c-format +msgid "%s started" +msgstr "%s iniciado" + +#: dicod/server.c:590 +msgid "not running as root: ignoring user/group settings" +msgstr "no ejecutando como administrador: ignorando opciones usuario/grupo" + +#: dicod/server.c:603 +msgid "dicod started without full file name" +msgstr "programa dicod iniciado sin nombre de fichero completo" + +#: dicod/server.c:604 dicod/server.c:608 +msgid "restart (SIGHUP) will not work" +msgstr "reinicio (SIGUP) no funcionará" + +#: dicod/server.c:607 +msgid "configuration file is not given with a full file name" +msgstr "fichero configuración no está dada con un nombre de fichero completo" + +#: dicod/server.c:615 +msgid "Cannot become a daemon" +msgstr "No puede convertir un demonio" + +#: dicod/server.c:632 +#, c-format +msgid "Exit code = %d, last error status" +msgstr "Código de salida= %d, error último de estado" + +#: dicod/server.c:640 +#, c-format +msgid "%s restarting" +msgstr "%s reiniciando" + +#: dicod/server.c:644 +msgid "Cannot restart" +msgstr "No puede reiniciar" + +#: dicod/server.c:646 +#, c-format +msgid "%s terminating" +msgstr "%s terminando" + +#: dicod/ident.c:200 +msgid "Incorrect length of IDENT DES packet" +msgstr "Longitud incorrecta de paquete IDENT DES" + +#: dicod/ident.c:207 +#, c-format +msgid "Cannot open file %s" +msgstr "No puede abrir el fichero %s" + +#: dicod/ident.c:388 +msgid "cannot create socket for AUTH identification" +msgstr "no puede crear socket para identificación AUTH" + +#: dicod/ident.c:400 +msgid "cannot bind AUTH socket" +msgstr "no puede enlazar a socket AUTH" + +#: dicod/ident.c:413 dicod/ident.c:464 +#, c-format +msgid "cannot connect to AUTH server %s" +msgstr "no puede conectar al servidor AUTH %s" + +#: dicod/ident.c:437 +#, c-format +msgid "Malformed IDENT response: `%s', from %s" +msgstr "Respuesta malformada IDENT: «%s», desde %s" + +#: dicod/ident.c:442 +msgid "" +"Keyfile for AUTH responses not specified in config; use `ident-keyfile FILE'" +msgstr "" +"Fichero clave para respuestas AUTH no especificadas en configuración; " +"utilice «FICHERO ident-keyfile»" + +#: dicod/ident.c:458 +#, c-format +msgid "failure while communicating with AUTH server %s" +msgstr "fallo mientras comunica con servidor AUTH %s" + +#: dicod/ident.c:469 +#, c-format +msgid "no reply from AUTH server %s" +msgstr "sin respuesta desde servidor AUTH %s" + +#: dicod/ident.c:475 +#, c-format +msgid "I/O error while communicating with AUTH server %s" +msgstr "Error E/S mientras comunica con servicio AUTH %s" + +#: dicod/accesslog.c:487 +#, c-format +msgid "log format error (near char %td): missing terminating `}'" +msgstr "" + +#: dicod/accesslog.c:502 +#, c-format +msgid "log format error (near char %td): unknown format char `%c'" +msgstr "" + +#: dicod/accesslog.c:510 +#, c-format +msgid "" +"log format warning (near char %td): format char `%c' does not take arguments" +msgstr "" + +#: dicod/accesslog.c:553 +#, c-format +msgid "cannot open access log file `%s'" +msgstr "no puede abrir acceso al fichero bitácora «%s»" + +#: dicod/gsasl.c:84 +#, c-format +msgid "Unexpected input instead of SASLRESP command: %s" +msgstr "Entrada inesperada en lugar de mandato SASLRESP: %s" + +#: dicod/gsasl.c:123 +#, c-format +msgid "SASL gsasl_server_start: %s" +msgstr "SASL gsasl_server_start: %s" + +#: dicod/gsasl.c:163 +#, c-format +msgid "GSASL %s: cannot get username" +msgstr "GSASL %s: no puedo obtener usuario" + +#: dicod/gsasl.c:269 +msgid "user name not supplied" +msgstr "nombre del usuario no dado" + +#: dicod/gsasl.c:333 +#, c-format +msgid "cannot initialize libgsasl: %s" +msgstr "no puede inicializar libgsasl: %s" + +#: modules/dict.org/dictorg.c:83 +#, c-format +msgid "mod_init: cannot stat `%s'" +msgstr "mod_init: no puede declarar «%s»" + +#: modules/dict.org/dictorg.c:88 +#, c-format +msgid "mod_init: `%s' is not a directory" +msgstr "mod_init: «%s» no es un directorio" + +#: modules/dict.org/dictorg.c:93 +#, c-format +msgid "mod_init: `%s' is not readable" +msgstr "mod_init: «%s» no es leíble" + +#: modules/dict.org/dictorg.c:248 +#, c-format +msgid "%s:%lu: invalid base64 value: `%.*s'" +msgstr "%s:%lu: valor de base64 inválido: `%.*s'" + +#: modules/dict.org/dictorg.c:263 +#, c-format +msgid "%s:%lu: malformed entry" +msgstr "%s:%lu: entrada mal formada" + +#: modules/dict.org/dictorg.c:302 +#, c-format +msgid "open_index: cannot stat `%s'" +msgstr "open_index: no se puede efectuar estadística sobre «%s»" + +#: modules/dict.org/dictorg.c:306 +#, c-format +msgid "open_index: `%s' is not a regular file" +msgstr "open_index: «%s» no es un fichero regular" + +#: modules/dict.org/dictorg.c:315 modules/dict.org/dictorg.c:412 +#: modules/gcide/gcide.c:316 modules/gcide/gcide.c:725 +#, c-format +msgid "cannot create stream `%s'" +msgstr "no puede crear flujo «%s»" + +#: modules/dict.org/dictorg.c:321 modules/dict.org/dictorg.c:420 +#: modules/gcide/gcide.c:323 modules/gcide/gcide.c:732 +#, c-format +msgid "cannot open stream `%s': %s" +msgstr "no puede abrir flujo «%s»: %s" + +#: modules/dict.org/dictorg.c:430 +#, c-format +msgid "cannot open stream for dictionary `%s'" +msgstr "no puede abrir flujo para diccionario «%s»" + +#: modules/dict.org/dictorg.c:458 +#, c-format +msgid "mod_init_db(%s): database name not given" +msgstr "" + +#: modules/dict.org/dictorg.c:468 +#, c-format +msgid "mod_init_db: `%s' is not an absolute file name" +msgstr "" + +#: modules/dict.org/dictorg.c:508 +#, c-format +msgid "mod_init_db(%s): index files in old 8-bit format are not supported" +msgstr "" + +#: modules/dict.org/dictorg.c:810 modules/dict.org/dictorg.c:993 +#: modules/gcide/gcide.c:756 +#, c-format +msgid "%s: read error: %s" +msgstr "%s: error de lectura: %s" + +#: modules/dict.org/dictorg.c:904 +msgid "_match_all: key initialization failed" +msgstr "_match_all: key inicialización fallada" + +#: modules/dict.org/dictorg.c:983 +#, c-format +msgid "%s: seek error: %s" +msgstr "%s: error desplazado: %s" + +#: modules/dict.org/dictstr.c:176 +#, c-format +msgid "cannot initialize inflation engine: %s" +msgstr "no puede inicializar motor de inflación: %s" + +#: modules/dict.org/dictstr.c:198 +#, c-format +msgid "%s:%d: INTERNAL ERROR: inflate did not flush (%d pending, %d avail)" +msgstr "" +"%s:%d: ERROR INTERNO: crecimiento no sofocado (%d pendiente, %d disponible)" + +#: modules/dict.org/dictstr.c:286 +#, c-format +msgid "%s:%d: INTERNAL ERROR: cannot shut down inflation engine: %s" +msgstr "%s:%d: ERROR INTERNO: no puede cerrar motor de crecimiento: %s" + +#: modules/dict.org/dictstr.c:437 +#, c-format +msgid "file position (%lu) != header length + 1 (%lu)" +msgstr "posición de fichero (%lu) != longitud de cabecera +1 (%lu)" + +#: modules/dict.org/dictstr.c:475 +msgid "unknown dictionary format" +msgstr "formato de diccionario desconocido" + +#: modules/dict.org/dictstr.c:478 +msgid "unsupported dictionary format" +msgstr "formato de diccionario no compatible" + +#: modules/dict.org/dictstr.c:481 +msgid "unsupported dictionary version" +msgstr "versión de diccionario no compatible" + +#: modules/dict.org/dictstr.c:484 +msgid "malformed header" +msgstr "cabecera mal formada" + +#: modules/dict.org/dictstr.c:487 +msgid "cannot seek on pure gzip format files" +msgstr "no puede solicitar en ficheros formateados gzip puro" + +#: modules/dict.org/dictstr.c:490 +msgid "error decompressing stream" +msgstr "error descomprimiendo flujo" + +#: modules/guile/guile.c:151 +#, c-format +msgid "%s: not enough memory" +msgstr "%s: sin memoria suficiente" + +#: modules/guile/guile.c:164 +#, c-format +msgid "%s: invalid return type" +msgstr "%s: tipo devuelto inválido" + +#: modules/guile/guile.c:184 +#, c-format +msgid "procedure `%s' failed: see error output for details" +msgstr "" + +#: modules/guile/guile.c:735 +#, c-format +msgid "%s: %s: unknown virtual function" +msgstr "%s: %s: función virtual no conocida" + +#: modules/guile/guile.c:794 +msgid "mod_init: cannot initialize error port" +msgstr "mod_init: no puede inicializar error de puerto" + +#: modules/guile/guile.c:802 modules/guile/guile.c:836 +#, c-format +msgid "mod_init: cannot load init script %s" +msgstr "mod_init: no puede cargar guión de inicio %s" + +#: modules/guile/guile.c:862 +#, c-format +msgid "%s: %s: void virtual function" +msgstr "%s: %s: función virtual void" + +#: modules/guile/guile.c:1084 +msgid "mod_match: key initialization failed" +msgstr "" + +#: modules/outline/outline.c:476 +msgid "outline_open: wrong number of arguments" +msgstr "outline_open: número equivocado de argumentos" + +#: modules/outline/outline.c:482 modules/gcide/idxgcide.l:269 +#, c-format +msgid "cannot open file %s" +msgstr "no puede abrir el fichero %s" + +#: modules/outline/outline.c:642 +msgid "outline_lang: not enough memory" +msgstr "sin memoria suficiente" + +#: modules/outline/outline.c:681 +msgid "outline_match_all: not enough memory" +msgstr "outline_match_all: sin memoria suficiente" + +#: modules/outline/outline.c:686 +msgid "outline_match_all: key initialization failed" +msgstr "outline_match_all: inicialización de clave fallada" + +#: modules/ldap/ldap.c:60 +#, c-format +msgid "cannot set LBER_OPT_DEBUG_LEVEL %d" +msgstr "no puede establecer LBER_OPT_DEBUG_LEVEL %d" + +#: modules/ldap/ldap.c:65 +#, c-format +msgid "could not set LDAP_OPT_DEBUG_LEVEL %d" +msgstr "no pudo establecer LDAP_OPT_DEBUG_LEVEL %d" + +#: modules/ldap/ldap.c:73 +#, c-format +msgid "cannot create LDAP session handle for URI=%s (%d): %s" +msgstr "no puede crear manipulador de sesión LDAP para URI=%s (%d): %s" + +#: modules/ldap/ldap.c:81 +#, c-format +msgid "ldap_start_tls failed: %s" +msgstr "ldap_start_tls fallado: %s" + +#: modules/ldap/ldap.c:199 +#, c-format +msgid "cannot parse options `%s': %s" +msgstr "no puede interpretar opciones «%s»: %s" + +#: modules/ldap/ldap.c:215 +msgid "cannot allocate handle" +msgstr "no puede asignar manipulador" + +#: modules/ldap/ldap.c:255 +#, c-format +msgid "cannot expand query `%s': %s" +msgstr "no puede expandir petición «%s»: %s" + +#: modules/gcide/gcide.c:85 +#, c-format +msgid "gcide: cannot stat `%s'" +msgstr "gcide: no puede especificar «%s»" + +#: modules/gcide/gcide.c:89 +#, c-format +msgid "gcide: `%s' is not a directory" +msgstr "gcide: «%s» no es un directorio" + +#: modules/gcide/gcide.c:93 modules/gcide/gcide.c:158 +#, c-format +msgid "gcide: `%s' is not readable" +msgstr "gcide: «%s» no es un leíble" + +#: modules/gcide/gcide.c:113 +#, c-format +msgid "gcide_open_idx: creating index %s" +msgstr "gcide_open_idx: creando índice %s" + +#: modules/gcide/gcide.c:116 +#, c-format +msgid "gcide_open_idx: cannot run %s" +msgstr "gcide_open_idx: no puede ejecutar %s" + +#: modules/gcide/gcide.c:125 +msgid "gcide_open_idx: fork failed" +msgstr "gcide_open_idx: bifurcación fallada" + +#: modules/gcide/gcide.c:129 modules/gcide/gcide.c:134 +#, c-format +msgid "gcide_open_idx: %s failed" +msgstr "gcide_open_idx: %s fallado" + +#: modules/gcide/gcide.c:141 +#, c-format +msgid "gcide_open_idx: %s exited with status %d" +msgstr "gcide_open_idx: %s terminó con estado %d" + +#: modules/gcide/gcide.c:162 modules/gcide/gcide.c:182 +#, c-format +msgid "gcide: can't stat `%s'" +msgstr "gcide: no puede definir «%s»" + +#: modules/gcide/gcide.c:188 +msgid "gcide: index file older than database, reindexing" +msgstr "gcice: tipo indexado más antiguo que la BD, reindizando" + +#: modules/gcide/gcide.c:190 +#, c-format +msgid "gcide_open_idx: cannot access %s" +msgstr "gcide_open_idx: no puede acceder %s" + +#: modules/gcide/gcide.c:249 +msgid "gcide_init_db: database directory not given" +msgstr "gcide_init_db: directorio de la base de datos no dado" + +#: modules/gcide/gcide.c:335 modules/gcide/gcide.c:354 +#, c-format +msgid "read error in stream `%s': %s" +msgstr "leer error en flujo «%s»: %s" + +#: modules/gcide/gcide.c:344 +#, c-format +msgid "cannot get size of stream `%s': %s" +msgstr "no puede obtener tamaño de flujo «%s»: %s" + +#: modules/gcide/gcide.c:351 +msgid "cannot allocate dictionary information buffer" +msgstr "no puedo asignar búfer informativo de diccionario" + +#: modules/gcide/gcide.c:518 modules/wordnet/wordnet.c:617 +#, fuzzy, c-format +msgid "%s: key initialization failed" +msgstr "%s: inicialización fallada" + +#: modules/gcide/gcide.c:742 +#, c-format +msgid "seek error on `%s' while positioning to %lu: %s" +msgstr "solicite error en «%s» mientras posicionando a %lu: %s" + +#: modules/gcide/idx.c:68 +#, c-format +msgid "error reading from `%s'" +msgstr "error leyendo desde «%s»" + +#: modules/gcide/idx.c:71 +#, c-format +msgid "short read while reading from `%s'" +msgstr "ordenar lectura mientras lea desde «%s»" + +#: modules/gcide/idx.c:91 +#, c-format +msgid "file `%s' is not a valid gcide index file" +msgstr "fichero «%s» no es un fichero indexado gcide válido" + +#: modules/gcide/idx.c:103 +#, c-format +msgid "index file `%s' is corrupted" +msgstr "fichero «%s» indexado está corrompido" + +#: modules/gcide/idx.c:128 +#, c-format +msgid "cannot open index file `%s'" +msgstr "no puede crear fichero indexado «%s»" + +#: modules/gcide/idx.c:246 +#, c-format +msgid "seek error on `%s' while positioning to %lu" +msgstr "solicite error en «%s» mientras posiciona a %lu" + +#: modules/gcide/idxgcide-cli.opt:62 +#, c-format +msgid "not a valid size: %s" +msgstr "no un tamaño válido: %s" + +#: modules/gcide/idxgcide.l:77 +msgid "page too small, aborting" +msgstr "páginado demasiado pequeño, abortando" + +#: modules/gcide/idxgcide.l:120 +msgid "Sorting references" +msgstr "Ordenando referencias" + +#: modules/gcide/idxgcide.l:124 +msgid "Writing references" +msgstr "Escribiendo referencias" + +#: modules/gcide/idxgcide.l:217 +#, c-format +msgid "%s:%u: unknown or illegible character in a headword" +msgstr "%s:%u: carácter desconocido o ilegal dentro de cabecera de palabra" + +#: modules/gcide/idxgcide.l:221 +#, c-format +msgid "%s:%u: unrecognized entity: %s" +msgstr "%s:%u: entidad no reconocida: %s" + +#: modules/gcide/idxgcide.l:236 +#, c-format +msgid "%s:%u: unknown character sequence %s" +msgstr "%s:%u: secuencia de carácter desconocida %s" + +#: modules/gcide/idxgcide.l:266 +#, c-format +msgid "Indexing %s" +msgstr "Indexando %s" + +#: modules/gcide/idxgcide.l:302 +msgid "page size too small" +msgstr "tamaño de página demasiado pequeño" + +#: modules/gcide/idxgcide.l:311 +msgid "bad number of arguments" +msgstr "número de argumentos equivocados" + +#: modules/gcide/idxgcide.l:335 +#, c-format +msgid "cannot create index file `%s'" +msgstr "no puede crear fichero indexado «%s»" + +#: modules/gcide/idxgcide.l:356 +#, c-format +msgid "headwords=%lu, definitions=%lu, refs per page=%lu, pages=%lu" +msgstr "" +"palabra principal=%lu, definiciones=%lu, refs por página=%lu, páginas=%lu" + +#: modules/gcide/markup.l:148 +#, c-format +msgid "cannot parse line %.*s: %s" +msgstr "no puede interpretar línea %.*s: %s" + +#: modules/gcide/markup.l:300 +#, c-format +msgid "%u: unrecognized entity: %s" +msgstr "%u: entidad no reconocida: %s" + +#: modules/gcide/markup.l:312 +#, c-format +msgid "%u: unknown character sequence %s" +msgstr "%u: secuencia de carácter desconocida %s" + +#: modules/wordnet/wordnet.c:79 +msgid "cannot open wordnet database" +msgstr "no puede abrir bbdd wordnet" + +#: modules/wordnet/wordnet.c:232 +#, c-format +msgid "wordnet: unknown option %s" +msgstr "wordnet: opción %s desconocida" + +#: modules/wordnet/wordnet.c:239 +#, c-format +msgid "wordnet: option %s is not yet supported" +msgstr "wordnet: opción %s aún no es compatible" + +#: grecs/src/cidr.c:129 grecs/src/cidr.c:179 grecs/src/cidr.c:186 +#, c-format +msgid "invalid network mask: %s" +msgstr "máscara de red inválida: %s" + +#: grecs/src/cidr.c:142 grecs/src/cidr.c:149 grecs/src/cidr.c:160 +#, c-format +msgid "unrecognized address family: %s" +msgstr "familia de direcciones no reconocidas: %s" + +#: grecs/src/cidr.c:153 +#, c-format +msgid "invalid network address: %s" +msgstr "dirección de red inválida: %s" + +#: grecs/src/format.c:33 +msgid "void" +msgstr "" + +#: grecs/src/format.c:36 grecs/src/tree.c:69 +#, fuzzy +msgid "string" +msgstr "url: cadena textual" + +#: grecs/src/format.c:46 +#, fuzzy +msgid "number" +msgstr "len: número" + +#: grecs/src/format.c:49 +msgid "time" +msgstr "" + +#: grecs/src/format.c:52 +msgid "boolean" +msgstr "" + +#: grecs/src/format.c:55 +msgid "IPv4" +msgstr "" + +#: grecs/src/format.c:58 +msgid "CIDR" +msgstr "" + +#: grecs/src/format.c:61 +#, fuzzy +msgid "hostname" +msgstr "nombre" + +#: grecs/src/format.c:64 +#, fuzzy +msgid "sockaddr" +msgstr "direc" + +#: grecs/src/format.c:67 +#, fuzzy +msgid "section" +msgstr "Selección del servidor" + +#: grecs/src/format.c:70 +msgid "null" +msgstr "" + +#: grecs/src/format.c:133 +msgid "Disabled;" +msgstr "Desactivado;" + +#: grecs/src/grecs-lex.l:186 +#, c-format +msgid "stray character %c" +msgstr "carácter extraviado %c" + +#: grecs/src/grecs-lex.l:189 +#, c-format +msgid "stray character \\%03o" +msgstr "carácter extraviado \\%03o" + +#: grecs/src/grecs-lex.l:219 grecs/src/preproc.c:480 +#, c-format +msgid "Cannot open `%s'" +msgstr "No puede abrir «%s»" + +#: grecs/src/grecs-lex.l:227 grecs/src/preproc.c:698 +#, c-format +msgid "Unable to start external preprocessor `%s'" +msgstr "Incapaz de iniciar un preprocesado externo «%s»" + +#: grecs/src/grecs-lex.l:394 grecs/src/grecs-lex.l:431 +#, c-format +msgid "cannot parse #line line: %s" +msgstr "no puede interpretar línea #line: %s" + +#: grecs/src/grecs-lex.l:415 grecs/src/grecs-lex.l:435 +msgid "invalid #line statement" +msgstr "estado #line inválido" + +#: grecs/src/grecs-lex.l:418 grecs/src/grecs-lex.l:439 +msgid "malformed #line statement" +msgstr "estado #line malformado" + +#: grecs/src/lineacc.c:70 +#, c-format +msgid "unknown escape sequence: '\\%c'" +msgstr "secuencia de escape desconocida: '\\%c'" + +#: grecs/src/opthelp.c:123 grecs/src/opthelp.c:269 +msgid "Usage:" +msgstr "Modo de empleo:" + +#: grecs/src/opthelp.c:127 +msgid "OPTION" +msgstr "OPCIÓN" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Aliases" +msgstr "Aliases" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Alias" +msgstr "Alias" + +#: grecs/src/opthelp.c:186 +msgid "" +"Mandatory or optional arguments to long options are also mandatory or " +"optional for any corresponding short options." +msgstr "" +"Argumentos obligatorios u opcionales para opciones largas son también " +"obligatorios u opcionales para opciones correspondientes cortas." + +#. TRANSLATORS: The placeholder indicates the bug-reporting +#. address for this package. Please add _another line_ saying +#. "Report translation bugs to <...>\n" with the address for +#. translation bugs (typically your translation team's web or +#. email address). +#: grecs/src/opthelp.c:202 +#, c-format +msgid "Report bugs to %s.\n" +msgstr "Reportar defectos a: %s.\n" + +#: grecs/src/opthelp.c:205 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s página inicial: <%s>\n" + +#. TRANSLATORS: Translate "(C)" to the copyright symbol +#. (C-in-a-circle), if this symbol is available in the user's +#. locale. Otherwise, do not translate "(C)"; leave it as-is. +#: grecs/src/opthelp.c:457 +msgid "(C)" +msgstr "©" + +#: grecs/src/opthelp.c:466 +msgid "" +"License GPLv3+: GNU GPL version 3 or later \n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +"\n" +msgstr "" +"License GPLv3+: GNU GPL version 3 or later .\n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +"\n" + +#: grecs/src/opthelp.c:483 +msgid "Written by " +msgstr "Escrito por " + +#. TRANSLATORS: This string is used as a delimiter between +#. authors' names as in: +#. +#. Written by Winnie the Pooh, Piglet ... +#. +#: grecs/src/opthelp.c:489 +msgid ", " +msgstr ", " + +#. TRANSLATORS: This string acts as a delimiter before the +#. last author's names, e.g.: +#. +#. Written by Winnie the Pooh, Piglet and Christopher Robin. +#. +#: grecs/src/opthelp.c:495 +msgid " and " +msgstr " y " + +#: grecs/src/path-parser.c:62 +#, c-format +msgid "cannot open `%s'" +msgstr "no puede abrir «%s»" + +#: grecs/src/path-parser.c:108 grecs/src/path-parser.c:123 +msgid "unexpected end of file" +msgstr "final de fichero no esperado" + +#: grecs/src/path-parser.c:143 +msgid "parse error" +msgstr "incapaz resolverse lo que usted signific decir" + +#: grecs/src/preproc.c:448 grecs/src/preproc.c:470 +#, c-format +msgid "Cannot stat `%s'" +msgstr "No puede especificar «%s»" + +#: grecs/src/preproc.c:453 grecs/src/preproc.c:458 +msgid "Recursive inclusion" +msgstr "Inclusión recursiva" + +#: grecs/src/preproc.c:461 +#, c-format +msgid "`%s' already included here" +msgstr "«%s» ya incluido aquí" + +#: grecs/src/preproc.c:465 +#, c-format +msgid "`%s' already included at top level" +msgstr "«%s» ya incluido en nivel superior" + +#: grecs/src/preproc.c:595 +msgid "Cannot parse include line" +msgstr "No puedo interpretar línea incluida" + +#: grecs/src/preproc.c:598 +msgid "invalid include statement" +msgstr "declaración incluida inválida" + +#: grecs/src/preproc.c:624 +msgid "read error" +msgstr "error de lectura" + +#: grecs/src/preproc.c:632 +#, c-format +msgid "%s: No such file or directory" +msgstr "%s: sin tal fichero o directorio" + +#: grecs/src/preproc.c:773 grecs/src/preproc.c:793 +#, c-format +msgid "Cannot run `%s'" +msgstr "No puede ejecutar «%s»" + +#: grecs/src/sockaddr.c:67 +#, c-format +msgid "socket path name too long: %s" +msgstr "nombre de ruta socket demasiado larga: %s" + +#: grecs/src/sockaddr.c:120 +#, c-format +msgid "%s: garbage near %s" +msgstr "%s: basura cerca de %s)" + +#: grecs/src/sockaddr.c:159 +#, c-format +msgid "service not specified: %s" +msgstr "servicio no especificado: %s" + +#: grecs/src/sockaddr.c:176 +#, c-format +msgid "%s: cannot parse address: %s" +msgstr "%s: no puede interpretar dirección: %s" + +#: grecs/src/sockaddr.c:269 +#, c-format +msgid "unknown or unsupported scheme: %s" +msgstr "protocolo o esquema no soportado: %s" + +#: grecs/src/sockaddr.c:278 +#, c-format +msgid "%s: UNIX socket must be an absolute file name" +msgstr "%s: un socket UNIX debe ser un nombre de fichero absoluto" + +#: grecs/src/symtab.c:236 +msgid "element not found in table" +msgstr "elemento no encontrado en tabla" + +#: grecs/src/symtab.c:238 +msgid "symbol table is full" +msgstr "tabla simbólica está llena" + +#: grecs/src/tree.c:70 +msgid "list" +msgstr "" + +#: grecs/src/tree.c:71 +#, fuzzy +msgid "one or more arguments" +msgstr "demasiados argumentos" + +#: grecs/src/tree.c:75 +msgid "unrecognized type; please report" +msgstr "" + +#: grecs/src/tree.c:320 +msgid "section keyword used as a scalar" +msgstr "" + +#: grecs/src/tree.c:322 +msgid "scalar keyword used as a section" +msgstr "" + +#: grecs/src/tree.c:325 +#, fuzzy +msgid "unknown keyword" +msgstr "Palabra clave desconocida" + +#: grecs/src/tree.c:360 +#, c-format +msgid "%s: not a valid boolean value" +msgstr "%s: no un valor booleana válido" + +#: grecs/src/tree.c:420 grecs/src/tree.c:644 +#, c-format +msgid "%s: not a valid IP address or hostname" +msgstr "%s: no una dirección IP válida u hospedador" + +#: grecs/src/tree.c:444 +#, c-format +msgid "%s: not a valid port number" +msgstr "%s: no un número de puerto válido" + +#: grecs/src/tree.c:452 +msgid "missing port number" +msgstr "falta el número de puerto" + +#: grecs/src/tree.c:501 +msgid "numeric overflow" +msgstr "desbordamiento numérico" + +#: grecs/src/tree.c:506 +msgid "value out of allowed range" +msgstr "valor fuera de rango permitido" + +#: grecs/src/tree.c:541 grecs/src/tree.c:571 +#, c-format +msgid "not a number (stopped near `%s')" +msgstr "no un número (detenido cerca de «%s»)" + +#: grecs/src/tree.c:635 +#, c-format +msgid "%s: not a valid IP address" +msgstr "%s: no una dirección IP válida" + +#: grecs/src/tree.c:774 +#, c-format +msgid "too many arguments to `%s'; missing semicolon?" +msgstr "demasiados argumentos a «%s»; ¿faltan punto y como?" + +#: grecs/src/tree.c:788 grecs/src/tree.c:836 +#, c-format +msgid "INTERNAL ERROR at %s:%d: unhandled data type %d" +msgstr "ERROR INTERNO en %s:%d: tipo de datos %d no manipulado" + +#: grecs/src/tree.c:803 +#, c-format +msgid "%s: incompatible data type in list item #%d" +msgstr "%s: tipo de datos incompatibles dentro de ítem de lista #%d" + +#: grecs/src/tree.c:823 +#, c-format +msgid "incompatible data type for `%s'" +msgstr "tipo de datos incompatible para «%s»" + +#: grecs/wordsplit/wordsplit.c:130 +msgid "memory exhausted while trying to store error context" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:881 +#, fuzzy +msgid "Restarting" +msgstr "%s reiniciando" + +#: grecs/wordsplit/wordsplit.c:1607 +#, c-format +msgid "%.*s: variable null or not set" +msgstr "%.*s: variable nula o no establecida" + +#: grecs/wordsplit/wordsplit.c:1637 +#, c-format +msgid "warning: undefined variable `%.*s'" +msgstr "cuidado: variable no definida `%.*s'" + +#: grecs/wordsplit/wordsplit.c:2138 +#, c-format +msgid "no files match pattern %s" +msgstr "ningún fichero coteja con patrón %s" + +#: grecs/wordsplit/wordsplit.c:2599 +msgid "WS trimming" +msgstr "Recortando WS" + +#: grecs/wordsplit/wordsplit.c:2601 +msgid "command substitution" +msgstr "sustitución de mandato" + +#: grecs/wordsplit/wordsplit.c:2603 grecs/wordsplit/wordsplit.c:2611 +msgid "coalesce list" +msgstr "lista cualificada" + +#: grecs/wordsplit/wordsplit.c:2605 +msgid "tilde expansion" +msgstr "expansión tilde" + +#: grecs/wordsplit/wordsplit.c:2607 +msgid "variable expansion" +msgstr "expansión variable" + +#: grecs/wordsplit/wordsplit.c:2609 +msgid "quote removal" +msgstr "quitar comillas" + +#: grecs/wordsplit/wordsplit.c:2613 +msgid "path expansion" +msgstr "expansión de ruta" + +#: grecs/wordsplit/wordsplit.c:2638 +#, c-format +msgid "(%02d) Input:%.*s;" +msgstr "(%02d) Entrada:%.*s;" + +#: grecs/wordsplit/wordsplit.c:2664 +msgid "Initial list:" +msgstr "Lista inicial:" + +#: grecs/wordsplit/wordsplit.c:2679 +msgid "Coalesced list:" +msgstr "Lista especificada:" + +#: grecs/wordsplit/wordsplit.c:2849 +msgid "no error" +msgstr "sin error" + +#: grecs/wordsplit/wordsplit.c:2850 +msgid "missing closing quote" +msgstr "faltando cierre de comilla" + +#: grecs/wordsplit/wordsplit.c:2852 +msgid "invalid wordsplit usage" +msgstr "uso inválido divisor de palabras" + +#: grecs/wordsplit/wordsplit.c:2853 +msgid "unbalanced curly brace" +msgstr "rama curly desbalanceada" + +#: grecs/wordsplit/wordsplit.c:2854 +msgid "undefined variable" +msgstr "variable no definida" + +#: grecs/wordsplit/wordsplit.c:2855 +msgid "input exhausted" +msgstr "entrada agotada" + +#: grecs/wordsplit/wordsplit.c:2856 +msgid "unbalanced parenthesis" +msgstr "paréntesis desequilibrados" + +#: grecs/wordsplit/wordsplit.c:2857 +msgid "globbing error" +msgstr "error globalizado" + +#: grecs/wordsplit/wordsplit.c:2858 +#, fuzzy +msgid "user-defined error" +msgstr "error de lectura" + +#: grecs/wordsplit/wordsplit.c:2859 +msgid "invalid parameter number in assignment" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2871 +msgid "unknown error" +msgstr "error desconocido" + +#: grecs/wordsplit/wordsplit.c:2880 +#, c-format +msgid "missing closing %c (start near #%lu)" +msgstr "faltando cierre %c (inicio cerca #%lu)" + +#~ msgid "%s: option '--%s' doesn't allow an argument\n" +#~ msgstr "%s: la opción '--%s' no admite un argumento\n" + +#~ msgid "%s: unrecognized option '--%s'\n" +#~ msgstr "%s: no se reconoce la opción '--%s'\n" + +#~ msgid "%s: option '-W %s' doesn't allow an argument\n" +#~ msgstr "%s: la opción `-W %s' no admite un argumento\n" + +#~ msgid "%s: option '-W %s' requires an argument\n" +#~ msgstr "%s: la opción '-W %s' requiere un argumento\n" + +#~ msgid "" +#~ "cannot initialize database `%s': module `%s' does not support databases" +#~ msgstr "" +#~ "no puede inicializar BD «%s»: módulo «%s» no compatible con bases de datos" + +#~ msgid "cannot initialize database `%s'" +#~ msgstr "no puede inicializar BD «%s»" + +#~ msgid "cannot open database `%s'" +#~ msgstr "no puede abrir BD «%s»" + +#~ msgid "gcide_match_all: key initialization failed" +#~ msgstr "gcide_match_all: clave inicializadora fallada" + +#~ msgid "write error" +#~ msgstr "error de escritura" + +#~ msgid "not enough memory" +#~ msgstr "sin memoria suficiente" + +#~ msgid "wn_foreach: key initialization failed" +#~ msgstr "wn_foreach: inicialización de clave fallada" + +#~ msgid "%s: unknown keyword" +#~ msgstr "%s: palabra clave desconocida" + +#~ msgid "(%02d) Restart:%.*s;" +#~ msgstr "(%02d) Reiniciar:%.*s;" Binary files /tmp/tmpzBUTb6/GFUWpBukhc/dico-2.9/po/fi.gmo and /tmp/tmpzBUTb6/cwmgEPIKlI/dico-2.10/po/fi.gmo differ diff -Nru dico-2.9/po/fi.po dico-2.10/po/fi.po --- dico-2.9/po/fi.po 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/po/fi.po 2020-09-04 04:06:48.000000000 +0000 @@ -0,0 +1,3146 @@ +# Finnish messages for dico. +# Copyright © 2010, 2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the dico package. +# Jorma Karvonen , 2010, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU dico 2.2\n" +"Report-Msgid-Bugs-To: bug-dico@gnu.org\n" +"POT-Creation-Date: 2020-09-04 07:06+0300\n" +"PO-Revision-Date: 2012-03-05 13:48+0200\n" +"Last-Translator: Jorma Karvonen \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: xdico/userprivs.c:40 +msgid "Refusing to run as root" +msgstr "Kielletään suorittaminen root-käyttäjänä" + +#: xdico/userprivs.c:58 +#, c-format +msgid "setgroups(1, %lu) failed" +msgstr "setgroups(1, %lu) epäonnistui" + +#: xdico/userprivs.c:69 +#, c-format +msgid "setegid(%lu) failed" +msgstr "setegid(%lu) epäonnistui" + +#: xdico/userprivs.c:73 +#, c-format +msgid "setregid(%lu,%lu) failed" +msgstr "setregid(%lu,%lu) epäonnistui" + +#: xdico/userprivs.c:77 +#, c-format +msgid "setresgid(%lu,%lu,%lu) failed" +msgstr "setresgid(%lu,%lu,%lu) epäonnistui" + +#: xdico/userprivs.c:85 +#, c-format +msgid "setgid(%lu) failed" +msgstr "setgid(%lu) epäonnistui" + +#: xdico/userprivs.c:88 +#, c-format +msgid "Cannot set effective gid to %lu" +msgstr "Ei voi asettaa voimassa olevaa gid-tunnusta arvoon %lu" + +#: xdico/userprivs.c:106 +#, c-format +msgid "setreuid(%lu,-1) failed" +msgstr "setreuid(%lu,-1) epäonnistui" + +#: xdico/userprivs.c:111 +#, c-format +msgid "second setuid(%lu) failed" +msgstr "toinen setuid(%lu) epäonnistui" + +#: xdico/userprivs.c:118 +#, c-format +msgid "setuid(%lu) failed" +msgstr "setuid(%lu) epäonnistui" + +#: xdico/userprivs.c:126 +msgid "seteuid(0) succeeded when it should not" +msgstr "setuid(0) onnistui kun sen ei olisi pitänyt" + +#: xdico/userprivs.c:129 +msgid "Cannot drop non-root setuid privileges" +msgstr "Ei voi suorittaa drop-käskyä ei-root setuid-käyttöoikeuksilla" + +#: xdico/xstream.c:41 +msgid "not enough memory while formatting reply message" +msgstr "muisti ei riitä muodostettaessa vastausviestiä" + +#. TRANSLATORS: +#. Get translations for open and closing quotation marks. +#. The message catalog should translate "`" to a left +#. quotation mark suitable for the locale, and similarly for +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. +#. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. +#. +#. If you don't know what to put here, please see +#. +#. and use glyphs suitable for your language. +#: xdico/gnu/quotearg.c:362 +msgid "`" +msgstr "”" + +#: xdico/gnu/quotearg.c:363 +msgid "'" +msgstr "”" + +#: xdico/gnu/obstack.c:338 xdico/gnu/obstack.c:340 +#: grecs/wordsplit/wordsplit.c:76 grecs/wordsplit/wordsplit.c:2851 +msgid "memory exhausted" +msgstr "muisti loppui" + +#: xdico/gnu/getopt.c:278 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous\n" +msgstr "%s: valitsin ’%s’ ei ole yksiselitteinen\n" + +#: xdico/gnu/getopt.c:284 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous; possibilities:" +msgstr "%s: valitsin ’%s’ ei ole yksiselitteinen\n" + +#: xdico/gnu/getopt.c:319 +#, fuzzy, c-format +msgid "%s: unrecognized option '%s%s'\n" +msgstr "%s: tunnistamaton valitsin ’%c%s’\n" + +#: xdico/gnu/getopt.c:345 +#, fuzzy, c-format +msgid "%s: option '%s%s' doesn't allow an argument\n" +msgstr "%s: valitsin ’%c%s’ ei salli argumenttia\n" + +#: xdico/gnu/getopt.c:360 +#, fuzzy, c-format +msgid "%s: option '%s%s' requires an argument\n" +msgstr "%s: valitsin ’--%s’ vaatii argumentin\n" + +#: xdico/gnu/getopt.c:621 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: virheellinen valitsin -- ’%c’\n" + +#: xdico/gnu/getopt.c:636 xdico/gnu/getopt.c:682 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: valitsin vaatii argumentin -- ’%c’\n" + +#: lib/parseopt.c:116 +#, c-format +msgid "%s: %s: unknown option" +msgstr "%s: %s: tuntematon valitsin" + +#: lib/parseopt.c:127 +#, c-format +msgid "%s: %s: %s is not a valid number" +msgstr "%s: %s: %s ei ole kelvollinen numero" + +#: lib/parseopt.c:168 +#, c-format +msgid "%s: %s: invalid value %s" +msgstr "%s: %s: virheellinen arvo %s" + +#: lib/iostr.c:91 +msgid "No error" +msgstr "Ei virhettä" + +#: dico/shell.c:34 +msgid "WORD" +msgstr "SANA" + +#: dico/shell.c:34 +msgid "Define WORD." +msgstr "Määritä SANA." + +#: dico/shell.c:35 +msgid "/WORD" +msgstr "/SANA" + +#: dico/shell.c:35 +msgid "Match WORD." +msgstr "Täsmää SANA." + +#: dico/shell.c:36 +msgid "Redisplay previous matches." +msgstr "Näytä uudelleen edelliset täsmäykset." + +#: dico/shell.c:37 cmdline.opt:131 +msgid "NUMBER" +msgstr "NUMERO" + +#: dico/shell.c:37 +msgid "Define NUMBERth match." +msgstr "Määritä NUMERO. täsmäys." + +#: dico/shell.c:39 +msgid "Edit NUMBERth previous command." +msgstr "Muokkaa NUMERO. edellistä komentoa." + +#: dico/shell.c:45 +msgid "[HOST [PORT]]" +msgstr "[TIETOKONE [PORTTI]]" + +#: dico/shell.c:46 +msgid "Connect to a DICT server." +msgstr "Yhdistä DICT-palvelimeen." + +#: dico/shell.c:50 +msgid "Close the connection." +msgstr "Sulje yhteys." + +#: dico/shell.c:53 dico/shell.c:57 +msgid "[NAME]" +msgstr "[NIMI]" + +#: dico/shell.c:54 +msgid "Set or display current database name." +msgstr "Aseta tai näytä nykyinen tietokantanimi." + +#: dico/shell.c:58 +msgid "Set or display current strategy." +msgstr "Aseta tai näytä nykyinen strategia." + +#: dico/shell.c:61 +msgid "[NUM]" +msgstr "[NUMERO]" + +#: dico/shell.c:62 +msgid "Set or query Levenshtein distance (server-dependent)." +msgstr "Aseta tai kysy Levenshtein-etäisyys (palvelinriippuvainen)." + +#: dico/shell.c:66 +msgid "List available matching strategies" +msgstr "Luettele käytettävissä olevia täsmäysstrategioita" + +#: dico/shell.c:70 +msgid "List all accessible databases" +msgstr "Luettele kaikki käytettävissä olevat tietokannat" + +#: dico/shell.c:73 +msgid "[DB]" +msgstr "[TIETOKANTA]" + +#: dico/shell.c:74 +msgid "Display the information about the database." +msgstr "Näytä tietoja tietokannasta." + +#: dico/shell.c:77 +msgid "[CHAR]" +msgstr "[MERKKI]" + +#: dico/shell.c:78 +msgid "Set or display command prefix." +msgstr "Aseta tai näytä komennon etuliite." + +#: dico/shell.c:81 dico/shell.c:101 +msgid "[BOOL]" +msgstr "[BOOLEAN]" + +#: dico/shell.c:82 +msgid "Set or display session transcript mode." +msgstr "Aseta tai näytä istunnon kopiotila." + +#: dico/shell.c:85 +msgid "[NUMBER]" +msgstr "[NUMERO]" + +#: dico/shell.c:86 +msgid "Set or display verbosity level." +msgstr "Aseta tai näytä monisanaisuustaso." + +#: dico/shell.c:89 dico/shell.c:93 cmdline.opt:158 cmdline.opt:170 +msgid "STRING" +msgstr "MERKKIJONO" + +#: dico/shell.c:90 +msgid "Change command line prompt." +msgstr "Muuta komentorivikehote." + +#: dico/shell.c:94 +msgid "Change or display pager settings." +msgstr "Vaihda tai näytä sivuttaja-asetukset." + +#: dico/shell.c:97 +msgid "[FILE]" +msgstr "[TIEDOSTO]" + +#: dico/shell.c:98 +msgid "Set or display autologin file name." +msgstr "Aseta tai näytä autologin-tiedostonimi." + +#: dico/shell.c:102 +msgid "Enable SASL authentication." +msgstr "Ota käyttöön SASL-todennus." + +#: dico/shell.c:107 +msgid "Display command history." +msgstr "Näytä komentohistoria." + +#: dico/shell.c:112 +msgid "Display this help text." +msgstr "Näytä tämä opasteteksti." + +#: dico/shell.c:116 +msgid "Print program version." +msgstr "Tulosta ohjelman versio." + +#: dico/shell.c:120 +msgid "Print copyright statement." +msgstr "Tulosta copyright-ilmoitus." + +#: dico/shell.c:128 +msgid "Quit the shell." +msgstr "Poistu komentotulkista." + +#: dico/shell.c:149 +#, c-format +msgid "Command prefix is %c\n" +msgstr "Komentoetuliite on %c\n" + +#: dico/shell.c:151 +msgid "Expected a single punctuation character" +msgstr "Odotettiin yksittäistä välimerkkiä" + +#: dico/shell.c:229 +msgid "warning: " +msgstr "varoitus: " + +#: dico/shell.c:342 +msgid "unknown command" +msgstr "tuntematon komento" + +#: dico/shell.c:352 +msgid "not enough arguments" +msgstr "argumentteja ei ole riittävästi" + +#: dico/shell.c:355 dicod/main.c:170 dicod/main.c:232 dicod/main.c:584 +#: dicod/main.c:793 +msgid "too many arguments" +msgstr "liian monta argumenttia" + +#: dico/shell.c:398 +#, c-format +msgid "Cannot open init file %s" +msgstr "Ei voida avata init-tiedostoa %s" + +#: dico/connect.c:89 dico/connect.c:404 +msgid "No reply from server" +msgstr "Ei vastausta palvelimelta" + +#: dico/connect.c:110 +msgid "Attempting APOP authentication\n" +msgstr "Yritetään APOP-todennusta\n" + +#: dico/connect.c:117 dico/saslauth.c:338 +msgid "Not enough credentials for authentication" +msgstr "Ei riittävästi valtuutustietoja todennusta varten" + +#: dico/connect.c:121 dico/saslauth.c:343 +msgid "Skipping authentication\n" +msgstr "Ohitetaan todennus\n" + +#: dico/connect.c:204 +msgid "Obtained authentication credentials from the command line\n" +msgstr "Saatiin todennusvaltuutukset komentoriviltä\n" + +#: dico/connect.c:211 +#, c-format +msgid "File %s does not exist" +msgstr "Tiedostoa %s ei ole olemassa" + +#: dico/connect.c:228 +msgid "Password:" +msgstr "Salasana:" + +#: dico/connect.c:244 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot get stream transport" +msgstr "SISÄINEN VIRHE osoitteessa %s:%d: ei voida hakea vuosiirtoa" + +#: dico/connect.c:252 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot set stream transport" +msgstr "SISÄINEN VIRHE osoitteessa %s:%d: ei voida asettaa vuosiirtoa" + +# Parametri %s on host url ja parametri %d on porttinumero. +#: dico/connect.c:303 +#, fuzzy, c-format +msgid "Connecting to %s\n" +msgstr "Yhdistetään osoitteeseen %s:%d\n" + +#: dico/connect.c:311 +#, c-format +msgid "bad source address: %s" +msgstr "" + +#: dico/connect.c:326 +#, fuzzy +msgid "can't bind to the source address" +msgstr "Kuuntele näitä osoitteita." + +#: dico/connect.c:339 +#, fuzzy, c-format +msgid "%s: can't get address: %s" +msgstr "ei voi jäsentää otsakkeita: %s" + +#: dico/connect.c:347 grecs/src/tree.c:391 +#, c-format +msgid "%s: UNIX socket name too long" +msgstr "%s: UNIX-pistokenimi on liian pitkä" + +#: dico/connect.c:373 +msgid "cannot create dict socket" +msgstr "ei voi luoda dict-pistoketta" + +#: dico/connect.c:383 +#, c-format +msgid "%s: cannot connect" +msgstr "" + +#: dico/connect.c:394 +#, c-format +msgid "cannot create dict stream: %s" +msgstr "ei voida luoda dict-vuota: %s" + +#: dico/connect.c:408 +msgid "Invalid reply from server" +msgstr "Virheellinen vastaus palvelimelta" + +#: dico/connect.c:413 +msgid "Sending client information\n" +msgstr "Asiakastietojen lähetys\n" + +#: dico/connect.c:418 +#, c-format +msgid "Unexpected reply to CLIENT command: `%s'" +msgstr "Odottamaton vastaus ASIAKAS-komentoon: ”%s”" + +#: dico/connect.c:424 +msgid "Authentication failed" +msgstr "Todennus epäonnistui" + +#: dico/connect.c:497 +#, c-format +msgid "Sending query for word \"%s\" in database \"%s\"\n" +msgstr "Lähetetään kysely sanalle ”%s” tietokannassa ”%s”\n" + +#: dico/connect.c:508 +#, c-format +msgid "Reading %lu definition\n" +msgid_plural "Reading %lu definitions\n" +msgstr[0] "Luetaan %lu määrittely\n" +msgstr[1] "Luetaan %lu määrittelyä\n" + +#: dico/connect.c:515 +#, c-format +msgid "Unexpected reply in place of definition %lu" +msgstr "Odottamaton vastaus määrittelyn %lu sijasta" + +#: dico/connect.c:538 +msgid "Setting Levenshtein threshold\n" +msgstr "Asetetaan Levenshtein-kynnys\n" + +#: dico/connect.c:544 +msgid "Server rejected XLEV command" +msgstr "Palvelin torjui XLEV-komennon" + +#: dico/connect.c:545 +#, c-format +msgid "Server reply: %s" +msgstr "Palvelin vastasi: %s" + +#: dico/connect.c:548 +#, c-format +msgid "Sending query to match word \"%s\" in database \"%s\", using \"%s\"\n" +msgstr "" +"Lähetetään kysely täsmäävään sanaan ”%s” tietokannassa ”%s”, käytetään ”%s”\n" + +#: dico/connect.c:561 +#, c-format +msgid "Reading %lu match\n" +msgid_plural "Reading %lu matches\n" +msgstr[0] "Luetaan %lu täsmäys\n" +msgstr[1] "Luetaan %lu täsmäystä\n" + +#: dico/connect.c:639 +msgid "Not enough data in the result" +msgstr "Tuloksessa ei ole riittävästi tietoja" + +#: dico/connect.c:706 +msgid "Freeing unlinked result" +msgstr "Vapautetaan linkittämätön tulos" + +#: dico/dico.c:80 +msgid "extra command line arguments ignored" +msgstr "ylimääräiset komentoriviargumentit ohitetaan" + +#: dico/dico.c:88 +msgid "you should give a word to look for or an URL" +msgstr "sinun pitäisi antaa etsittävä sana tai verkko-osoite" + +#: dico/dico.c:107 +msgid "Database name not specified" +msgstr "Tietokantanimeä ei ole määritelty" + +#: dico/func.c:33 dicod/main.c:1120 +msgid "Expected boolean value" +msgstr "Odotettiin boolean-arvoa" + +#: dico/func.c:67 +#, c-format +msgid "Cannot get listing: %s" +msgstr "Ei voida saada luetteloa: %s" + +#: dico/func.c:104 dico/func.c:138 +msgid "Please specify server name or IP address" +msgstr "Määritä palvelinnimi tai IP-osoite" + +#: dico/func.c:109 +msgid "Cannot connect to the server" +msgstr "Ei voida yhdistää palvelimeen" + +#: dico/func.c:112 +msgid "Getting list of databases\n" +msgstr "Haetaan tietokantojen luettelo\n" + +#: dico/func.c:114 +msgid "Getting list of strategies\n" +msgstr "Haetaan strategioiden luettelo\n" + +#: dico/func.c:116 +msgid "Finished getting server information\n" +msgstr "Palvelintietojen hakeminen päättyi\n" + +#: dico/func.c:150 +msgid "Nothing to close" +msgstr "Ei mitään suljettavaa" + +#: dico/func.c:160 +msgid "No autologin file." +msgstr "Ei autologin-tiedostoa." + +#: dico/func.c:177 dico/func.c:268 +msgid "on" +msgstr "käytössä" + +#: dico/func.c:177 dico/func.c:268 +msgid "off" +msgstr "ei-käytössä" + +#: dico/func.c:258 dico/func.c:366 +msgid "invalid number" +msgstr "virheellinen numero" + +#: dico/func.c:268 +#, c-format +msgid "transcript is %s\n" +msgstr "kopio on %s\n" + +#: dico/func.c:309 dico/func.c:325 +msgid "No previous match" +msgstr "Ei edellistä täsmäystä" + +#: dico/func.c:329 +msgid "Invalid match number. Type / to see the matches." +msgstr "Virheellinen täsmäysnumero. Kirjoita / nähdäksesi täsmäykset." + +#: dico/func.c:344 +#, c-format +msgid "Server does not support XLEV extension" +msgstr "Palvelin ei tue XLEV-laajennusta" + +#: dico/func.c:350 +#, c-format +msgid "Reported Levenshtein distance:%s\n" +msgstr "Ilmoitettu Levenshtein-etäisyys:%s\n" + +#: dico/func.c:353 +msgid "Cannot query Levenshtein distance. Server responded:" +msgstr "Ei voi kysellä Levenshtein-etäisyyttä. Palvelin vastasi:" + +#: dico/func.c:358 +#, c-format +msgid "No distance configured\n" +msgstr "Etäisyyttä ei ole asetettu\n" + +#: dico/func.c:360 +#, c-format +msgid "Configured Levenshtein distance: %u\n" +msgstr "Asetettu Levenshtein-etäisyys: %u\n" + +#: dico/func.c:395 +#, c-format +msgid "" +"Search all of the databases until a match is found,\n" +"and display all matches in that database.\n" +msgstr "" +"Etsitään kaikista tietokannoista, kunnes täsmäys löytyy,\n" +"ja näytetään kaikki täsmäykset tuossa tietokannassa.\n" + +#: dico/func.c:398 +#, c-format +msgid "Search all of the databases and display all matches." +msgstr "Etsii kaikki tietokannat ja näyttää kaikki täsmäykset." + +#: dico/autologin.c:151 +#, c-format +msgid "Found matching line %d\n" +msgstr "Löytyi täsmäävä rivi %d\n" + +#: dico/autologin.c:160 +#, c-format +msgid "Found default line %d\n" +msgstr "Löytyi oletusrivi %d\n" + +#: dico/autologin.c:192 +#, c-format +msgid "Cannot open autologin file %s" +msgstr "Ei voida avata autologin-tiedostoa %s" + +#: dico/autologin.c:197 +#, c-format +msgid "Reading autologin file %s...\n" +msgstr "Luetaan autologin-tiedosto %s...\n" + +#: dico/autologin.c:218 +#, c-format +msgid "failed to parse command `%s': %s" +msgstr "komennon ”%s” jäsentäminen epäonnistui: %s" + +#: dico/autologin.c:229 +#, c-format +msgid "failed to add line marker: %s" +msgstr "rivimerkinnän lisääminen epäonnistui: %s" + +#: dico/autologin.c:251 +msgid "No matching line found\n" +msgstr "Täsmäävää riviä ei löytynyt\n" + +#: dico/autologin.c:269 +#, c-format +msgid "%s:%d: unknown keyword" +msgstr "%s:%d: tuntematon avainsana" + +#: dico/autologin.c:277 +#, c-format +msgid "%s:%d: %s without argument" +msgstr "%s:%d: %s ilman argumenttia" + +#: dico/autologin.c:335 +#, c-format +msgid "%s:%d: failed to parse line: %s" +msgstr "%s:%d: rivin jäsentäminen epäonnistui: %s" + +#: cmdline.opt:29 +msgid "Server selection" +msgstr "Palvelinvalinta" + +#: cmdline.opt:45 +msgid "SERVER" +msgstr "PALVELIN" + +#: cmdline.opt:45 +#, fuzzy +msgid "connect to this server" +msgstr "Yhdistetään tälle palvelimelle." + +#: cmdline.opt:51 +msgid "SERVICE" +msgstr "PALVELU" + +#: cmdline.opt:51 +#, fuzzy +msgid "specify port to connect to" +msgstr "Määritä portti, johon yhdistetään." + +#: cmdline.opt:57 cmdline.opt:77 cmdline.opt:151 cmdline.opt:164 +msgid "NAME" +msgstr "NIMI" + +#: cmdline.opt:57 +#, fuzzy +msgid "select a database to search" +msgstr "Valitse etsittävä tietokanta." + +#: cmdline.opt:63 +msgid "ADDR" +msgstr "OSOITE" + +#: cmdline.opt:63 +#, fuzzy +msgid "set a source address for TCP connections" +msgstr "Aseta lähdeosoite TCP-yhteyksille." + +#: cmdline.opt:55 +msgid "Operation modes" +msgstr "Toimintotilat" + +#: cmdline.opt:71 +#, fuzzy +msgid "match instead of define" +msgstr "Täsmäys määrittelyn sijasta." + +#: cmdline.opt:77 +#, fuzzy +msgid "select a strategy for matching; implies --match" +msgstr "Valitse täsmäysstrategia. Tarkoittaa samaa kuin --match." + +#: cmdline.opt:85 +msgid "N" +msgstr "N" + +#: cmdline.opt:85 +#, fuzzy +msgid "set maximum Levenshtein distance" +msgstr "Aseta maksimi Levenshtein-etäisyys kohteeseen N." + +#: cmdline.opt:94 +#, fuzzy +msgid "show available databases" +msgstr "Näytä käytettävissä olevat tietokannat." + +#: cmdline.opt:100 +#, fuzzy +msgid "show available search strategies" +msgstr "Näytä käytettävissä olevat hakustrategiat." + +#: cmdline.opt:106 +#, fuzzy +msgid "show server help" +msgstr "näytä palvelinopaste." + +#: cmdline.opt:112 +msgid "DBNAME" +msgstr "TIETOKANTANIMI" + +#: cmdline.opt:112 +#, fuzzy +msgid "show information about database DBNAME" +msgstr "Näytä tietoja tietokannasta TIETOKANTANIMI" + +#: cmdline.opt:119 +#, fuzzy +msgid "show information about the server" +msgstr "Näytä tiedot palvelimesta." + +#: cmdline.opt:125 +#, fuzzy +msgid "do not print the normal dico welcome" +msgstr "Älä tulosta normaalia dico-tervetuloviestiä." + +#: cmdline.opt:117 +msgid "Authentication" +msgstr "Todennus" + +#: cmdline.opt:133 +#, fuzzy +msgid "disable authentication" +msgstr "Ota todennus pois käytöstä." + +#: cmdline.opt:139 +#, fuzzy +msgid "enable SASL authentication (default)" +msgstr "Ota käyttöön SASL-todennus (oletus)." + +#: cmdline.opt:145 +#, fuzzy +msgid "disable SASL authentication" +msgstr "Ota pois käytöstä SASL-todennus." + +#: cmdline.opt:151 +#, fuzzy +msgid "set user name for authentication" +msgstr "Aseta käyttäjänimi todennusta varten." + +#: cmdline.opt:158 +#, fuzzy +msgid "set shared secret for authentication" +msgstr "Aseta jaettu salaisuus todennusta varten." + +#: cmdline.opt:164 +#, fuzzy +msgid "set the name of autologin file to use" +msgstr "Aseta käytettävä autologin-tiedoston nimi." + +#: cmdline.opt:170 +#, fuzzy +msgid "additional text for client command" +msgstr "Lisäteksti asiakaskomentoa varten." + +#: cmdline.opt:162 cmdline.opt:103 +msgid "Debugging" +msgstr "Vianjäljitys" + +#: cmdline.opt:177 cmdline.opt:119 +#, fuzzy +msgid "enable session transcript" +msgstr "Ota käyttöön istuntokopio." + +#: cmdline.opt:183 +#, fuzzy +msgid "increase debugging verbosity level" +msgstr "Kasvata vianjäljityksen monisanaisuustasoa." + +#: cmdline.opt:189 +#, fuzzy +msgid "include time stamp in the debugging output" +msgstr "Sisällytä aikaleima vianjäljitystulosteeseen." + +#: cmdline.opt:196 cmdline.opt:138 +#, fuzzy +msgid "include source line information in the debugging output" +msgstr "Sisällytä lähderivitieto vianjäljitystulosteeseen." + +#: cmdline.opt:188 +msgid "Other options" +msgstr "Muut valitsimet" + +#: cmdline.opt:200 +msgid "Give this help list" +msgstr "Näytä tämä opasteluettelo" + +#: cmdline.opt:200 +msgid "Give a short usage message" +msgstr "Näytä lyhyt käyttöviesti" + +#: cmdline.opt:200 +msgid "Print program version" +msgstr "Tulosta ohjelmaversio" + +#: cmdline.opt:37 +msgid "GNU dictionary client program" +msgstr "GNU-sanakirja-asiakasohjelma" + +#: cmdline.opt:39 +msgid "[URL-or-WORD]" +msgstr "[VERKKO-OSOITE-tai-SANA]" + +#: cmdline.opt:81 +#, c-format +msgid "%s: invalid number" +msgstr "%s: virheellinen numero" + +#: cmdline.opt:230 +msgid "Type ? for help summary" +msgstr "Kirjoita ? opasteyhteenvetoa varten" + +#: dico/lookup.c:23 +msgid "No match" +msgstr "Ei täsmäystä" + +#: dico/lookup.c:65 dico/lookup.c:175 +#, c-format +msgid "From %s, %s:\n" +msgstr "Tietokannasta %s, %s:\n" + +#: dico/lookup.c:137 +msgid "(no description available)" +msgstr "(kuvausta ei ole käytettävissä)" + +#: dico/lookup.c:209 +#, c-format +msgid "%s:%d: INTERNAL ERROR: unexpected request type" +msgstr "%s:%d: SISÄINEN VIRHE: odottamaton pyyntötyyppi" + +#: dico/lookup.c:229 dico/lookup.c:296 +msgid "Server name or IP not specified" +msgstr "Palvelinnimeä tai IP-osoitetta ei ole määritelty" + +#: dico/lookup.c:238 +msgid "Quitting\n" +msgstr "Poistutaan\n" + +#: dico/saslauth.c:39 dicod/gsasl.c:370 +#, c-format +msgid "cannot get list of available SASL mechanisms: %s" +msgstr "ei voida saada luetteloa käytettävissä olevista SASL-mekanismeista: %s" + +#: dico/saslauth.c:110 +#, c-format +msgid "Unknown callback property %d" +msgstr "Tuntematon vastakutsuominaisuus %d" + +#: dico/saslauth.c:121 dico/saslauth.c:127 +msgid "GSASL handshake aborted" +msgstr "GSASL-kättely keskeytetty" + +#: dico/saslauth.c:168 +#, c-format +msgid "GSASL handshake aborted: unexpected reply: %s" +msgstr "GSASL-kättely keskeytettiin: odottamaton vastaus: %s" + +#: dico/saslauth.c:186 dicod/gsasl.c:148 +#, c-format +msgid "GSASL error: %s" +msgstr "GSAL-virhe: %s" + +#: dico/saslauth.c:233 +msgid "Initializing SASL\n" +msgstr "Alustetaan SASL-salausta\n" + +#: dico/saslauth.c:236 +#, c-format +msgid "Cannot initialize libgsasl: %s" +msgstr "Ei voida alustaa kirjastoa libgsasl: %s" + +#: dico/saslauth.c:281 +msgid "Trying SASL\n" +msgstr "Yritetään SASL-salausta\n" + +#: dico/saslauth.c:291 +msgid "No suitable SASL mechanism found" +msgstr "Sopivaa SASL-mekanismia ei löytynyt" + +#: dico/saslauth.c:300 +#, c-format +msgid "Selected authentication mechanism %s" +msgstr "Valittu todennusmekanismi %s" + +#: dico/saslauth.c:310 +msgid "SASL authentication succeeded" +msgstr "SASL-todennus onnistui" + +#: dico/saslauth.c:311 +msgid "SASL authentication failed" +msgstr "SASL-todennus epäonnistui" + +#: dico/saslauth.c:374 +msgid "Dico compiled without SASL support" +msgstr "Dico käännetty ilman SASL-tukea" + +#: dicod/regex.c:46 +#, c-format +msgid "Regex error: %s" +msgstr "Regex-virhe: %s" + +#: dicod/dicod.c:119 dicod/dicod.c:137 dicod/main.c:1572 +#, c-format +msgid "removing database %s" +msgstr "poistetaan tietokanta %s" + +#: dicod/dicod.c:153 +#, c-format +msgid "error closing database %s" +msgstr "virhe suljettaessa tietokantaa %s" + +#: dicod/dicod.c:291 +#, c-format +msgid "error freeing database %s" +msgstr "virhe vapautettaessa tietokantaa %s" + +#: dicod/dicod.c:345 +msgid "connection from" +msgstr "yhteys tietokannasta" + +#: dicod/dicod.c:364 +msgid "session finished:" +msgstr "istunto päättyi:" + +#: dicod/acl.c:69 +msgid "expected string" +msgstr "odotettiin merkkijonoa" + +#: dicod/acl.c:116 +msgid "expected string but found list" +msgstr "odotettiin merkkijonoa, mutta löytyi luettelo" + +#: dicod/acl.c:129 +#, c-format +msgid "socket name too long: `%s'" +msgstr "pistokenimi liian pitkä: ”%s”" + +#: dicod/acl.c:157 +msgid "expected `from', but found list" +msgstr "odotettiin ”from”-valitsinta, mutta löytyi luettelo" + +#: dicod/acl.c:160 +#, c-format +msgid "expected `from', but found `%s'" +msgstr "odotettiin ”from”-valitsinta, mutta löytyi ”%s”" + +#: dicod/acl.c:169 +msgid "unexpected end of statement after `from'" +msgstr "odotettiin lauseen loppua ”from”-valitsimen jälkeen" + +# käskyn syntaksi on from +#: dicod/acl.c:195 +msgid "junk after `from' list" +msgstr "roskaa ”from”-osoiteluettelon jälkeen" + +#: dicod/acl.c:211 +msgid "expected ACL name, but found end of statement" +msgstr "odotettiin ACL-nimeä, mutta löytyi lauseen loppu" + +#: dicod/acl.c:217 +msgid "expected string, but found list" +msgstr "odotettiin merkkijonoa, mutta löytyi luettelo" + +#: dicod/acl.c:224 +#, c-format +msgid "ACL not defined: `%s'" +msgstr "ACL ei ole määritelty: ”%s”" + +#: dicod/acl.c:242 +msgid "expected group list, but found end of statement" +msgstr "odotettiin ryhmäluetteloa, mutta löytyi lauseen loppu" + +#: dicod/acl.c:255 +msgid "expected group list, but found array" +msgstr "odotettiin ryhmäluetteloa, mutta löytyi taulukko" + +#: dicod/acl.c:268 +msgid "expected string value" +msgstr "odotettiin merkkijonoarvoa" + +#: dicod/acl.c:290 +#, c-format +msgid "unknown word `%s'" +msgstr "tuntematon sana ”%s”" + +#: dicod/acl.c:302 +msgid "unexpected list" +msgstr "odottamaton luettelo" + +#. TRANSLATORS: `MATCHES' is the verb `match' in 2nd person. +#. E.g., in French: CONCORD AVEC +#: dicod/acl.c:400 +msgid "MATCHES" +msgstr "TÄSMÄÄ" + +#: dicod/acl.c:400 +msgid "does not match" +msgstr "ei täsmää" + +#: dicod/dbtext.c:28 +#, c-format +msgid "cannot get path from URL `%s'" +msgstr "ei voida saada polkua verkko-osoitteesta ”%s”" + +#: dicod/dbtext.c:33 +#, c-format +msgid "cannot stat directory `%s'" +msgstr "ei voi kutsua stat-funktiota hakemistolle ”%s”" + +#: dicod/dbtext.c:39 +#, c-format +msgid "%s: not a directory" +msgstr "%s: ei ole hakemisto" + +#: dicod/dbtext.c:55 +#, c-format +msgid "cannot open file `%s'" +msgstr "ei voi avata tiedostoa ”%s”" + +#: dicod/auth.c:46 dicod/gsasl.c:190 +msgid "failed to open user database" +msgstr "käyttäjätietokannan avaaminen epäonnistui" + +# argumentti on username +#: dicod/auth.c:51 dicod/gsasl.c:240 dicod/gsasl.c:276 +#, c-format +msgid "failed to get password for `%s' from the database" +msgstr "salasanan hakeminen käyttäjänimelle ”%s” tietokannasta epäonnistui" + +#: dicod/auth.c:55 +#, c-format +msgid "no such user `%s'" +msgstr "tuntematon käyttäjä ”%s”" + +# argumentti on username +#: dicod/auth.c:61 +#, c-format +msgid "authentication failed for `%s'" +msgstr "todennus epäonnistui käyttäjänimelle ”%s”" + +#: dicod/main.c:161 +msgid "list element must be a string" +msgstr "luetteloelementin on oltava merkkijono" + +#: dicod/main.c:215 +msgid "list element must be a socket specification" +msgstr "luetteloelementin on oltava pistokemäärittely" + +#: dicod/main.c:248 dicod/main.c:264 dicod/main.c:332 dicod/main.c:358 +#: dicod/main.c:407 dicod/main.c:460 dicod/main.c:503 dicod/main.c:665 +#: dicod/main.c:721 dicod/main.c:742 dicod/main.c:786 dicod/main.c:977 +#: dicod/main.c:1111 dicod/main.c:1150 dicod/main.c:1171 +msgid "Unexpected block statement" +msgstr "Odottamaton lohkolause" + +#: dicod/main.c:284 +msgid "ACL name must be a string" +msgstr "ACL-nimen on oltava merkkijono" + +#: dicod/main.c:286 +msgid "missing ACL name" +msgstr "puuttuva ACL-nimi" + +#: dicod/main.c:292 +#, c-format +msgid "redefinition of ACL %s" +msgstr "ACL %s -uudelleenmäärittely" + +#: dicod/main.c:295 +msgid "location of the previous definition" +msgstr "edellisen määrittelyn sijainti" + +# Näitä ei mielestäni pidä suomentaa ollenkaan +#: dicod/main.c:311 dicod/main.c:315 +msgid "[all|authenticated|group ] [from ]" +msgstr "[all|authenticated|group ] [from ]" + +#: dicod/main.c:312 +msgid "Allow access" +msgstr "Salli pääsy" + +#: dicod/main.c:316 +msgid "Deny access" +msgstr "Kiellä pääsy" + +#: dicod/main.c:336 dicod/main.c:747 dicod/main.c:822 +msgid "expected scalar value" +msgstr "odottamaton skalaariarvo" + +#: dicod/main.c:340 +#, c-format +msgid "no such ACL: `%s'" +msgstr "tuntematon ACL: ”%s”" + +#: dicod/main.c:363 dicod/main.c:465 dicod/main.c:507 dicod/main.c:670 +msgid "expected scalar value but found list" +msgstr "odotettiin skalaariarvoa, mutta löytyi luettelo" + +#: dicod/main.c:371 +#, fuzzy, c-format +msgid "not a valid UID number: %s" +msgstr "kelvoton koko: %s" + +#: dicod/main.c:378 +#, c-format +msgid "%s: no such user" +msgstr "%s: tuntematon käyttäjä" + +#: dicod/main.c:426 +#, fuzzy, c-format +msgid "not a valid GID number: %s" +msgstr "kelvoton koko: %s" + +#: dicod/main.c:433 +#, c-format +msgid "%s: unknown group" +msgstr "%s: tuntematon ryhmä" + +#: dicod/main.c:469 +msgid "unknown mode" +msgstr "tuntematon tila" + +#: dicod/main.c:514 +msgid "unknown syslog facility" +msgstr "tuntematon syslog-apuneuvo" + +#: dicod/main.c:533 dicod/main.c:559 +msgid "tag must be a string" +msgstr "tunnisteen on oltava merkkijono" + +#: dicod/main.c:535 dicod/main.c:561 +msgid "missing tag" +msgstr "puuttuva tunniste" + +#: dicod/main.c:624 +msgid "database name not supplied" +msgstr "tietokantanimeä ei tueta" + +#: dicod/main.c:630 +#, fuzzy +msgid "no handler defined for the database" +msgstr "Tämän tietokannan käsittelijän nimi." + +#: dicod/main.c:648 grecs/src/tree.c:665 +msgid "invalid use of block statement" +msgstr "lohkolauseen virheellinen käyttö" + +#: dicod/main.c:675 dicod/loader.c:120 +#, c-format +msgid "cannot parse command line `%s': %s" +msgstr "ei voida jäsentää komentoriviä ”%s”: %s" + +#: dicod/main.c:691 +#, c-format +msgid "%s: handler not declared" +msgstr "%s: käsittelijää ei oltu esitelty" + +#: dicod/main.c:727 +#, c-format +msgid "unknown capability: %s" +msgstr "tuntematon kapasiteetti: %s" + +#: dicod/main.c:752 +#, c-format +msgid "cannot parse headers: %s" +msgstr "ei voi jäsentää otsakkeita: %s" + +#: dicod/main.c:759 +#, c-format +msgid "unknown encoding type: %s" +msgstr "tuntematon koodaustyyppi: %s" + +#: dicod/main.c:766 dicod/main.c:840 dicod/main.c:844 dicod/main.c:849 +#: dicod/main.c:853 dicod/main.c:896 dicod/main.c:899 dicod/main.c:903 +#: dicod/main.c:1029 dicod/main.c:1318 dicod/main.c:1327 dicod/main.c:1330 +#: dicod/main.c:1332 dicod/main.c:1337 dicod/main.c:1346 dicod/main.c:1368 +#: dicod/main.c:1383 grecs/src/format.c:141 +msgid "arg" +msgstr "argumentti" + +#: dicod/main.c:766 +msgid "Command line." +msgstr "Komentorivi." + +#: dicod/main.c:798 +#, fuzzy +msgid "first argument must be string" +msgstr "luetteloelementin on oltava merkkijono" + +#: dicod/main.c:804 +#, fuzzy +msgid "second argument must be string" +msgstr "Lohkonimen on oltava merkkijono" + +#: dicod/main.c:812 +msgid "condition must be mime or nomime" +msgstr "" + +#: dicod/main.c:837 +msgid "word" +msgstr "sana" + +#: dicod/main.c:837 +msgid "Dictionary name (a single word)." +msgstr "Sanakirjanimi (yksittäinen sana)." + +#: dicod/main.c:841 +msgid "Short description, to be shown in reply to SHOW DB command." +msgstr "Lyhyt kuvaus, joka näytetään vastauksena SHOW DB -komentoon." + +#: dicod/main.c:845 +msgid "" +"Full description of the database, to be shown in reply to SHOW INFO command." +msgstr "" +"Tietokannan täydellinen kuvaus, joka näytetään vastauksena SHOW INFO -" +"komentoon." + +#: dicod/main.c:850 +msgid "List of languages this database translates from." +msgstr "Luettelo kielistä, joista tässä tietokannassa käännetään." + +#: dicod/main.c:854 +msgid "List of languages this database translates to." +msgstr "Luettelo kielistä, joihin tässä tietokannassa käännetään." + +#: dicod/main.c:857 dicod/main.c:1023 dicod/main.c:1026 dicod/main.c:1302 +#: dicod/main.c:1305 dicod/main.c:1324 dicod/main.c:1343 dicod/main.c:1348 +#: dicod/main.c:1366 dicod/main.c:1380 +msgid "name" +msgstr "nimi" + +#: dicod/main.c:857 +msgid "Name of the handler for this database." +msgstr "Tämän tietokannan käsittelijän nimi." + +#: dicod/main.c:860 dicod/main.c:1315 dicod/main.c:1387 dicod/main.c:1390 +msgid "arg: acl" +msgstr "argumentti: acl" + +#: dicod/main.c:861 +msgid "ACL controlling visibility of this database" +msgstr "ACL ohjaa tämän tietokannan näkyvyyttä" + +#: dicod/main.c:864 dicod/main.c:1312 dicod/main.c:1359 dicod/main.c:1362 +msgid "text" +msgstr "teksti" + +#: dicod/main.c:865 +msgid "Additional MIME headers" +msgstr "Ylimääräisiä MIME-otsakkeita" + +#: dicod/main.c:869 +#, fuzzy +msgid "bool" +msgstr "argumentti: bool" + +#: dicod/main.c:870 +msgid "Set database visibility" +msgstr "" + +#: dicod/main.c:873 +#, fuzzy +msgid " [mime|nomime]" +msgstr "nimi: merkkijono" + +#: dicod/main.c:874 +msgid "" +"For virtual database only: name of the member database. Optional mime|nomime " +"specifies the condition under which the database is to be used." +msgstr "" + +#: dicod/main.c:896 +msgid "Password file or query." +msgstr "Salasanatiedosto tai kysely." + +#: dicod/main.c:900 +msgid "File containing user group information or a query to retrieve it." +msgstr "" +"Tiedosto sisältää käyttäjäryhmätietoja tai kyselyjä niiden noutamiseksi." + +#: dicod/main.c:904 +msgid "Implementation-dependent options" +msgstr "Toteutusriippuvat valitsimet" + +#: dicod/main.c:926 dicod/main.c:942 +msgid "URL must be a string" +msgstr "Verkko-osoitteen on oltava merkkijono" + +#: dicod/main.c:928 dicod/main.c:944 +msgid "empty URL" +msgstr "tyhjä verkko-osoite" + +#: dicod/main.c:959 +msgid "cannot create user database" +msgstr "ei voi luoda käyttäjätietokantaa" + +#: dicod/main.c:981 +msgid "Not enough arguments for alias" +msgstr "Aliakselle ei ole riittävästi argumentteja" + +#: dicod/main.c:988 +#, c-format +msgid "argument %d has wrong type" +msgstr "argumentti %d on väärää tyyppiä" + +#: dicod/main.c:1008 +msgid "expected boolean value but found list" +msgstr "odotettiin boolean-arvoa, mutta löytyi luettelo" + +#: dicod/main.c:1017 dicod/main.c:1020 +msgid "mech: list" +msgstr "mekanismi: luettelo" + +#: dicod/main.c:1018 +msgid "Disable SASL mechanisms listed in ." +msgstr "" +"Ota pois käytöstä SASL-mekanismit, jotka on lueteltu luettelossa ." + +#: dicod/main.c:1021 +msgid "Enable SASL mechanisms listed in ." +msgstr "" +"Ota käyttöön SASL-mekanismit, jotka on luetteloitu luettelossa ." + +#: dicod/main.c:1024 +msgid "Set service name for GSSAPI and Kerberos." +msgstr "Aseta palvelunimi GSSAPI:lle ja Kerberos-palvelimelle." + +#: dicod/main.c:1027 +msgid "Set realm name for GSSAPI and Kerberos." +msgstr "Aseta realm-nimi GSSAPI:lle ja Kerberos-palvelimelle." + +#: dicod/main.c:1030 +msgid "Define groups for anonymous users." +msgstr "Määritä ryhmiä anonyymeille käyttäjille." + +#: dicod/main.c:1069 +msgid "Section name must be a string" +msgstr "Lohkonimen on oltava merkkijono" + +#: dicod/main.c:1071 +msgid "missing section name" +msgstr "puuttuva lohkonimi" + +#: dicod/main.c:1096 +msgid "Unexpected statement" +msgstr "Odottamaton lause" + +#: dicod/main.c:1133 +msgid "Expected string value" +msgstr "Odotettiin merkkijonoarvoa" + +#: dicod/main.c:1159 +msgid "expected list or string" +msgstr "odotettiin luetteloa tai merkkijonoa" + +#: dicod/main.c:1182 +msgid "Expected number" +msgstr "Odotettiin numeroa" + +#: dicod/main.c:1253 +msgid "arg: bool" +msgstr "argumentti: bool" + +#: dicod/main.c:1253 +msgid "Deny all * and ! look ups" +msgstr "Kiellä kaikki * ja ! -haut" + +#: dicod/main.c:1257 +msgid "cond" +msgstr "ehto" + +#: dicod/main.c:1257 +msgid "Deny * and ! look-ups on these words." +msgstr "Kiellä * ja ! -haut näille sanoille." + +#: dicod/main.c:1262 dicod/main.c:1268 dicod/main.c:1274 dicod/main.c:1280 +#: dicod/main.c:1286 dicod/main.c:1292 +msgid "len: number" +msgstr "pituus: numero" + +#: dicod/main.c:1263 +msgid "Deny * and ! look-ups on words with length < ." +msgstr "Kiellä * ja ! -haut sanoille, joiden pituus < ." + +#: dicod/main.c:1269 +msgid "Deny * and ! look-ups on words with length <= ." +msgstr "Kiellä * ja ! -haut sanoille, joiden pituus <= ." + +#: dicod/main.c:1275 +msgid "Deny * and ! look-ups on words with length > ." +msgstr "Kiellä * ja ! -haut sanoille, joiden pituus > ." + +#: dicod/main.c:1281 +msgid "Deny * and ! look-ups on words with length >= ." +msgstr "Kiellä * ja ! -haut sanoille, joiden pituus >= ." + +#: dicod/main.c:1287 +msgid "Deny * and ! look-ups on words with length == ." +msgstr "Kiellä * ja ! -haut sanolle, joiden pituus == ." + +#: dicod/main.c:1293 +msgid "Deny * and ! look-ups on words with length != ." +msgstr "Kiellä * ja ! -haut sanoille, joiden pituus != ." + +#: dicod/main.c:1302 +msgid "Run with these user privileges." +msgstr "Suorita näillä käyttäjäoikeuksilla." + +#: dicod/main.c:1306 +msgid "Supplementary group to retain with the user privileges." +msgstr "Lisäryhmä käyttäjäoikeuksien säilyttämiseksi." + +#: dicod/main.c:1309 +msgid "arg: [daemon|inetd]" +msgstr "argumentti: [daemon|inetd]" + +#: dicod/main.c:1309 +msgid "Operation mode." +msgstr "Toimintatila." + +#: dicod/main.c:1313 +msgid "Server description to be shown in reply to SHOW SERVER command." +msgstr "Palvelinkuvaus, joka näytetään vastauksena SHOW SERVER-komennolle." + +#: dicod/main.c:1316 +msgid "Show system information if arg matches." +msgstr "Näytä järjestelmätiedot, jos argumentti täsmää." + +#: dicod/main.c:1319 +msgid "Enable identification check using AUTH protocol (RFC 1413)" +msgstr "" +"Ota käyttöön tunnistustarkistus käyttäen TODENNUS-yhteyskäytäntöä (RFC 1413)" + +#: dicod/main.c:1321 +msgid "val" +msgstr "arvo" + +#: dicod/main.c:1322 +msgid "Set timeout for AUTH I/O operations." +msgstr "Aseta aikakatkaisu TODENNUS-siirräntätoimille." + +#: dicod/main.c:1325 +msgid "Name of the file containing the keys for decrypting AUTH replies." +msgstr "" +"Sen tiedoston nimi, joka sisältää avaimet TODENNUS-vastausten purkamiseen." + +#: dicod/main.c:1328 +msgid "Maximum number of children running simultaneously." +msgstr "Samanaikaisesti suoritettavien lapsiprosessien enimmäismäärä." + +#: dicod/main.c:1330 +msgid "Tag syslog diagnostics with this tag." +msgstr "Tunniste-syslog-dianostiikka tälle tunnisteelle." + +#: dicod/main.c:1333 +msgid "" +"Set syslog facility. Arg is one of the following: user, daemon, auth, " +"authpriv, mail, cron, local0 through local7 (case-insensitive), or a " +"facility number." +msgstr "" +"Aseta syslog-apuneuvot. Argumentti on yksi seuraavista: user, daemon, auth, " +"authpriv, mail, cron, local0 ... local7 (kirjainkoosta riippuvia) tai " +"apuneuvonumero." + +#: dicod/main.c:1338 +msgid "Prefix diagnostics messages with their severity." +msgstr "Liitä diagnostiikkaviestien eteen niiden vakavuus." + +#: dicod/main.c:1340 +msgid "fmt" +msgstr "fmt" + +#: dicod/main.c:1341 +msgid "Set format string for access log file." +msgstr "Aseta muotomerkkijono käyttölokitiedostolle." + +#: dicod/main.c:1344 +msgid "Set access log file name." +msgstr "Aseta käyttölokitiedostonimi." + +#: dicod/main.c:1346 +msgid "Log session transcript." +msgstr "Tee loki istuntokopiosta." + +#: dicod/main.c:1349 +msgid "Store PID of the master process in this file." +msgstr "Tallenna isäntäprosessin PID tässä tiedostossa." + +#: dicod/main.c:1351 dicod/main.c:1354 +msgid "seconds" +msgstr "sekuntia" + +#: dicod/main.c:1352 +msgid "Wait this number of seconds for all children to terminate." +msgstr "Odota tämä sekuntimäärä kaikkien lapsiprosessien päättymistä." + +#: dicod/main.c:1355 +msgid "Set inactivity timeout." +msgstr "Aseta joutilaisuusaikavalvonta." + +#: dicod/main.c:1357 +msgid "addr" +msgstr "osoite" + +#: dicod/main.c:1357 +msgid "Listen on these addresses." +msgstr "Kuuntele näitä osoitteita." + +#: dicod/main.c:1360 +msgid "Display this text in the initial 220 banner" +msgstr "Näytä tämä teksti alustavassa 220-banner-ilmoituksessa." + +#: dicod/main.c:1363 +msgid "" +"Display this text in reply to the HELP command. If text begins with a +, " +"usual command summary is displayed before it." +msgstr "" +"Näytä tämä teksti vastauksessa HELP-komentoon. Jos teksti alkaa +-merkillä, " +"tavallinen komentoyhteenveto näytetään ennen sitä." + +#: dicod/main.c:1366 +msgid "Override the host name." +msgstr "Korvaa tietokonenimi." + +#: dicod/main.c:1368 +msgid "Request additional capabilities." +msgstr "Pyyntö lisäkapasiteetista." + +#: dicod/main.c:1371 dicod/main.c:1375 +msgid "path" +msgstr "polku" + +#: dicod/main.c:1372 +msgid "List of directories searched for database modules." +msgstr "Tietokantamoduulien hakuhakemistojen luettelo." + +#: dicod/main.c:1376 +msgid "" +"List of directories searched for database modules prior to the default " +"module directory" +msgstr "" +"Luettelo hakemistoista, joista etsitään tietokantamoduuleja ennen " +"oletusmoduulihakemistoa" + +#: dicod/main.c:1381 +msgid "Set the name of the default matching strategy." +msgstr "Aseta oletustäsmäysstrategian nimi." + +#: dicod/main.c:1384 +msgid "Provide timing information after successful completion of an operation." +msgstr "Tarjoa ajastustietoja toiminnan onnistuneen toteutuksen jälkeen." + +#: dicod/main.c:1388 +msgid "Set ACL to control visibility of all databases." +msgstr "Aseta ACL ohjaamaan kaikkien tietokantojen näkyvyyttä." + +#: dicod/main.c:1391 +msgid "Apply this ACL to incoming connections." +msgstr "Sovella tämä ACL tuleville yhteyksille." + +#: dicod/main.c:1393 +msgid "Define a dictionary database." +msgstr "Määritä sanakirjatietokanta." + +#: dicod/main.c:1397 dicod/main.c:1406 dicod/main.c:1412 dicod/main.c:1419 +msgid "name: string" +msgstr "nimi: merkkijono" + +#: dicod/main.c:1398 +msgid "" +"Load a module instance.\n" +"If is the same as in command, it can be simplified as:\n" +" load-module ;\n" +"Furthermore, several simplified forms can be combined into one\n" +"by using a list of names as its argument, as in:\n" +" load-module (stratall,word);\n" +msgstr "" +"Lataa moduuli-ilmentymä.\n" +"Jos on sama kuin komennon , se voidaan yksinkertaistaa:\n" +" load-module ;\n" +"Edelleen, useita yksinkertaistettuja muotoja voidaan yhdistää yhdeksi\n" +"käyttämällä nimien luetteloa sen argumenttina, kuten kohteeessa:\n" +" load-module (stratall,word);\n" + +#: dicod/main.c:1406 +msgid "Define an ACL." +msgstr "Määritä ACL." + +#: dicod/main.c:1408 +msgid "url: string" +msgstr "verkko-osoite: merkkijono" + +#: dicod/main.c:1409 +msgid "Define user database for authentication." +msgstr "Määritä käyttäjätietokanta todentamista varten." + +#: dicod/main.c:1412 +msgid "Define a command alias." +msgstr "Määritä komentoalias." + +#: dicod/main.c:1416 +msgid "Control SASL authentication." +msgstr "Ohjaa SASL-todennusta." + +#: dicod/main.c:1420 +msgid "Additional configuration for strategy " +msgstr "Lisäasetukset strategialle " + +#: dicod/main.c:1459 +msgid "" +"Configuration file structure for dicod.\n" +"For more information, use `info dico configuration'." +msgstr "" +"Asetustiedostorakenne ohjelmalle dicod.\n" +"Lisätietoja: käytä ”info dico configuration”." + +#: dicod/main.c:1788 +msgid "unknown strategy" +msgstr "tuntematon strategia" + +#: cmdline.opt:36 +msgid "Select program mode" +msgstr "Valitse ohjelmatila" + +#: cmdline.opt:51 +#, fuzzy +msgid "preprocess configuration file and exit" +msgstr "Esikäsittele asetustiedosto ja poistu" + +#: cmdline.opt:57 +#, fuzzy +msgid "check configuration file syntax and exit" +msgstr "Tarkista asetustiedostosyntaksi ja poistu." + +#: cmdline.opt:63 +#, fuzzy +msgid "inetd mode" +msgstr "Inetd-tila." + +#: cmdline.opt:69 +msgid "" +"run unit tests for module; subsequent arguments are treated as module name " +"and unit test arguments; the -- marker introduces module initialization " +"arguments" +msgstr "" + +#: cmdline.opt:63 +msgid "Modifiers" +msgstr "Määreet" + +#: cmdline.opt:79 +msgid "FILE" +msgstr "TIEDOSTO" + +#: cmdline.opt:79 +#, fuzzy +msgid "read this configuration file" +msgstr "Lue tämä asetustiedosto." + +#: cmdline.opt:85 +#, fuzzy +msgid "operate in foreground" +msgstr "Toimi edustalla." + +#: cmdline.opt:91 +#, fuzzy +msgid "output diagnostic to stderr" +msgstr "Tulosta diagnostiikkaviestit vakiovirheeseen." + +#: cmdline.opt:97 +#, fuzzy +msgid "output diagnostic to syslog (default)" +msgstr "Tulosta diagnostiikkaviestit syslog-tiedostoon (oletus)." + +#: cmdline.opt:103 +#, fuzzy +msgid "single-process mode" +msgstr "Yksiprosessitila." + +#: cmdline.opt:109 cmdline.opt:179 +msgid "DIR" +msgstr "HAKEMISTO" + +#: cmdline.opt:109 +msgid "prepend DIR to the module load path" +msgstr "" + +#: cmdline.opt:125 +#, fuzzy +msgid "disable session transcript" +msgstr "Ota pois käytöstä istuntokopio." + +#: cmdline.opt:131 +#, fuzzy +msgid "set debug verbosity level" +msgstr "Aseta vianjäljityksen monisanaisuustaso." + +#: cmdline.opt:144 +#, fuzzy +msgid "trace parsing of configuration file" +msgstr "Asetustiedoston jäljitysjäsentely." + +#: cmdline.opt:150 +#, fuzzy +msgid "trace config file lexer" +msgstr "Jäljitä config-tiedoston sana-analysoija." + +#: cmdline.opt:142 +msgid "Additional help" +msgstr "Lisäopaste" + +#: cmdline.opt:158 +#, fuzzy +msgid "show configuration file summary" +msgstr "Näytä asetustiedostoyhteenveto." + +#: cmdline.opt:151 +msgid "Preprocessor control" +msgstr "Esikäsittelijäohjaus" + +#: cmdline.opt:167 +msgid "PROG" +msgstr "OHJELMA" + +#: cmdline.opt:167 +#, fuzzy +msgid "use PROG as a preprocessor for config file" +msgstr "Käytä OHJELMAa config-tiedoston esikäsittelijänä." + +#: cmdline.opt:173 +#, fuzzy +msgid "do not use external preprocessor" +msgstr "Älä käytä ulkoista esikäsittelijää." + +#: cmdline.opt:179 +#, fuzzy +msgid "" +"add the directory DIR to the list of directories to be searched for " +"preprocessor include files" +msgstr "" +"Lisää hakemisto HAKEMISTO niiden hakemistojen luetteloon, joista on " +"etsittävä esikäsittelijän include-tiedostoja" + +#: cmdline.opt:185 +msgid "SYMBOL[=VALUE]" +msgstr "SYMBOLI[=ARVO]" + +#: cmdline.opt:185 +msgid "define a preprocessor symbol" +msgstr "määritä esikäsittelijäsymboli" + +#: cmdline.opt:43 +msgid "GNU dictionary server" +msgstr "GNU-sanakirjapalvelin" + +#: dicod/loader.c:38 +#, c-format +msgid "%s: faulty module: (%s) failed" +msgstr "%s: vikamoduuli: (%s) epäonnistui" + +#: dicod/loader.c:67 +#, c-format +msgid "%s: initialization failed" +msgstr "%s: alustus epäonnistui" + +#: dicod/loader.c:83 +#, c-format +msgid "module %s already loaded" +msgstr "moduuli %s on jo ladattu" + +#: dicod/loader.c:96 +#, c-format +msgid "cannot load module %s: %s" +msgstr "ei voi ladata moduulia %s: %s" + +#: dicod/loader.c:505 +#, fuzzy +msgid "no module name" +msgstr "Lataa moduuli-ilmentymä." + +#: dicod/loader.c:524 +msgid "module does not define dico_run_test function" +msgstr "" + +#: dicod/alias.c:68 +#, c-format +msgid "alias `%s' already defined" +msgstr "alias ”%s” on jo määritelty" + +#: dicod/alias.c:70 +msgid "this is the location of the previous definition" +msgstr "tämä on edellisen määrittelyn sijainti" + +#: dicod/server.c:103 +#, c-format +msgid "file %s exists but cannot be stat'd" +msgstr "tiedosto %s on olemassa, mutta sitä ei voi stat-kutsua" + +#: dicod/server.c:110 +#, c-format +msgid "file %s is not a socket" +msgstr "tiedosto %s ei ole pistoke" + +#: dicod/server.c:116 +#, c-format +msgid "cannot unlink file %s" +msgstr "ei voi purkaa tiedoston %s linkkiä" + +#: dicod/server.c:131 +#, c-format +msgid "unsupported address family: %d" +msgstr "tukematon osoiteperhe: %d" + +#: dicod/server.c:163 +msgid "No sockets opened" +msgstr "Pistokkeita ei ole avoinna" + +#: dicod/server.c:206 +#, c-format +msgid "%lu exited successfully" +msgstr "%lu poistui onnistuneesti" + +#: dicod/server.c:211 +#, c-format +msgid "%lu timed out" +msgstr "%lu aikakatkaisu" + +#: dicod/server.c:216 +#, c-format +msgid "%lu failed with status %d" +msgstr "%lu epäonnistui tilassa %d" + +#: dicod/server.c:227 +#, c-format +msgid "%lu terminated on signal %d" +msgstr "%lu päättyi signaalilla %d" + +#: dicod/server.c:230 +#, c-format +msgid "%lu stopped on signal %d" +msgstr "%lu pysähtyi signaalilla %d" + +#: dicod/server.c:234 +#, c-format +msgid "%lu dumped core" +msgstr "%lu vedostettu ydin" + +#: dicod/server.c:237 +#, c-format +msgid "%lu terminated with unrecognized status" +msgstr "%lu päättyi tunnistamattomassa tilassa" + +#: dicod/server.c:305 +#, c-format +msgid "Cannot open pidfile `%s'" +msgstr "Ei voi avata pid-tiedostoa ”%s”" + +#: dicod/server.c:308 +#, c-format +msgid "Cannot get pid from pidfile `%s'" +msgstr "Ei voitu saada pid-tunnusta pid-tiedostosta ”%s”" + +#: dicod/server.c:314 +#, c-format +msgid "%s appears to run with pid %lu. If it does not, remove `%s' and retry." +msgstr "" +"%s näyttää suoritettavan pid-tunnuksella %lu. Jos pid ei ole se, poista ”%s” " +"ja yritä uudelleen." + +#: dicod/server.c:324 dicod/server.c:343 +#, c-format +msgid "Cannot unlink pidfile `%s'" +msgstr "Ei voi purkaa pid-tiedoston ”%s” linkkiä" + +#: dicod/server.c:334 +#, c-format +msgid "Cannot create pidfile `%s'" +msgstr "Ei voi luoda pid-tiedostoa ”%s”" + +# argumentti on asiakasosoite +#: dicod/server.c:402 +#, c-format +msgid "connection from %s denied" +msgstr "yhteys asiakasosoitteesta %s on kielletty" + +#: dicod/server.c:459 +msgid "fork failed" +msgstr "fork-kutsu epäonnistui" + +#: dicod/server.c:475 +msgid "refusing to restart due to errors in configuration file" +msgstr "kielletään uudelleenkäynnistys asetustiedoston virheiden vuoksi" + +#: dicod/server.c:481 +msgid "" +"refusing to restart due to unexpected return status of configuration checker" +msgstr "" +"kielletään uudelleenkäynnistys, koska asetustarkistaja palautti " +"odottamattoman paluutilan" + +#: dicod/server.c:489 +msgid "" +"refusing to restart: configuration checker did not exit within 5 seconds" +msgstr "" +"kielletään uudelleenkäynnistys: asetustarkistaja ei sulkeutunut 5 sekunnin " +"aikana" + +#: dicod/server.c:498 +msgid "waitpid failed" +msgstr "waitpid epäonnistui" + +#: dicod/server.c:499 +msgid "refusing to restart" +msgstr "kielletään uudelleenkäynnistys" + +#: dicod/server.c:539 +#, c-format +msgid "too many children (%lu)" +msgstr "liian monta lapsiprosessia (%lu)" + +#: dicod/server.c:557 +msgid "select error" +msgstr "valitse virhe" + +#: dicod/server.c:585 +#, c-format +msgid "%s started" +msgstr "%s käynnistyi" + +#: dicod/server.c:590 +msgid "not running as root: ignoring user/group settings" +msgstr "ei suoriteta root-käyttäjänä: ohitetaan käyttäjä- ja ryhmäasetukset" + +#: dicod/server.c:603 +msgid "dicod started without full file name" +msgstr "dicod käynnistyi ilman täyttä tiedostonimeä" + +#: dicod/server.c:604 dicod/server.c:608 +msgid "restart (SIGHUP) will not work" +msgstr "uudelleenkäynnistys (SIGHUP) ei toimi" + +#: dicod/server.c:607 +msgid "configuration file is not given with a full file name" +msgstr "asetustiedostoa ei ole annettu täydellä tiedostonimellä" + +#: dicod/server.c:615 +msgid "Cannot become a daemon" +msgstr "Ei voi tulla taustaprosessiksi" + +#: dicod/server.c:632 +#, c-format +msgid "Exit code = %d, last error status" +msgstr "Poistumiskoodi = %d, viimeisin virhetila" + +#: dicod/server.c:640 +#, c-format +msgid "%s restarting" +msgstr "%s käynnistetään uudelleen" + +#: dicod/server.c:644 +msgid "Cannot restart" +msgstr "Ei voi käynnistää uudelleen" + +#: dicod/server.c:646 +#, c-format +msgid "%s terminating" +msgstr "%s päätetään" + +#: dicod/ident.c:200 +msgid "Incorrect length of IDENT DES packet" +msgstr "IDENT DES -paketin virheellinen pituus" + +#: dicod/ident.c:207 +#, c-format +msgid "Cannot open file %s" +msgstr "Ei voi avata tiedostoa %s" + +#: dicod/ident.c:388 +msgid "cannot create socket for AUTH identification" +msgstr "ei voida luoda pistoketta TODENNUS-tunnistukseen" + +#: dicod/ident.c:400 +msgid "cannot bind AUTH socket" +msgstr "ei voida sitoa TODENNUSpistoketta" + +#: dicod/ident.c:413 dicod/ident.c:464 +#, c-format +msgid "cannot connect to AUTH server %s" +msgstr "ei voi yhdistää TODENNUS-palvelimeen %s" + +#: dicod/ident.c:437 +#, c-format +msgid "Malformed IDENT response: `%s', from %s" +msgstr "Vääränmuotoinen IDENT-vastaus: ”%s”, pistokeosoitteesta %s" + +#: dicod/ident.c:442 +msgid "" +"Keyfile for AUTH responses not specified in config; use `ident-keyfile FILE'" +msgstr "" +"Avaintiedosto TODENNUS-vastauksille ei ole määritelty config-tiedostossa; " +"käytä ”ident-keyfile TIEDOSTO”" + +#: dicod/ident.c:458 +#, c-format +msgid "failure while communicating with AUTH server %s" +msgstr "virhe viestinnässä TODENNUSpalvelimen %s kanssa" + +#: dicod/ident.c:469 +#, c-format +msgid "no reply from AUTH server %s" +msgstr "ei vastausta TODENNUSpalvelimelta %s" + +#: dicod/ident.c:475 +#, c-format +msgid "I/O error while communicating with AUTH server %s" +msgstr "Siirräntävirhe kun viestitään TODENNUSpalvelimen %s kanssa" + +#: dicod/accesslog.c:487 +#, fuzzy, c-format +msgid "log format error (near char %td): missing terminating `}'" +msgstr "lokimuotovirhe (lähellä merkkiä %d): puuttuu päätemerkki ”}”" + +#: dicod/accesslog.c:502 +#, fuzzy, c-format +msgid "log format error (near char %td): unknown format char `%c'" +msgstr "lokimuotovirhe (lähellä merkkiä %d): tuntematon muotomerkki ”%c”" + +#: dicod/accesslog.c:510 +#, fuzzy, c-format +msgid "" +"log format warning (near char %td): format char `%c' does not take arguments" +msgstr "" +"lokimuotovaroitus (lähellä merkkiä %d): muotomerkki ”%c” ei ota argumentteja" + +#: dicod/accesslog.c:553 +#, c-format +msgid "cannot open access log file `%s'" +msgstr "ei voida avata käyttölokitiedostoa ”%s”" + +#: dicod/gsasl.c:84 +#, c-format +msgid "Unexpected input instead of SASLRESP command: %s" +msgstr "Odottamaton syöttö SASLRESP-komennon sijasta: %s" + +#: dicod/gsasl.c:123 +#, c-format +msgid "SASL gsasl_server_start: %s" +msgstr "SASL gsasl_server_start: %s" + +#: dicod/gsasl.c:163 +#, c-format +msgid "GSASL %s: cannot get username" +msgstr "GSASL %s: ei voi hakea käyttäjänimeä" + +#: dicod/gsasl.c:269 +msgid "user name not supplied" +msgstr "käyttäjänimeä ei tueta" + +#: dicod/gsasl.c:333 +#, c-format +msgid "cannot initialize libgsasl: %s" +msgstr "ei voida alustaa kirjastoa libgsasl: %s" + +#: modules/dict.org/dictorg.c:83 +#, c-format +msgid "mod_init: cannot stat `%s'" +msgstr "mod_init: ei voida stat-kutsua ”%s”" + +#: modules/dict.org/dictorg.c:88 +#, c-format +msgid "mod_init: `%s' is not a directory" +msgstr "mod_init: ”%s” ei ole hakemisto" + +#: modules/dict.org/dictorg.c:93 +#, c-format +msgid "mod_init: `%s' is not readable" +msgstr "mod_init: ”%s” ei ole luettava" + +#: modules/dict.org/dictorg.c:248 +#, c-format +msgid "%s:%lu: invalid base64 value: `%.*s'" +msgstr "%s:%lu: virheellinen base64-arvo: ”%.*s”" + +#: modules/dict.org/dictorg.c:263 +#, c-format +msgid "%s:%lu: malformed entry" +msgstr "%s:%lu: vääränmuotoinen tulopiste" + +#: modules/dict.org/dictorg.c:302 +#, c-format +msgid "open_index: cannot stat `%s'" +msgstr "open_index: ei voida stat-kutsua ”%s”" + +#: modules/dict.org/dictorg.c:306 +#, c-format +msgid "open_index: `%s' is not a regular file" +msgstr "open_index: ”%s” ei ole tavallinen tiedosto" + +#: modules/dict.org/dictorg.c:315 modules/dict.org/dictorg.c:412 +#: modules/gcide/gcide.c:316 modules/gcide/gcide.c:725 +#, c-format +msgid "cannot create stream `%s'" +msgstr "ei voi luoda vuota ”%s”" + +#: modules/dict.org/dictorg.c:321 modules/dict.org/dictorg.c:420 +#: modules/gcide/gcide.c:323 modules/gcide/gcide.c:732 +#, c-format +msgid "cannot open stream `%s': %s" +msgstr "ei voi avata vuota ”%s”: %s" + +#: modules/dict.org/dictorg.c:430 +#, c-format +msgid "cannot open stream for dictionary `%s'" +msgstr "ei voi avata vuota sanakirjalle ”%s”" + +#: modules/dict.org/dictorg.c:458 +#, c-format +msgid "mod_init_db(%s): database name not given" +msgstr "mod_init_db(%s): tietokantanimeä ei ole annettu" + +#: modules/dict.org/dictorg.c:468 +#, c-format +msgid "mod_init_db: `%s' is not an absolute file name" +msgstr "mod_init_db: ”%s” ei ole absoluuttinen tiedostonimi" + +#: modules/dict.org/dictorg.c:508 +#, c-format +msgid "mod_init_db(%s): index files in old 8-bit format are not supported" +msgstr "" + +#: modules/dict.org/dictorg.c:810 modules/dict.org/dictorg.c:993 +#: modules/gcide/gcide.c:756 +#, c-format +msgid "%s: read error: %s" +msgstr "%s: lukuvirhe: %s" + +#: modules/dict.org/dictorg.c:904 +msgid "_match_all: key initialization failed" +msgstr "_match_all: avainalustus epäonnistui" + +#: modules/dict.org/dictorg.c:983 +#, c-format +msgid "%s: seek error: %s" +msgstr "%s: hakuvirhe: %s" + +#: modules/dict.org/dictstr.c:176 +#, c-format +msgid "cannot initialize inflation engine: %s" +msgstr "ei voi alustaa inflation-konetta: %s" + +#: modules/dict.org/dictstr.c:198 +#, c-format +msgid "%s:%d: INTERNAL ERROR: inflate did not flush (%d pending, %d avail)" +msgstr "" +"%s:%d: SISÄINEN VIRHE: inflate ei tyhjennä välimuistia (%d avointa, %d " +"käytettävää)" + +#: modules/dict.org/dictstr.c:286 +#, c-format +msgid "%s:%d: INTERNAL ERROR: cannot shut down inflation engine: %s" +msgstr "%s:%d: SISÄINEN VIRHE: ei voida sulkea inflation-konetta: %s" + +#: modules/dict.org/dictstr.c:437 +#, c-format +msgid "file position (%lu) != header length + 1 (%lu)" +msgstr "tiedostosijainti (%lu) != otsakepituus + 1 (%lu)" + +#: modules/dict.org/dictstr.c:475 +msgid "unknown dictionary format" +msgstr "tuntematon sanakirjamuoto" + +#: modules/dict.org/dictstr.c:478 +msgid "unsupported dictionary format" +msgstr "tukematon sanakirjamuoto" + +#: modules/dict.org/dictstr.c:481 +msgid "unsupported dictionary version" +msgstr "tukematon sanakirjaversio" + +#: modules/dict.org/dictstr.c:484 +msgid "malformed header" +msgstr "vääränmuotoinen otsake" + +#: modules/dict.org/dictstr.c:487 +msgid "cannot seek on pure gzip format files" +msgstr "ei voida etsiä puhtaita gzip-muototiedostoja" + +#: modules/dict.org/dictstr.c:490 +msgid "error decompressing stream" +msgstr "virhe laventaessa vuota" + +#: modules/guile/guile.c:151 +#, c-format +msgid "%s: not enough memory" +msgstr "%s: muisti ei riitä" + +#: modules/guile/guile.c:164 +#, c-format +msgid "%s: invalid return type" +msgstr "%s: virheellinen paluutyyppi" + +#: modules/guile/guile.c:184 +#, c-format +msgid "procedure `%s' failed: see error output for details" +msgstr "proseduuri ”%s” epäonnistui: katso yksityiskohdat virhetulosteesta" + +#: modules/guile/guile.c:735 +#, c-format +msgid "%s: %s: unknown virtual function" +msgstr "%s: %s: tuntematon virtuaalifunktio" + +#: modules/guile/guile.c:794 +msgid "mod_init: cannot initialize error port" +msgstr "mod_init: ei voi alustaa virheporttia" + +#: modules/guile/guile.c:802 modules/guile/guile.c:836 +#, c-format +msgid "mod_init: cannot load init script %s" +msgstr "mod_init: ei voi ladata init-skriptiä %s" + +#: modules/guile/guile.c:862 +#, c-format +msgid "%s: %s: void virtual function" +msgstr "%s: %s: void-virtuaalifunktio" + +#: modules/guile/guile.c:1084 +msgid "mod_match: key initialization failed" +msgstr "mod_match: avainalustus epäonnistui" + +#: modules/outline/outline.c:476 +msgid "outline_open: wrong number of arguments" +msgstr "outline_open: väärä argumenttimäärä" + +#: modules/outline/outline.c:482 modules/gcide/idxgcide.l:269 +#, c-format +msgid "cannot open file %s" +msgstr "ei voi avata tiedostoa %s" + +#: modules/outline/outline.c:642 +msgid "outline_lang: not enough memory" +msgstr "outline_lang: muisti ei riitä" + +#: modules/outline/outline.c:681 +msgid "outline_match_all: not enough memory" +msgstr "outline_match_all: muisti ei riitä" + +#: modules/outline/outline.c:686 +msgid "outline_match_all: key initialization failed" +msgstr "outline_match_all: avainalustus epäonnistui" + +#: modules/ldap/ldap.c:60 +#, c-format +msgid "cannot set LBER_OPT_DEBUG_LEVEL %d" +msgstr "ei voida asettaa LBER_OPT_DEBUG_LEVEL %d" + +#: modules/ldap/ldap.c:65 +#, c-format +msgid "could not set LDAP_OPT_DEBUG_LEVEL %d" +msgstr "ei voida asettaa LDAP_OPT_DEBUG_LEVEL %d" + +#: modules/ldap/ldap.c:73 +#, c-format +msgid "cannot create LDAP session handle for URI=%s (%d): %s" +msgstr "ei voida luoda LDAP-istuntokäsittelijää verkko-osoitteelle=%s (%d): %s" + +#: modules/ldap/ldap.c:81 +#, c-format +msgid "ldap_start_tls failed: %s" +msgstr "ldap_start_tls epäonnistui: %s" + +#: modules/ldap/ldap.c:199 +#, c-format +msgid "cannot parse options `%s': %s" +msgstr "ei voida jäsentää valitsimia ”%s”: %s" + +#: modules/ldap/ldap.c:215 +msgid "cannot allocate handle" +msgstr "ei voi varata käsittelijää" + +#: modules/ldap/ldap.c:255 +#, c-format +msgid "cannot expand query `%s': %s" +msgstr "ei voi laajentaa kyselyä ”%s”: %s" + +#: modules/gcide/gcide.c:85 +#, c-format +msgid "gcide: cannot stat `%s'" +msgstr "gcide: ei voida stat-kutsua ”%s”" + +#: modules/gcide/gcide.c:89 +#, c-format +msgid "gcide: `%s' is not a directory" +msgstr "gcide: ”%s” ei ole hakemisto" + +#: modules/gcide/gcide.c:93 modules/gcide/gcide.c:158 +#, c-format +msgid "gcide: `%s' is not readable" +msgstr "gcide: ”%s” ei ole luettava" + +#: modules/gcide/gcide.c:113 +#, c-format +msgid "gcide_open_idx: creating index %s" +msgstr "gcide_open_idx: luodaan indeksi %s" + +#: modules/gcide/gcide.c:116 +#, c-format +msgid "gcide_open_idx: cannot run %s" +msgstr "gcide_open_idx: ei voida suorittaa kohdetta %s" + +#: modules/gcide/gcide.c:125 +msgid "gcide_open_idx: fork failed" +msgstr "gcide_open_idx: fork epäonnistui" + +#: modules/gcide/gcide.c:129 modules/gcide/gcide.c:134 +#, c-format +msgid "gcide_open_idx: %s failed" +msgstr "gcide_open_idx: %s epäonnistui" + +#: modules/gcide/gcide.c:141 +#, c-format +msgid "gcide_open_idx: %s exited with status %d" +msgstr "gcide_open_idx: %s poistui tilassa %d" + +#: modules/gcide/gcide.c:162 modules/gcide/gcide.c:182 +#, c-format +msgid "gcide: can't stat `%s'" +msgstr "gcide: ei voida stat-kutsua ”%s”" + +#: modules/gcide/gcide.c:188 +msgid "gcide: index file older than database, reindexing" +msgstr "gcide: indeksitiedosto vanhempi kuin tietokanta, indeksoi uudelleen" + +#: modules/gcide/gcide.c:190 +#, c-format +msgid "gcide_open_idx: cannot access %s" +msgstr "gcide_open_idx: ei voida kutsua kohdetta %s" + +#: modules/gcide/gcide.c:249 +msgid "gcide_init_db: database directory not given" +msgstr "gcide_init_db: tietokantahakemistoa ei ole annettu" + +#: modules/gcide/gcide.c:335 modules/gcide/gcide.c:354 +#, c-format +msgid "read error in stream `%s': %s" +msgstr "lukuvirhe virrassa ”%s”: %s" + +#: modules/gcide/gcide.c:344 +#, c-format +msgid "cannot get size of stream `%s': %s" +msgstr "ei saada virran ”%s” kokoa: %s" + +#: modules/gcide/gcide.c:351 +msgid "cannot allocate dictionary information buffer" +msgstr "ei voida varata sanakirjatietopuskuria" + +#: modules/gcide/gcide.c:518 modules/wordnet/wordnet.c:617 +#, fuzzy, c-format +msgid "%s: key initialization failed" +msgstr "%s: alustus epäonnistui" + +#: modules/gcide/gcide.c:742 +#, c-format +msgid "seek error on `%s' while positioning to %lu: %s" +msgstr "etsintävirhe kohteessa ”%s” sijainnissa %lu: %s" + +#: modules/gcide/idx.c:68 +#, c-format +msgid "error reading from `%s'" +msgstr "virhe luettaessa kohteesta ”%s”" + +#: modules/gcide/idx.c:71 +#, c-format +msgid "short read while reading from `%s'" +msgstr "lyhyt luku luettaessa kohteesta ”%s”" + +#: modules/gcide/idx.c:91 +#, c-format +msgid "file `%s' is not a valid gcide index file" +msgstr "tiedosto ”%s” ei ole kelvollinen gcide-indeksitiedosto" + +#: modules/gcide/idx.c:103 +#, c-format +msgid "index file `%s' is corrupted" +msgstr "indeksitiedosto ”%s” on rikkinäinen" + +#: modules/gcide/idx.c:128 +#, c-format +msgid "cannot open index file `%s'" +msgstr "ei voi avata indeksitiedostoa ”%s”" + +#: modules/gcide/idx.c:246 +#, c-format +msgid "seek error on `%s' while positioning to %lu" +msgstr "etsintävirhe kohteessa ”%s” sijainnissa %lu" + +#: modules/gcide/idxgcide-cli.opt:62 +#, c-format +msgid "not a valid size: %s" +msgstr "kelvoton koko: %s" + +#: modules/gcide/idxgcide.l:77 +msgid "page too small, aborting" +msgstr "sivu liian pieni, keskeytetään" + +#: modules/gcide/idxgcide.l:120 +msgid "Sorting references" +msgstr "Lajitellaan viitteitä" + +#: modules/gcide/idxgcide.l:124 +msgid "Writing references" +msgstr "Kirjoitetaan viitteitä" + +#: modules/gcide/idxgcide.l:217 +#, c-format +msgid "%s:%u: unknown or illegible character in a headword" +msgstr "%s:%u: tuntematon tai laitoin merkki pääsanassa" + +#: modules/gcide/idxgcide.l:221 +#, c-format +msgid "%s:%u: unrecognized entity: %s" +msgstr "%s:%u: tunnistamaton entiteetti: %s" + +#: modules/gcide/idxgcide.l:236 +#, c-format +msgid "%s:%u: unknown character sequence %s" +msgstr "%s:%u: tuntematon merkkisekvenssi %s" + +#: modules/gcide/idxgcide.l:266 +#, c-format +msgid "Indexing %s" +msgstr "Indeksoidaan %s" + +#: modules/gcide/idxgcide.l:302 +msgid "page size too small" +msgstr "sivukoko liian pieni" + +#: modules/gcide/idxgcide.l:311 +msgid "bad number of arguments" +msgstr "väärä argumenttimäärä" + +#: modules/gcide/idxgcide.l:335 +#, c-format +msgid "cannot create index file `%s'" +msgstr "Ei voi luoda indeksitiedostoa ”%s”" + +#: modules/gcide/idxgcide.l:356 +#, c-format +msgid "headwords=%lu, definitions=%lu, refs per page=%lu, pages=%lu" +msgstr "pääsanoja=%lu, määrittelyjä=%lu, viitteitä per sivu=%lu, sivuja=%lu" + +#: modules/gcide/markup.l:148 +#, c-format +msgid "cannot parse line %.*s: %s" +msgstr "ei voi jäsentää riviä %.*s: %s" + +#: modules/gcide/markup.l:300 +#, c-format +msgid "%u: unrecognized entity: %s" +msgstr "%u: tunnistamaton entiteetti: %s" + +#: modules/gcide/markup.l:312 +#, c-format +msgid "%u: unknown character sequence %s" +msgstr "%u: tuntematon merkkisekvenssi %s" + +#: modules/wordnet/wordnet.c:79 +msgid "cannot open wordnet database" +msgstr "ei voi avata wordnet-tietokantaa" + +#: modules/wordnet/wordnet.c:232 +#, c-format +msgid "wordnet: unknown option %s" +msgstr "wordnet: tuntematon valitsin %s" + +#: modules/wordnet/wordnet.c:239 +#, c-format +msgid "wordnet: option %s is not yet supported" +msgstr "wordnet: valitsinta %s ei vielä tueta" + +#: grecs/src/cidr.c:129 grecs/src/cidr.c:179 grecs/src/cidr.c:186 +#, fuzzy, c-format +msgid "invalid network mask: %s" +msgstr "virheellinen verkkopeite: ”%s”" + +#: grecs/src/cidr.c:142 grecs/src/cidr.c:149 grecs/src/cidr.c:160 +#, fuzzy, c-format +msgid "unrecognized address family: %s" +msgstr "tukematon osoiteperhe: %d" + +#: grecs/src/cidr.c:153 +#, fuzzy, c-format +msgid "invalid network address: %s" +msgstr "virheellinen verkkopeite: ”%s”" + +#: grecs/src/format.c:33 +msgid "void" +msgstr "" + +#: grecs/src/format.c:36 grecs/src/tree.c:69 +#, fuzzy +msgid "string" +msgstr "verkko-osoite: merkkijono" + +#: grecs/src/format.c:46 +#, fuzzy +msgid "number" +msgstr "pituus: numero" + +#: grecs/src/format.c:49 +msgid "time" +msgstr "" + +#: grecs/src/format.c:52 +msgid "boolean" +msgstr "" + +#: grecs/src/format.c:55 +msgid "IPv4" +msgstr "" + +#: grecs/src/format.c:58 +msgid "CIDR" +msgstr "" + +#: grecs/src/format.c:61 +#, fuzzy +msgid "hostname" +msgstr "nimi" + +#: grecs/src/format.c:64 +#, fuzzy +msgid "sockaddr" +msgstr "osoite" + +#: grecs/src/format.c:67 +#, fuzzy +msgid "section" +msgstr "Palvelinvalinta" + +#: grecs/src/format.c:70 +msgid "null" +msgstr "" + +#: grecs/src/format.c:133 +msgid "Disabled;" +msgstr "Otettu pois käytöstä;" + +#: grecs/src/grecs-lex.l:186 +#, c-format +msgid "stray character %c" +msgstr "satunnaismerkki %c" + +#: grecs/src/grecs-lex.l:189 +#, c-format +msgid "stray character \\%03o" +msgstr "satunnaismerkki \\%03o" + +#: grecs/src/grecs-lex.l:219 grecs/src/preproc.c:480 +#, c-format +msgid "Cannot open `%s'" +msgstr "Ei voi avata tiedostoa ”%s”" + +#: grecs/src/grecs-lex.l:227 grecs/src/preproc.c:698 +#, c-format +msgid "Unable to start external preprocessor `%s'" +msgstr "Ei kyetä käynnistämään ulkoista esikäsittelijää ”%s”" + +#: grecs/src/grecs-lex.l:394 grecs/src/grecs-lex.l:431 +#, fuzzy, c-format +msgid "cannot parse #line line: %s" +msgstr "ei voi jäsentää #line-riviä" + +#: grecs/src/grecs-lex.l:415 grecs/src/grecs-lex.l:435 +msgid "invalid #line statement" +msgstr "virheellinen #line-lause" + +#: grecs/src/grecs-lex.l:418 grecs/src/grecs-lex.l:439 +msgid "malformed #line statement" +msgstr "vääränmuotoinen #line-lause" + +#: grecs/src/lineacc.c:70 +#, fuzzy, c-format +msgid "unknown escape sequence: '\\%c'" +msgstr "%u: tuntematon merkkisekvenssi %s" + +#: grecs/src/opthelp.c:123 grecs/src/opthelp.c:269 +msgid "Usage:" +msgstr "Käyttö:" + +#: grecs/src/opthelp.c:127 +msgid "OPTION" +msgstr "VALITSIN" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Aliases" +msgstr "" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Alias" +msgstr "" + +#: grecs/src/opthelp.c:186 +msgid "" +"Mandatory or optional arguments to long options are also mandatory or " +"optional for any corresponding short options." +msgstr "" +"Pakolliset tai valinnaiset argumentit pitkille valitsimille ovat pakollisia " +"tai valinnaisia myös kaikille vastaaville lyhyille valitsimille." + +#. TRANSLATORS: The placeholder indicates the bug-reporting +#. address for this package. Please add _another line_ saying +#. "Report translation bugs to <...>\n" with the address for +#. translation bugs (typically your translation team's web or +#. email address). +#: grecs/src/opthelp.c:202 +#, c-format +msgid "Report bugs to %s.\n" +msgstr "" +"Ilmoita virheistä (englanniksi) osoitteeseen %s.\n" +"Ilmoita käännösvirheistä osoitteeseen .\n" + +#: grecs/src/opthelp.c:205 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s kotisivu: <%s>\n" + +#. TRANSLATORS: Translate "(C)" to the copyright symbol +#. (C-in-a-circle), if this symbol is available in the user's +#. locale. Otherwise, do not translate "(C)"; leave it as-is. +#: grecs/src/opthelp.c:457 +msgid "(C)" +msgstr "©" + +#: grecs/src/opthelp.c:466 +msgid "" +"License GPLv3+: GNU GPL version 3 or later \n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +"\n" +msgstr "" +"Lisenssi GPLv3+: GNU GPL versio 3 tai myöhäisempi \n" +"Tämä on vapaa ohjelmisto: voit vapaasti muuttaa sitä ja jakaa sitä " +"edelleen.\n" +"Ohjelmalle EI OLE MITÄÄN TAKUUTA, siinä laajuudessa mitä laki sallii.\n" +"\n" + +#: grecs/src/opthelp.c:483 +msgid "Written by " +msgstr "" + +#. TRANSLATORS: This string is used as a delimiter between +#. authors' names as in: +#. +#. Written by Winnie the Pooh, Piglet ... +#. +#: grecs/src/opthelp.c:489 +msgid ", " +msgstr "" + +#. TRANSLATORS: This string acts as a delimiter before the +#. last author's names, e.g.: +#. +#. Written by Winnie the Pooh, Piglet and Christopher Robin. +#. +#: grecs/src/opthelp.c:495 +msgid " and " +msgstr "" + +#: grecs/src/path-parser.c:62 +#, c-format +msgid "cannot open `%s'" +msgstr "ei voi avata tiedostoa ”%s”" + +#: grecs/src/path-parser.c:108 grecs/src/path-parser.c:123 +msgid "unexpected end of file" +msgstr "odottamaton tiedostoloppu" + +#: grecs/src/path-parser.c:143 +msgid "parse error" +msgstr "jäsennysvirhe" + +#: grecs/src/preproc.c:448 grecs/src/preproc.c:470 +#, c-format +msgid "Cannot stat `%s'" +msgstr "Ei voi kutsua stat-funktiota ”%s”" + +#: grecs/src/preproc.c:453 grecs/src/preproc.c:458 +msgid "Recursive inclusion" +msgstr "Rekursiivinen mukaanottaminen" + +#: grecs/src/preproc.c:461 +#, c-format +msgid "`%s' already included here" +msgstr "”%s” on jo sisällytetty tänne" + +#: grecs/src/preproc.c:465 +#, c-format +msgid "`%s' already included at top level" +msgstr "”%s” on jo sisällytetty ylimmälle tasolle" + +#: grecs/src/preproc.c:595 +msgid "Cannot parse include line" +msgstr "Ei voida jäsentää include-riviä" + +#: grecs/src/preproc.c:598 +msgid "invalid include statement" +msgstr "virheellinen include-lause" + +#: grecs/src/preproc.c:624 +#, fuzzy +msgid "read error" +msgstr "kirjoitusvirhe" + +#: grecs/src/preproc.c:632 +#, c-format +msgid "%s: No such file or directory" +msgstr "%s: Tuntematon tiedosto tai hakemisto" + +#: grecs/src/preproc.c:773 grecs/src/preproc.c:793 +#, c-format +msgid "Cannot run `%s'" +msgstr "Ei voi suorittaa komentoa ”%s”" + +#: grecs/src/sockaddr.c:67 +#, fuzzy, c-format +msgid "socket path name too long: %s" +msgstr "pistokenimi liian pitkä: ”%s”" + +#: grecs/src/sockaddr.c:120 +#, fuzzy, c-format +msgid "%s: garbage near %s" +msgstr "%s: lukuvirhe: %s" + +#: grecs/src/sockaddr.c:159 +#, fuzzy, c-format +msgid "service not specified: %s" +msgstr "Tietokantanimeä ei ole määritelty" + +#: grecs/src/sockaddr.c:176 +#, fuzzy, c-format +msgid "%s: cannot parse address: %s" +msgstr "ei voi jäsentää otsakkeita: %s" + +#: grecs/src/sockaddr.c:269 +#, c-format +msgid "unknown or unsupported scheme: %s" +msgstr "" + +#: grecs/src/sockaddr.c:278 +#, fuzzy, c-format +msgid "%s: UNIX socket must be an absolute file name" +msgstr "%s: UNIX-pistokenimi on liian pitkä" + +#: grecs/src/symtab.c:236 +msgid "element not found in table" +msgstr "elementtiä ei löytynyt taulusta" + +#: grecs/src/symtab.c:238 +msgid "symbol table is full" +msgstr "symbolitaulu on täysi" + +#: grecs/src/tree.c:70 +msgid "list" +msgstr "" + +#: grecs/src/tree.c:71 +#, fuzzy +msgid "one or more arguments" +msgstr "liian monta argumenttia" + +#: grecs/src/tree.c:75 +msgid "unrecognized type; please report" +msgstr "" + +#: grecs/src/tree.c:320 +msgid "section keyword used as a scalar" +msgstr "" + +#: grecs/src/tree.c:322 +msgid "scalar keyword used as a section" +msgstr "" + +#: grecs/src/tree.c:325 +#, fuzzy +msgid "unknown keyword" +msgstr "Tuntematon avainsana" + +#: grecs/src/tree.c:360 +#, c-format +msgid "%s: not a valid boolean value" +msgstr "%s: ei ole kelvollinen boolean-arvo" + +#: grecs/src/tree.c:420 grecs/src/tree.c:644 +#, c-format +msgid "%s: not a valid IP address or hostname" +msgstr "%s: ei ole kelvollinen IP-osoite tai tietokonenimi" + +#: grecs/src/tree.c:444 +#, c-format +msgid "%s: not a valid port number" +msgstr "%s: ei ole kelvollinen porttinumero" + +#: grecs/src/tree.c:452 +msgid "missing port number" +msgstr "puuttuva porttinumero" + +#: grecs/src/tree.c:501 +msgid "numeric overflow" +msgstr "numeerinen ylivuoto" + +#: grecs/src/tree.c:506 +msgid "value out of allowed range" +msgstr "arvo sallitun lukualueen ulkopuolella" + +#: grecs/src/tree.c:541 grecs/src/tree.c:571 +#, c-format +msgid "not a number (stopped near `%s')" +msgstr "ei ole numero (pysähtyi lähellä ”%s”" + +#: grecs/src/tree.c:635 +#, c-format +msgid "%s: not a valid IP address" +msgstr "%s: ei ole kelvollinen IP-osoite" + +# argumentti on ident-yhteyskäytäntö +#: grecs/src/tree.c:774 +#, c-format +msgid "too many arguments to `%s'; missing semicolon?" +msgstr "liian monta argumenttia yhteyskäytännölle ”%s”; puolipilkku puuttuu?" + +#: grecs/src/tree.c:788 grecs/src/tree.c:836 +#, c-format +msgid "INTERNAL ERROR at %s:%d: unhandled data type %d" +msgstr "SISÄINEN VIRHE osoitteessa %s:%d: käsittelemätön data-tyyppi %d" + +#: grecs/src/tree.c:803 +#, c-format +msgid "%s: incompatible data type in list item #%d" +msgstr "%s: yhteensopimaton tietotyyppi luetteloalkiossa #%d" + +# argumentti on ident-yhteyskäytäntö +#: grecs/src/tree.c:823 +#, c-format +msgid "incompatible data type for `%s'" +msgstr "yhteensopimaton datatyyppi yhteyskäytännölle ”%s”" + +#: grecs/wordsplit/wordsplit.c:130 +msgid "memory exhausted while trying to store error context" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:881 +#, fuzzy +msgid "Restarting" +msgstr "%s käynnistetään uudelleen" + +#: grecs/wordsplit/wordsplit.c:1607 +#, c-format +msgid "%.*s: variable null or not set" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:1637 +#, c-format +msgid "warning: undefined variable `%.*s'" +msgstr "varoitus: määrittelemätön muuttuja ”%.*s”" + +#: grecs/wordsplit/wordsplit.c:2138 +#, c-format +msgid "no files match pattern %s" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2599 +msgid "WS trimming" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2601 +#, fuzzy +msgid "command substitution" +msgstr "komentokorvausta ei vielä tueta" + +#: grecs/wordsplit/wordsplit.c:2603 grecs/wordsplit/wordsplit.c:2611 +#, fuzzy +msgid "coalesce list" +msgstr "mekanismi: luettelo" + +#: grecs/wordsplit/wordsplit.c:2605 +msgid "tilde expansion" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2607 +msgid "variable expansion" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2609 +msgid "quote removal" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2613 +msgid "path expansion" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2638 +#, c-format +msgid "(%02d) Input:%.*s;" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2664 +msgid "Initial list:" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2679 +#, fuzzy +msgid "Coalesced list:" +msgstr "odottamaton luettelo" + +#: grecs/wordsplit/wordsplit.c:2849 +msgid "no error" +msgstr "ei virhettä" + +#: grecs/wordsplit/wordsplit.c:2850 +msgid "missing closing quote" +msgstr "puuttuu sulkeva lainausmerkki" + +#: grecs/wordsplit/wordsplit.c:2852 +msgid "invalid wordsplit usage" +msgstr "virheellinen wordsplit-käyttö" + +#: grecs/wordsplit/wordsplit.c:2853 +msgid "unbalanced curly brace" +msgstr "pariton aaltosulje" + +#: grecs/wordsplit/wordsplit.c:2854 +msgid "undefined variable" +msgstr "määrittelemätön muuttuja" + +#: grecs/wordsplit/wordsplit.c:2855 +msgid "input exhausted" +msgstr "syöte loppui" + +#: grecs/wordsplit/wordsplit.c:2856 +msgid "unbalanced parenthesis" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2857 +#, fuzzy +msgid "globbing error" +msgstr "Ei virhettä" + +#: grecs/wordsplit/wordsplit.c:2858 +#, fuzzy +msgid "user-defined error" +msgstr "kirjoitusvirhe" + +#: grecs/wordsplit/wordsplit.c:2859 +#, fuzzy +msgid "invalid parameter number in assignment" +msgstr "Virheellinen porttinumero tai palvelunimi" + +#: grecs/wordsplit/wordsplit.c:2871 +msgid "unknown error" +msgstr "tuntematon virhe" + +#: grecs/wordsplit/wordsplit.c:2880 +#, c-format +msgid "missing closing %c (start near #%lu)" +msgstr "puuttuu sulkeva %c (alku lähellä #%lu)" + +#~ msgid "%s: option '--%s' doesn't allow an argument\n" +#~ msgstr "%s: valitsin ’--%s’ ei salli argumenttia\n" + +#~ msgid "%s: unrecognized option '--%s'\n" +#~ msgstr "%s: tunnistamaton valitsin ’--%s’\n" + +#~ msgid "%s: option '-W %s' is ambiguous\n" +#~ msgstr "%s: valitsin ’-W %s’ ei ole yksiselitteinen\n" + +#~ msgid "%s: option '-W %s' doesn't allow an argument\n" +#~ msgstr "%s: valitsin ’-W %s’ ei salli argumenttia\n" + +#~ msgid "%s: option '-W %s' requires an argument\n" +#~ msgstr "%s: valitsin ’-W %s’ vaatii argumentin\n" + +#~ msgid "%s: Invalid IP or unknown host name" +#~ msgstr "%s: Virheellinen IP-osoite tai tuntematon tietokonenimi" + +#~ msgid "cannot connect to DICT server %s:%d" +#~ msgstr "ei voida yhdistää DICT-palvelimeen %s:%d" + +#~ msgid "%s home page: \n" +#~ msgstr "%s kotisivu: \n" + +#~ msgid "General help using GNU software: \n" +#~ msgstr "" +#~ "Yleinen opaste GNU-ohjelmistojen käytöstä: \n" + +#~ msgid "Invalid port" +#~ msgstr "Virheellinen portti" + +#~ msgid "cannot resolve host name: `%s'" +#~ msgstr "ei voida ratkaista tietokonenimeä: ”%s”" + +#~ msgid "LEVEL-SPEC" +#~ msgstr "TASO-MÄÄRITTELY" + +#~ msgid "" +#~ "cannot initialize database `%s': module `%s' does not support databases" +#~ msgstr "ei voi alustaa tietokantaa ”%s”: moduuli ”%s” ei tue tietokantoja" + +#~ msgid "cannot initialize database `%s'" +#~ msgstr "ei voi alustaa tietokantaa ”%s”" + +#~ msgid "cannot open database `%s'" +#~ msgstr "ei voi avata tietokantaa ”%s”" + +#~ msgid "gcide_match_all: key initialization failed" +#~ msgstr "gcide_match_all: avainalustus epäonnistui" + +#~ msgid "not enough memory" +#~ msgstr "muisti ei riitä" + +#~ msgid "wn_foreach: key initialization failed" +#~ msgstr "wn_foreach: avainalustus epäonnistui" + +#~ msgid "INTERNAL ERROR at %s:%d" +#~ msgstr "SISÄINEN VIRHE osoitteessa %s:%d" + +#~ msgid "%s: unknown keyword" +#~ msgstr "%s: tuntematon avainsana" + +#~ msgid "Unsupported callback property %d" +#~ msgstr "Tukematon vastakutsuominaisuus %d" + +#~ msgid "dico_argcv_get failed" +#~ msgstr "dico_argcv_get epäonnistui" + +#~ msgid "%s:%d: not enough memory" +#~ msgstr "%s:%d: muisti ei riitä" + +#~ msgid "A DICT client." +#~ msgstr "DICT-asiakas." + +#~ msgid "A DICT daemon." +#~ msgstr "DICT-taustaprosessi." + +#~ msgid "cannot convert `%s' to number" +#~ msgstr "ei voi muuntaa merkkijonoa ”%s” numeroksi" + +#~ msgid "%s: value out of allowed range %..%" +#~ msgstr "%s: arvo sallitun lukualueen %..% ulkopuolella" + +#~ msgid "Skipping authenitcation\n" +#~ msgstr "Ohitetaan todennus\n" + +#~ msgid "%s: invalid URL" +#~ msgstr "%s: virheelllinen verkko-osoite" + +#~ msgid "%s: invalid URL: unknown protocol" +#~ msgstr "%s: virheellinen verkko-osoite: tuntematon yhteyskäytäntö" + +#~ msgid "Match words exactly" +#~ msgstr "Täsmää sanat tarkalleen" + +#~ msgid "Match words prefixes" +#~ msgstr "Täsmää sanat etuliitteillä" + +#~ msgid "Match using SOUNDEX algorithm" +#~ msgstr "Täsmää käyttäen SOUNDEX-algoritmia" + +#~ msgid "Match headwords within given Levenshtein distance" +#~ msgstr "Täsmää pääsanat annetun Levenshtein-etäisyyden sisällä" + +#~ msgid "Match headwords within given Levenshtein distance (normalized)" +#~ msgstr "" +#~ "Täsmää pääsanat annetun Levenshtein-etäisyyden sisällä (normalisoitu)" + +#~ msgid "Match headwords within given Damerau-Levenshtein distance" +#~ msgstr "Täsmää pääsanat annetun Damerau-Levenshtein-etäisyyden sisällä" + +#~ msgid "" +#~ "Match headwords within given Damerau-Levenshtein distance (normalized)" +#~ msgstr "" +#~ "Täsmää pääsanat annetun Damerau-Levenshtein-etäisyyden sisällä " +#~ "(normalisoitu)" + +#~ msgid "POSIX 1003.2 (modern) regular expressions" +#~ msgstr "POSIX 1003.2 (nykyaikaiset) säännölliset lausekkeet" + +#~ msgid "Old (basic) regular expressions" +#~ msgstr "Vanhat (perus) säännölliset lausekkeet" + +#~ msgid "Match everything (experimental)" +#~ msgstr "Täsmää kaikki (kokeiluversio)" + +#~ msgid "Match a substring anywhere in the headword" +#~ msgstr "Täsmää osamerkkijono kaikkialla pääsanassa" + +#~ msgid "Match word suffixes" +#~ msgstr "Täsmää sanajälkiliitteet" + +#~ msgid "Reverse search in Quechua databases" +#~ msgstr "Käänteinen etsintä Quechua-tietokannoissa" + +#~ msgid "Warning: " +#~ msgstr "Varoitus: " + +#~ msgid "Error: " +#~ msgstr "Virhe: " Binary files /tmp/tmpzBUTb6/GFUWpBukhc/dico-2.9/po/fr.gmo and /tmp/tmpzBUTb6/cwmgEPIKlI/dico-2.10/po/fr.gmo differ diff -Nru dico-2.9/po/fr.po dico-2.10/po/fr.po --- dico-2.9/po/fr.po 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/po/fr.po 2020-09-04 04:06:48.000000000 +0000 @@ -0,0 +1,3034 @@ +# French translation of dico +# Copyright (C) 2018 Free Software Foundation, Inc. +# This file is distributed under the same license as the dico package. +# Frédéric Marchal , 2018. +# Je ne désire pas continuer cette traduction. Quiconque voudrait continuer +# la traduction est le bienvenu. +msgid "" +msgstr "" +"Project-Id-Version: GNU dico 2.7\n" +"Report-Msgid-Bugs-To: bug-dico@gnu.org\n" +"POT-Creation-Date: 2020-09-04 07:06+0300\n" +"PO-Revision-Date: 2018-09-27 21:38+0200\n" +"Last-Translator: Frédéric Marchal \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n >= 2);\n" + +#: xdico/userprivs.c:40 +msgid "Refusing to run as root" +msgstr "Je refuse d'être exécuté en tant que root" + +#: xdico/userprivs.c:58 +#, c-format +msgid "setgroups(1, %lu) failed" +msgstr "setgroups(1, %lu) a échoué" + +#: xdico/userprivs.c:69 +#, c-format +msgid "setegid(%lu) failed" +msgstr "setegid(%lu) a échoué" + +#: xdico/userprivs.c:73 +#, c-format +msgid "setregid(%lu,%lu) failed" +msgstr "setregid(%lu,%lu) a échoué" + +#: xdico/userprivs.c:77 +#, c-format +msgid "setresgid(%lu,%lu,%lu) failed" +msgstr "setresgid(%lu,%lu,%lu) a échoué" + +#: xdico/userprivs.c:85 +#, c-format +msgid "setgid(%lu) failed" +msgstr "setgid(%lu) a échoué" + +#: xdico/userprivs.c:88 +#, c-format +msgid "Cannot set effective gid to %lu" +msgstr "Le gid effectif ne peut pas être changé en %lu" + +#: xdico/userprivs.c:106 +#, c-format +msgid "setreuid(%lu,-1) failed" +msgstr "setreuid(%lu,-1) a échoué" + +#: xdico/userprivs.c:111 +#, c-format +msgid "second setuid(%lu) failed" +msgstr "le deuxième setuid(%lu) a échoué" + +#: xdico/userprivs.c:118 +#, c-format +msgid "setuid(%lu) failed" +msgstr "setuid(%lu) a échoué" + +#: xdico/userprivs.c:126 +msgid "seteuid(0) succeeded when it should not" +msgstr "seteuid(0) a réussi alors qu'il n'aurait pas dû" + +#: xdico/userprivs.c:129 +msgid "Cannot drop non-root setuid privileges" +msgstr "Impossible d'abandonner les privilèges setuid non-root" + +#: xdico/xstream.c:41 +msgid "not enough memory while formatting reply message" +msgstr "pas assez de mémoire pour formater le message de réponse" + +#. TRANSLATORS: +#. Get translations for open and closing quotation marks. +#. The message catalog should translate "`" to a left +#. quotation mark suitable for the locale, and similarly for +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. +#. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. +#. +#. If you don't know what to put here, please see +#. +#. and use glyphs suitable for your language. +#: xdico/gnu/quotearg.c:362 +msgid "`" +msgstr "« " + +#: xdico/gnu/quotearg.c:363 +msgid "'" +msgstr " »" + +#: xdico/gnu/obstack.c:338 xdico/gnu/obstack.c:340 +#: grecs/wordsplit/wordsplit.c:76 grecs/wordsplit/wordsplit.c:2851 +msgid "memory exhausted" +msgstr "mémoire entièrement consommée" + +#: xdico/gnu/getopt.c:278 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous\n" +msgstr "%s: l'option « -W %s » est ambiguë\n" + +#: xdico/gnu/getopt.c:284 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous; possibilities:" +msgstr "%s: l'option « %s » est ambiguë: les possibilités sont:" + +#: xdico/gnu/getopt.c:319 +#, fuzzy, c-format +msgid "%s: unrecognized option '%s%s'\n" +msgstr "%s: l'option « %c%s » n'est pas reconnue\n" + +#: xdico/gnu/getopt.c:345 +#, fuzzy, c-format +msgid "%s: option '%s%s' doesn't allow an argument\n" +msgstr "%s: l'option « %c%s » n'attend aucun argument\n" + +#: xdico/gnu/getopt.c:360 +#, fuzzy, c-format +msgid "%s: option '%s%s' requires an argument\n" +msgstr "%s: l'option « --%s » exige un paramètre\n" + +#: xdico/gnu/getopt.c:621 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: option invalide -- « %c »\n" + +#: xdico/gnu/getopt.c:636 xdico/gnu/getopt.c:682 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: l'option requiert un argument -- «%c»\n" + +#: lib/parseopt.c:116 +#, c-format +msgid "%s: %s: unknown option" +msgstr "%s: %s: option inconnue" + +#: lib/parseopt.c:127 +#, c-format +msgid "%s: %s: %s is not a valid number" +msgstr "%s: %s: %s n'est pas un nombre valable" + +#: lib/parseopt.c:168 +#, c-format +msgid "%s: %s: invalid value %s" +msgstr "%s: %s: valeur %s invalide" + +#: lib/iostr.c:91 +msgid "No error" +msgstr "Pas d'erreur" + +#: dico/shell.c:34 +msgid "WORD" +msgstr "MOT" + +#: dico/shell.c:34 +msgid "Define WORD." +msgstr "Définir MOT." + +#: dico/shell.c:35 +msgid "/WORD" +msgstr "/MOT" + +#: dico/shell.c:35 +msgid "Match WORD." +msgstr "Correspondance avec MOT." + +#: dico/shell.c:36 +msgid "Redisplay previous matches." +msgstr "Réafficher les correspondances précédentes." + +#: dico/shell.c:37 cmdline.opt:131 +msgid "NUMBER" +msgstr "NOMBRE" + +#: dico/shell.c:37 +msgid "Define NUMBERth match." +msgstr "Définir la Nième correspondance." + +#: dico/shell.c:39 +msgid "Edit NUMBERth previous command." +msgstr "Éditer la Nième commande précédente." + +#: dico/shell.c:45 +msgid "[HOST [PORT]]" +msgstr "[HÔTE [PORT]]" + +#: dico/shell.c:46 +msgid "Connect to a DICT server." +msgstr "Connecter un serveur DICT." + +#: dico/shell.c:50 +msgid "Close the connection." +msgstr "Fermer la connexion" + +#: dico/shell.c:53 dico/shell.c:57 +msgid "[NAME]" +msgstr "[NOM]" + +#: dico/shell.c:54 +msgid "Set or display current database name." +msgstr "Choisir ou afficher le nom de la base de données actuelle." + +#: dico/shell.c:58 +msgid "Set or display current strategy." +msgstr "Choisir ou afficher la stratégie actuelle." + +#: dico/shell.c:61 +msgid "[NUM]" +msgstr "[NUM]" + +#: dico/shell.c:62 +msgid "Set or query Levenshtein distance (server-dependent)." +msgstr "Choisir ou afficher la distance de Levenshtein (dépend du serveur)." + +#: dico/shell.c:66 +msgid "List available matching strategies" +msgstr "Afficher la liste des stratégies de correspondances disponibles" + +#: dico/shell.c:70 +msgid "List all accessible databases" +msgstr "Afficher la liste des bases de données accessibles" + +#: dico/shell.c:73 +msgid "[DB]" +msgstr "[BD]" + +#: dico/shell.c:74 +msgid "Display the information about the database." +msgstr "Afficher les informations à propos de la base de données." + +#: dico/shell.c:77 +msgid "[CHAR]" +msgstr "[CAR]" + +#: dico/shell.c:78 +msgid "Set or display command prefix." +msgstr "Choisir ou afficher le préfixe des commandes." + +#: dico/shell.c:81 dico/shell.c:101 +msgid "[BOOL]" +msgstr "[BOOL]" + +#: dico/shell.c:82 +msgid "Set or display session transcript mode." +msgstr "Choisir ou afficher le mode de transcription de session." + +#: dico/shell.c:85 +msgid "[NUMBER]" +msgstr "[NOMBRE]" + +#: dico/shell.c:86 +msgid "Set or display verbosity level." +msgstr "Choisir ou afficher le niveau de verbosité." + +#: dico/shell.c:89 dico/shell.c:93 cmdline.opt:158 cmdline.opt:170 +msgid "STRING" +msgstr "CHAÎNE" + +#: dico/shell.c:90 +msgid "Change command line prompt." +msgstr "Changer l'invite de la ligne de commande." + +#: dico/shell.c:94 +msgid "Change or display pager settings." +msgstr "Changer ou afficher les paramètres du pager." + +#: dico/shell.c:97 +msgid "[FILE]" +msgstr "[FICHIER]" + +#: dico/shell.c:98 +msgid "Set or display autologin file name." +msgstr "" +"Choisir ou afficher le nom du fichier pour l'auto identification (autologin)." + +#: dico/shell.c:102 +msgid "Enable SASL authentication." +msgstr "Activer l'authentification SASL." + +#: dico/shell.c:107 +msgid "Display command history." +msgstr "Afficher l'historique des commandes" + +#: dico/shell.c:112 +msgid "Display this help text." +msgstr "Afficher ce message d'aide." + +#: dico/shell.c:116 +msgid "Print program version." +msgstr "Afficher la version du programme." + +#: dico/shell.c:120 +msgid "Print copyright statement." +msgstr "Afficher le message de copyright." + +#: dico/shell.c:128 +msgid "Quit the shell." +msgstr "Quitter le shell." + +#: dico/shell.c:149 +#, c-format +msgid "Command prefix is %c\n" +msgstr "Le préfixe des commandes est %c\n" + +#: dico/shell.c:151 +msgid "Expected a single punctuation character" +msgstr "Un seul caractère de ponctuation attendu" + +#: dico/shell.c:229 +msgid "warning: " +msgstr "avertissement: " + +#: dico/shell.c:342 +msgid "unknown command" +msgstr "commande inconnue" + +#: dico/shell.c:352 +msgid "not enough arguments" +msgstr "pas assez d'arguments" + +#: dico/shell.c:355 dicod/main.c:170 dicod/main.c:232 dicod/main.c:584 +#: dicod/main.c:793 +msgid "too many arguments" +msgstr "trop d'arguments" + +#: dico/shell.c:398 +#, c-format +msgid "Cannot open init file %s" +msgstr "Le fichier init %s n'a pas été trouvé" + +#: dico/connect.c:89 dico/connect.c:404 +msgid "No reply from server" +msgstr "Pas de réponse du serveur" + +#: dico/connect.c:110 +msgid "Attempting APOP authentication\n" +msgstr "Tentative d'authentification APOP\n" + +#: dico/connect.c:117 dico/saslauth.c:338 +msgid "Not enough credentials for authentication" +msgstr "Pas assez de référence pour l'authentification" + +#: dico/connect.c:121 dico/saslauth.c:343 +msgid "Skipping authentication\n" +msgstr "Passe outre l'authentification\n" + +#: dico/connect.c:204 +msgid "Obtained authentication credentials from the command line\n" +msgstr "" +"Les références d'authentification ont été obtenues via la ligne de commande\n" + +#: dico/connect.c:211 +#, c-format +msgid "File %s does not exist" +msgstr "Le fichier %s n'existe pas" + +#: dico/connect.c:228 +msgid "Password:" +msgstr "Mot de passe:" + +#: dico/connect.c:244 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot get stream transport" +msgstr "ERREUR INTERNE dans %s:%d: ne peut obtenir le flux de transport" + +#: dico/connect.c:252 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot set stream transport" +msgstr "ERREUR INTERNE dans %s:%d: ne peut choisir le flux de transport" + +#: dico/connect.c:303 +#, c-format +msgid "Connecting to %s\n" +msgstr "Connexion à %s\n" + +#: dico/connect.c:311 +#, c-format +msgid "bad source address: %s" +msgstr "mauvaise adresse source: %s" + +#: dico/connect.c:326 +msgid "can't bind to the source address" +msgstr "impossible de lier l'adresse source" + +#: dico/connect.c:339 +#, c-format +msgid "%s: can't get address: %s" +msgstr "%s: impossible d'obtenir l'adresse: %s" + +#: dico/connect.c:347 grecs/src/tree.c:391 +#, c-format +msgid "%s: UNIX socket name too long" +msgstr "%s: nom de socket UNIX trop long" + +#: dico/connect.c:373 +msgid "cannot create dict socket" +msgstr "ne peut créer la socket dict" + +#: dico/connect.c:383 +#, c-format +msgid "%s: cannot connect" +msgstr "%s: ne peut connecter" + +#: dico/connect.c:394 +#, c-format +msgid "cannot create dict stream: %s" +msgstr "ne peut créer le flux dict: %s" + +#: dico/connect.c:408 +msgid "Invalid reply from server" +msgstr "Réponse invalide du serveur" + +#: dico/connect.c:413 +msgid "Sending client information\n" +msgstr "Envoi des informations client\n" + +#: dico/connect.c:418 +#, c-format +msgid "Unexpected reply to CLIENT command: `%s'" +msgstr "Réponse inattendue à la commande CLIENT: « %s »" + +#: dico/connect.c:424 +msgid "Authentication failed" +msgstr "L'authentification a échouée" + +#: dico/connect.c:497 +#, c-format +msgid "Sending query for word \"%s\" in database \"%s\"\n" +msgstr "Envoi de la demande pour le mot « %s » à la base de données « %s »\n" + +#: dico/connect.c:508 +#, c-format +msgid "Reading %lu definition\n" +msgid_plural "Reading %lu definitions\n" +msgstr[0] "Lecture de %lu définition\n" +msgstr[1] "Lecture de %lu définitions\n" + +#: dico/connect.c:515 +#, c-format +msgid "Unexpected reply in place of definition %lu" +msgstr "Réponse inattendue à la place de la définition %lu" + +#: dico/connect.c:538 +msgid "Setting Levenshtein threshold\n" +msgstr "Changement du seuil Levenshtein\n" + +#: dico/connect.c:544 +msgid "Server rejected XLEV command" +msgstr "Le serveur a rejeté la commande XLEV" + +#: dico/connect.c:545 +#, c-format +msgid "Server reply: %s" +msgstr "Réponse du serveur: %s" + +#: dico/connect.c:548 +#, c-format +msgid "Sending query to match word \"%s\" in database \"%s\", using \"%s\"\n" +msgstr "" +"Envoi de la requête de concordance du mot « %s » vers la base de données " +"« %s » en utilisant « %s »\n" + +#: dico/connect.c:561 +#, c-format +msgid "Reading %lu match\n" +msgid_plural "Reading %lu matches\n" +msgstr[0] "Lecture de %lu correspondance\n" +msgstr[1] "Lecture de %lu correspondances\n" + +#: dico/connect.c:639 +msgid "Not enough data in the result" +msgstr "Pas assez de données dans le résultat" + +#: dico/connect.c:706 +msgid "Freeing unlinked result" +msgstr "Libération des résultats non liés" + +#: dico/dico.c:80 +msgid "extra command line arguments ignored" +msgstr "ignore les arguments surnuméraires de la ligne de commande" + +#: dico/dico.c:88 +msgid "you should give a word to look for or an URL" +msgstr "vous devriez donner un mot à rechercher ou une URL" + +#: dico/dico.c:107 +msgid "Database name not specified" +msgstr "Nom de la base de données non spécifié" + +#: dico/func.c:33 dicod/main.c:1120 +msgid "Expected boolean value" +msgstr "Valeur booléenne attendue" + +#: dico/func.c:67 +#, c-format +msgid "Cannot get listing: %s" +msgstr "Impossible d'obtenir le listing: %s" + +#: dico/func.c:104 dico/func.c:138 +msgid "Please specify server name or IP address" +msgstr "Veuillez spécifier le nom du serveur ou l'adresse IP " + +#: dico/func.c:109 +msgid "Cannot connect to the server" +msgstr "Impossible de se connecter au serveur" + +#: dico/func.c:112 +msgid "Getting list of databases\n" +msgstr "Récupération de la liste des bases de données\n" + +#: dico/func.c:114 +msgid "Getting list of strategies\n" +msgstr "Récupération de la liste des stratégies\n" + +#: dico/func.c:116 +msgid "Finished getting server information\n" +msgstr "Récupération des informations du serveur terminée\n" + +#: dico/func.c:150 +msgid "Nothing to close" +msgstr "Rien à fermer" + +#: dico/func.c:160 +msgid "No autologin file." +msgstr "Pas de fichier d'auto identification (autologin)." + +#: dico/func.c:177 dico/func.c:268 +msgid "on" +msgstr "activé" + +#: dico/func.c:177 dico/func.c:268 +msgid "off" +msgstr "désactivé" + +#: dico/func.c:258 dico/func.c:366 +msgid "invalid number" +msgstr "nombre invalide" + +#: dico/func.c:268 +#, c-format +msgid "transcript is %s\n" +msgstr "transcription est %s\n" + +#: dico/func.c:309 dico/func.c:325 +msgid "No previous match" +msgstr "Pas de correspondance précédente" + +#: dico/func.c:329 +msgid "Invalid match number. Type / to see the matches." +msgstr "" +"Numéro de correspondance invalide. Tapez / pour voir les correspondances." + +#: dico/func.c:344 +#, c-format +msgid "Server does not support XLEV extension" +msgstr "Le serveur ne supporte pas l'extension XLEV" + +#: dico/func.c:350 +#, c-format +msgid "Reported Levenshtein distance:%s\n" +msgstr "Distance de Levenshtein rapportée: %s\n" + +#: dico/func.c:353 +msgid "Cannot query Levenshtein distance. Server responded:" +msgstr "" +"La distance de Levenshtein ne peut pas être interrogée. Le serveur a répondu:" + +#: dico/func.c:358 +#, c-format +msgid "No distance configured\n" +msgstr "Pas de distance configurée\n" + +#: dico/func.c:360 +#, c-format +msgid "Configured Levenshtein distance: %u\n" +msgstr "Distance de Levenshtein configurée: %u\n" + +#: dico/func.c:395 +#, c-format +msgid "" +"Search all of the databases until a match is found,\n" +"and display all matches in that database.\n" +msgstr "" +"Rechercher dans toutes les bases de données jusqu'à ce qu'une correspondance " +"soit\n" +"trouvée et afficher toutes les correspondances dans cette base de données.\n" + +#: dico/func.c:398 +#, c-format +msgid "Search all of the databases and display all matches." +msgstr "" +"Rechercher dans toutes les bases de données et afficher toutes les " +"correspondances." + +#: dico/autologin.c:151 +#, c-format +msgid "Found matching line %d\n" +msgstr "Ligne correspondante %d trouvée\n" + +#: dico/autologin.c:160 +#, c-format +msgid "Found default line %d\n" +msgstr "Ligne par défaut %d trouvée\n" + +#: dico/autologin.c:192 +#, c-format +msgid "Cannot open autologin file %s" +msgstr "Le fichier d'auto identification %s ne peut pas être ouvert" + +#: dico/autologin.c:197 +#, c-format +msgid "Reading autologin file %s...\n" +msgstr "Lecture du fichier d'auto identification %s...\n" + +#: dico/autologin.c:218 +#, c-format +msgid "failed to parse command `%s': %s" +msgstr "échec de l'analyse de la commande « %s »: %s" + +#: dico/autologin.c:229 +#, c-format +msgid "failed to add line marker: %s" +msgstr "échec lors de l'ajout du marqueur de ligne: %s" + +#: dico/autologin.c:251 +msgid "No matching line found\n" +msgstr "Aucune ligne correspondante trouvée\n" + +#: dico/autologin.c:269 +#, c-format +msgid "%s:%d: unknown keyword" +msgstr "%s:%d: mot clé inconnu" + +#: dico/autologin.c:277 +#, c-format +msgid "%s:%d: %s without argument" +msgstr "%s:%d: %s sans argument" + +#: dico/autologin.c:335 +#, c-format +msgid "%s:%d: failed to parse line: %s" +msgstr "%s:%d: échec de l'analyse de la ligne: %s" + +#: cmdline.opt:29 +msgid "Server selection" +msgstr "Sélection du serveur" + +#: cmdline.opt:45 +msgid "SERVER" +msgstr "SERVEUR" + +#: cmdline.opt:45 +msgid "connect to this server" +msgstr "Connecter à ce serveur" + +#: cmdline.opt:51 +msgid "SERVICE" +msgstr "SERVICE" + +#: cmdline.opt:51 +msgid "specify port to connect to" +msgstr "spécifier le port auquel se connecter" + +#: cmdline.opt:57 cmdline.opt:77 cmdline.opt:151 cmdline.opt:164 +msgid "NAME" +msgstr "NOM" + +#: cmdline.opt:57 +msgid "select a database to search" +msgstr "sélectionner une base de données à parcourir" + +#: cmdline.opt:63 +msgid "ADDR" +msgstr "ADR" + +#: cmdline.opt:63 +msgid "set a source address for TCP connections" +msgstr "choisir une adresse source pour les connexions TCP" + +#: cmdline.opt:55 +msgid "Operation modes" +msgstr "Modes d'opération" + +#: cmdline.opt:71 +msgid "match instead of define" +msgstr "faire correspondre au lieu de définir" + +#: cmdline.opt:77 +msgid "select a strategy for matching; implies --match" +msgstr "choisir une stratégie pour la correspondance; implique --match" + +#: cmdline.opt:85 +msgid "N" +msgstr "N" + +#: cmdline.opt:85 +msgid "set maximum Levenshtein distance" +msgstr "fixer la distance de Levenshtein maximum" + +#: cmdline.opt:94 +msgid "show available databases" +msgstr "montrer les bases de données disponibles" + +#: cmdline.opt:100 +msgid "show available search strategies" +msgstr "montrer les stratégies de recherche disponibles" + +#: cmdline.opt:106 +msgid "show server help" +msgstr "montrer l'aide du serveur" + +#: cmdline.opt:112 +msgid "DBNAME" +msgstr "NOMDB" + +#: cmdline.opt:112 +msgid "show information about database DBNAME" +msgstr "montrer les informations à propos de la base de données NOMDB" + +#: cmdline.opt:119 +msgid "show information about the server" +msgstr "montrer les informations à propos du serveur" + +#: cmdline.opt:125 +msgid "do not print the normal dico welcome" +msgstr "ne pas afficher le message de bienvenue normal de dico" + +#: cmdline.opt:117 +msgid "Authentication" +msgstr "Authentification" + +#: cmdline.opt:133 +msgid "disable authentication" +msgstr "désactiver l'authentification" + +#: cmdline.opt:139 +msgid "enable SASL authentication (default)" +msgstr "activer l'authentification SASL (par défaut)" + +#: cmdline.opt:145 +msgid "disable SASL authentication" +msgstr "désactiver l'authentification SASL" + +#: cmdline.opt:151 +msgid "set user name for authentication" +msgstr "choisir le nom d'utilisateur pour l'authentification" + +#: cmdline.opt:158 +msgid "set shared secret for authentication" +msgstr "choisir le secret partagé pour l'authentification" + +#: cmdline.opt:164 +msgid "set the name of autologin file to use" +msgstr "choisir le nom du fichier d'auto identification à utiliser" + +#: cmdline.opt:170 +msgid "additional text for client command" +msgstr "texte supplémentaire pour la commande du client" + +#: cmdline.opt:162 cmdline.opt:103 +msgid "Debugging" +msgstr "Débug" + +#: cmdline.opt:177 cmdline.opt:119 +msgid "enable session transcript" +msgstr "activer la transcription de session" + +#: cmdline.opt:183 +msgid "increase debugging verbosity level" +msgstr "accroître le niveau de verbosité de débogage" + +#: cmdline.opt:189 +msgid "include time stamp in the debugging output" +msgstr "inclure un horodatage dans la sortie de débogage" + +#: cmdline.opt:196 cmdline.opt:138 +msgid "include source line information in the debugging output" +msgstr "" +"inclure les informations sur la ligne source dans la sortie de débogage" + +#: cmdline.opt:188 +msgid "Other options" +msgstr "Autres options" + +#: cmdline.opt:200 +msgid "Give this help list" +msgstr "Donner cette liste d'aide" + +#: cmdline.opt:200 +msgid "Give a short usage message" +msgstr "Donner une courte notice d'utilisation" + +#: cmdline.opt:200 +msgid "Print program version" +msgstr "Afficher la version du programme" + +#: cmdline.opt:37 +msgid "GNU dictionary client program" +msgstr "Programme client de dictionnaire GNU" + +#: cmdline.opt:39 +msgid "[URL-or-WORD]" +msgstr "[URL-ou-MOT]" + +#: cmdline.opt:81 +#, c-format +msgid "%s: invalid number" +msgstr "%s: nombre invalide" + +#: cmdline.opt:230 +msgid "Type ? for help summary" +msgstr "Tapez ? pour le résumé d'aide" + +#: dico/lookup.c:23 +msgid "No match" +msgstr "Pas de concordance" + +#: dico/lookup.c:65 dico/lookup.c:175 +#, c-format +msgid "From %s, %s:\n" +msgstr "De %s, %s:\n" + +#: dico/lookup.c:137 +msgid "(no description available)" +msgstr "(pas de description disponible)" + +#: dico/lookup.c:209 +#, c-format +msgid "%s:%d: INTERNAL ERROR: unexpected request type" +msgstr "%s:%d: ERREUR INTERNE: type de requête inattendu" + +#: dico/lookup.c:229 dico/lookup.c:296 +msgid "Server name or IP not specified" +msgstr "Nom de serveur ou IP non spécifié" + +#: dico/lookup.c:238 +msgid "Quitting\n" +msgstr "Quitte\n" + +#: dico/saslauth.c:39 dicod/gsasl.c:370 +#, c-format +msgid "cannot get list of available SASL mechanisms: %s" +msgstr "impossible de lister les mécanismes SASL disponibles: %s" + +#: dico/saslauth.c:110 +#, c-format +msgid "Unknown callback property %d" +msgstr "Propriété de rappel %d inconnue" + +#: dico/saslauth.c:121 dico/saslauth.c:127 +msgid "GSASL handshake aborted" +msgstr "Négociation GSASL interrompue" + +#: dico/saslauth.c:168 +#, c-format +msgid "GSASL handshake aborted: unexpected reply: %s" +msgstr "Négociation GSASL interrompue: réponse inattendue: %s" + +#: dico/saslauth.c:186 dicod/gsasl.c:148 +#, c-format +msgid "GSASL error: %s" +msgstr "Erreur GSASL: %s" + +#: dico/saslauth.c:233 +msgid "Initializing SASL\n" +msgstr "Initialisation de SASL\n" + +#: dico/saslauth.c:236 +#, c-format +msgid "Cannot initialize libgsasl: %s" +msgstr "Impossible d'initialiser libgsasl: %s" + +#: dico/saslauth.c:281 +msgid "Trying SASL\n" +msgstr "Tentative SASL\n" + +#: dico/saslauth.c:291 +msgid "No suitable SASL mechanism found" +msgstr "Aucun mécanisme SASL convenable disponible" + +#: dico/saslauth.c:300 +#, c-format +msgid "Selected authentication mechanism %s" +msgstr "Mécanisme d'authentification sélectionné: %s" + +#: dico/saslauth.c:310 +msgid "SASL authentication succeeded" +msgstr "Authentification SASL réussie" + +#: dico/saslauth.c:311 +msgid "SASL authentication failed" +msgstr "Authentification SASL ratée" + +#: dico/saslauth.c:374 +msgid "Dico compiled without SASL support" +msgstr "Dico compilé sans support pour SASL" + +#: dicod/regex.c:46 +#, c-format +msgid "Regex error: %s" +msgstr "Erreur regex: %s" + +#: dicod/dicod.c:119 dicod/dicod.c:137 dicod/main.c:1572 +#, c-format +msgid "removing database %s" +msgstr "retire la base de données %s" + +#: dicod/dicod.c:153 +#, c-format +msgid "error closing database %s" +msgstr "erreur lors de la fermeture de la base de données %s" + +#: dicod/dicod.c:291 +#, c-format +msgid "error freeing database %s" +msgstr "erreur lors de la libération de la base de données %s" + +#: dicod/dicod.c:345 +msgid "connection from" +msgstr "connection depuis" + +#: dicod/dicod.c:364 +msgid "session finished:" +msgstr "session terminée:" + +#: dicod/acl.c:69 +msgid "expected string" +msgstr "chaîne attendue" + +#: dicod/acl.c:116 +msgid "expected string but found list" +msgstr "chaîne attendue mais liste trouvée" + +#: dicod/acl.c:129 +#, c-format +msgid "socket name too long: `%s'" +msgstr "nom de socket trop long: « %s »" + +#: dicod/acl.c:157 +msgid "expected `from', but found list" +msgstr "« from » attendu mais une liste a été trouvée" + +#: dicod/acl.c:160 +#, c-format +msgid "expected `from', but found `%s'" +msgstr "« from » attendu mais a trouvé « %s »" + +#: dicod/acl.c:169 +msgid "unexpected end of statement after `from'" +msgstr "fin d'instruction inattendue après « from »" + +#: dicod/acl.c:195 +msgid "junk after `from' list" +msgstr "rebut après la liste « from »" + +#: dicod/acl.c:211 +msgid "expected ACL name, but found end of statement" +msgstr "nom ACL attendu mais la fin de l'instruction a été rencontrée" + +#: dicod/acl.c:217 +msgid "expected string, but found list" +msgstr "chaîne attendue mais une liste a été trouvée" + +#: dicod/acl.c:224 +#, c-format +msgid "ACL not defined: `%s'" +msgstr "ACL non définie: « %s »" + +#: dicod/acl.c:242 +msgid "expected group list, but found end of statement" +msgstr "liste de groupe attendue mais fin d'instruction trouvée" + +#: dicod/acl.c:255 +msgid "expected group list, but found array" +msgstr "liste de groupe attendue mais tableau trouvé" + +#: dicod/acl.c:268 +msgid "expected string value" +msgstr "valeur chaîne attendue" + +#: dicod/acl.c:290 +#, c-format +msgid "unknown word `%s'" +msgstr "mot inconnu « %s »" + +#: dicod/acl.c:302 +msgid "unexpected list" +msgstr "liste inattendue" + +#. TRANSLATORS: `MATCHES' is the verb `match' in 2nd person. +#. E.g., in French: CONCORD AVEC +#: dicod/acl.c:400 +msgid "MATCHES" +msgstr "CORRESPONDANCES" + +#: dicod/acl.c:400 +msgid "does not match" +msgstr "ne correspond pas" + +#: dicod/dbtext.c:28 +#, c-format +msgid "cannot get path from URL `%s'" +msgstr "ne peut obtenir le chemin de l'URL « %s »" + +#: dicod/dbtext.c:33 +#, c-format +msgid "cannot stat directory `%s'" +msgstr "impossible d'exécuter « stat » sur le répertoire « %s »" + +#: dicod/dbtext.c:39 +#, c-format +msgid "%s: not a directory" +msgstr "%s: pas un répertoire" + +#: dicod/dbtext.c:55 +#, c-format +msgid "cannot open file `%s'" +msgstr "impossible d'ouvrir le fichier « %s »" + +#: dicod/auth.c:46 dicod/gsasl.c:190 +msgid "failed to open user database" +msgstr "échec à l'ouverture de la base de données de l'utilisateur" + +#: dicod/auth.c:51 dicod/gsasl.c:240 dicod/gsasl.c:276 +#, c-format +msgid "failed to get password for `%s' from the database" +msgstr "" +"échec de récupération du mot de passe pour « %s » dans la base de données" + +#: dicod/auth.c:55 +#, c-format +msgid "no such user `%s'" +msgstr "pas d'utilisateur « %s »" + +#: dicod/auth.c:61 +#, c-format +msgid "authentication failed for `%s'" +msgstr "l'authentification a échoué pour « %s »" + +#: dicod/main.c:161 +msgid "list element must be a string" +msgstr "la liste des éléments doit être une chaîne" + +#: dicod/main.c:215 +msgid "list element must be a socket specification" +msgstr "la liste des éléments doit être une spécification de socket" + +#: dicod/main.c:248 dicod/main.c:264 dicod/main.c:332 dicod/main.c:358 +#: dicod/main.c:407 dicod/main.c:460 dicod/main.c:503 dicod/main.c:665 +#: dicod/main.c:721 dicod/main.c:742 dicod/main.c:786 dicod/main.c:977 +#: dicod/main.c:1111 dicod/main.c:1150 dicod/main.c:1171 +msgid "Unexpected block statement" +msgstr "Instruction bloc inattendue" + +#: dicod/main.c:284 +msgid "ACL name must be a string" +msgstr "Le nom ACL doit être une chaîne de caractères" + +#: dicod/main.c:286 +msgid "missing ACL name" +msgstr "nom ACL manquant" + +#: dicod/main.c:292 +#, c-format +msgid "redefinition of ACL %s" +msgstr "redéfinition de l'ACL %s" + +#: dicod/main.c:295 +msgid "location of the previous definition" +msgstr "emplacement de la définition précédente" + +#: dicod/main.c:311 dicod/main.c:315 +msgid "[all|authenticated|group ] [from ]" +msgstr "[all|authenticated|group ] [from ]" + +#: dicod/main.c:312 +msgid "Allow access" +msgstr "Autoriser l'accès" + +#: dicod/main.c:316 +msgid "Deny access" +msgstr "Interdire l'accès" + +#: dicod/main.c:336 dicod/main.c:747 dicod/main.c:822 +msgid "expected scalar value" +msgstr "valeur scalaire attendue" + +#: dicod/main.c:340 +#, c-format +msgid "no such ACL: `%s'" +msgstr "pas d'ACL: « %s »" + +#: dicod/main.c:363 dicod/main.c:465 dicod/main.c:507 dicod/main.c:670 +msgid "expected scalar value but found list" +msgstr "valeur scalaire attendue mais liste trouvée" + +#: dicod/main.c:371 +#, c-format +msgid "not a valid UID number: %s" +msgstr "pas un nombre UID valable: %s" + +#: dicod/main.c:378 +#, c-format +msgid "%s: no such user" +msgstr "%s: utilisateur inconnu" + +#: dicod/main.c:426 +#, c-format +msgid "not a valid GID number: %s" +msgstr "pas un nombre GID valable: %s" + +#: dicod/main.c:433 +#, c-format +msgid "%s: unknown group" +msgstr "%s: groupe inconnu" + +#: dicod/main.c:469 +msgid "unknown mode" +msgstr "mode inconnu" + +#: dicod/main.c:514 +msgid "unknown syslog facility" +msgstr "utilitaire syslog inconnu" + +#: dicod/main.c:533 dicod/main.c:559 +msgid "tag must be a string" +msgstr "l'étiquette doit être une chaîne" + +#: dicod/main.c:535 dicod/main.c:561 +msgid "missing tag" +msgstr "étiquette manquante" + +#: dicod/main.c:624 +msgid "database name not supplied" +msgstr "nom de base de données manquant" + +#: dicod/main.c:630 +msgid "no handler defined for the database" +msgstr "pas de gestionnaire défini pour la base de données" + +#: dicod/main.c:648 grecs/src/tree.c:665 +msgid "invalid use of block statement" +msgstr "mauvaise utilisation d'une instruction bloc" + +#: dicod/main.c:675 dicod/loader.c:120 +#, c-format +msgid "cannot parse command line `%s': %s" +msgstr "impossible d'analyser la ligne de commande « %s »: %s" + +#: dicod/main.c:691 +#, c-format +msgid "%s: handler not declared" +msgstr "%s: gestionnaire non déclaré" + +#: dicod/main.c:727 +#, c-format +msgid "unknown capability: %s" +msgstr "capacité inconnue: %s" + +#: dicod/main.c:752 +#, c-format +msgid "cannot parse headers: %s" +msgstr "les en-têtes ne peuvent pas être analysés: %s" + +#: dicod/main.c:759 +#, c-format +msgid "unknown encoding type: %s" +msgstr "type d'encodage inconnu: %s" + +#: dicod/main.c:766 dicod/main.c:840 dicod/main.c:844 dicod/main.c:849 +#: dicod/main.c:853 dicod/main.c:896 dicod/main.c:899 dicod/main.c:903 +#: dicod/main.c:1029 dicod/main.c:1318 dicod/main.c:1327 dicod/main.c:1330 +#: dicod/main.c:1332 dicod/main.c:1337 dicod/main.c:1346 dicod/main.c:1368 +#: dicod/main.c:1383 grecs/src/format.c:141 +msgid "arg" +msgstr "arg" + +#: dicod/main.c:766 +msgid "Command line." +msgstr "Ligne de commande." + +#: dicod/main.c:798 +msgid "first argument must be string" +msgstr "le premier argument doit être une chaîne" + +#: dicod/main.c:804 +msgid "second argument must be string" +msgstr "le deuxième argument doit être une chaîne" + +#: dicod/main.c:812 +msgid "condition must be mime or nomime" +msgstr "la condition doit être mime ou nomime" + +#: dicod/main.c:837 +msgid "word" +msgstr "mot" + +#: dicod/main.c:837 +msgid "Dictionary name (a single word)." +msgstr "Nom du dictionnaire (un seul mot)." + +#: dicod/main.c:841 +msgid "Short description, to be shown in reply to SHOW DB command." +msgstr "Description courte, à montrer en réponse à la commande SHOW DB." + +#: dicod/main.c:845 +msgid "" +"Full description of the database, to be shown in reply to SHOW INFO command." +msgstr "" +"Description complète de la base de données, à montrer en réponse à la " +"commande SHOW INFO." + +#: dicod/main.c:850 +msgid "List of languages this database translates from." +msgstr "Liste des langues sources que cette base de données traduit." + +#: dicod/main.c:854 +msgid "List of languages this database translates to." +msgstr "Liste des langues cibles que cette base de données traduit." + +#: dicod/main.c:857 dicod/main.c:1023 dicod/main.c:1026 dicod/main.c:1302 +#: dicod/main.c:1305 dicod/main.c:1324 dicod/main.c:1343 dicod/main.c:1348 +#: dicod/main.c:1366 dicod/main.c:1380 +msgid "name" +msgstr "nom" + +#: dicod/main.c:857 +msgid "Name of the handler for this database." +msgstr "Nom du gestionnaire de cette base de données." + +#: dicod/main.c:860 dicod/main.c:1315 dicod/main.c:1387 dicod/main.c:1390 +msgid "arg: acl" +msgstr "arg: acl" + +#: dicod/main.c:861 +msgid "ACL controlling visibility of this database" +msgstr "ACL contrôlant la visibilité de cette base de données" + +#: dicod/main.c:864 dicod/main.c:1312 dicod/main.c:1359 dicod/main.c:1362 +msgid "text" +msgstr "texte" + +#: dicod/main.c:865 +msgid "Additional MIME headers" +msgstr "En-têtes MIME additionnels" + +#: dicod/main.c:869 +msgid "bool" +msgstr "bool" + +#: dicod/main.c:870 +msgid "Set database visibility" +msgstr "Définir la visibilité de la base de données" + +#: dicod/main.c:873 +msgid " [mime|nomime]" +msgstr " [mime|nomime]" + +#: dicod/main.c:874 +msgid "" +"For virtual database only: name of the member database. Optional mime|nomime " +"specifies the condition under which the database is to be used." +msgstr "" +"Uniquement pour une base de données virtuelle: nom de la base de données " +"membre. Le mime|nomime optionnel spécifie la condition sous laquelle la base " +"de données doit être utilisée." + +#: dicod/main.c:896 +msgid "Password file or query." +msgstr "Fichier mot de passe ou requête." + +#: dicod/main.c:900 +msgid "File containing user group information or a query to retrieve it." +msgstr "" +"Fichier contenant les informations sur les groupes d'utilisateurs ou une " +"requête pour les récupérer." + +#: dicod/main.c:904 +msgid "Implementation-dependent options" +msgstr "Options dépendantes de l'implémentation" + +#: dicod/main.c:926 dicod/main.c:942 +msgid "URL must be a string" +msgstr "URL doit être une chaîne" + +#: dicod/main.c:928 dicod/main.c:944 +msgid "empty URL" +msgstr "URL vide" + +#: dicod/main.c:959 +msgid "cannot create user database" +msgstr "ne peut créer la base de données utilisateur" + +#: dicod/main.c:981 +msgid "Not enough arguments for alias" +msgstr "Pas assez d'arguments pour l'alias" + +#: dicod/main.c:988 +#, c-format +msgid "argument %d has wrong type" +msgstr "l'argument %d est du mauvais type" + +#: dicod/main.c:1008 +msgid "expected boolean value but found list" +msgstr "booléen attendu mais liste trouvée" + +#: dicod/main.c:1017 dicod/main.c:1020 +msgid "mech: list" +msgstr "mech: liste" + +#: dicod/main.c:1018 +msgid "Disable SASL mechanisms listed in ." +msgstr "Désactiver les mécanismes SASL listés dans ." + +#: dicod/main.c:1021 +msgid "Enable SASL mechanisms listed in ." +msgstr "Activer les mécanismes SASL listés dans ." + +#: dicod/main.c:1024 +msgid "Set service name for GSSAPI and Kerberos." +msgstr "Choisir le nom de service pour GSSAPI et Kerberos." + +#: dicod/main.c:1027 +msgid "Set realm name for GSSAPI and Kerberos." +msgstr "Choisir le nom de royaume pour GSSAPI et Kerberos." + +#: dicod/main.c:1030 +msgid "Define groups for anonymous users." +msgstr "Définir les groupes pour les utilisateurs anonymes." + +#: dicod/main.c:1069 +msgid "Section name must be a string" +msgstr "Le nom de section doit être une chaîne" + +#: dicod/main.c:1071 +msgid "missing section name" +msgstr "nom de section manquant" + +#: dicod/main.c:1096 +msgid "Unexpected statement" +msgstr "Instruction inattendue" + +#: dicod/main.c:1133 +msgid "Expected string value" +msgstr "Chaîne attendue" + +#: dicod/main.c:1159 +msgid "expected list or string" +msgstr "liste ou chaîne attendue" + +#: dicod/main.c:1182 +msgid "Expected number" +msgstr "Nombre attendu" + +#: dicod/main.c:1253 +msgid "arg: bool" +msgstr "arg: bool" + +#: dicod/main.c:1253 +msgid "Deny all * and ! look ups" +msgstr "Interdire toutes les recherches * et !" + +#: dicod/main.c:1257 +msgid "cond" +msgstr "cond" + +#: dicod/main.c:1257 +msgid "Deny * and ! look-ups on these words." +msgstr "Interdire les recherches * et ! sur ces mots." + +#: dicod/main.c:1262 dicod/main.c:1268 dicod/main.c:1274 dicod/main.c:1280 +#: dicod/main.c:1286 dicod/main.c:1292 +msgid "len: number" +msgstr "len: nombre" + +#: dicod/main.c:1263 +msgid "Deny * and ! look-ups on words with length < ." +msgstr "Interdire les recherches * et ! sur les mots de longueur < ." + +#: dicod/main.c:1269 +msgid "Deny * and ! look-ups on words with length <= ." +msgstr "Interdire les recherches * et ! sur les mots de longueur <= ." + +#: dicod/main.c:1275 +msgid "Deny * and ! look-ups on words with length > ." +msgstr "Interdire les recherches * et ! sur les mots de longueur > ." + +#: dicod/main.c:1281 +msgid "Deny * and ! look-ups on words with length >= ." +msgstr "Interdire les recherches * et ! sur les mots de longueur >= ." + +#: dicod/main.c:1287 +msgid "Deny * and ! look-ups on words with length == ." +msgstr "Interdire les recherches * et ! sur les mots de longueur == ." + +#: dicod/main.c:1293 +msgid "Deny * and ! look-ups on words with length != ." +msgstr "Interdire les recherches * et ! sur les mots de longueur != ." + +#: dicod/main.c:1302 +msgid "Run with these user privileges." +msgstr "Exécuter avec ces privilèges utilisateur." + +#: dicod/main.c:1306 +msgid "Supplementary group to retain with the user privileges." +msgstr "Group supplémentaire à conserver avec les privilèges utilisateur." + +#: dicod/main.c:1309 +msgid "arg: [daemon|inetd]" +msgstr "arg: [daemon|inetd]" + +#: dicod/main.c:1309 +msgid "Operation mode." +msgstr "Mode de fonctionnement." + +#: dicod/main.c:1313 +msgid "Server description to be shown in reply to SHOW SERVER command." +msgstr "Description du serveur à montrer en réponse à la commande SHOW SERVER." + +#: dicod/main.c:1316 +msgid "Show system information if arg matches." +msgstr "Montrer les informations système si arg concorde." + +#: dicod/main.c:1319 +msgid "Enable identification check using AUTH protocol (RFC 1413)" +msgstr "" +"Activer la vérification de l'identification en utilisant le protocole AUTH " +"(RFC 1413)" + +#: dicod/main.c:1321 +msgid "val" +msgstr "val" + +#: dicod/main.c:1322 +msgid "Set timeout for AUTH I/O operations." +msgstr "Choisir le délai d'attente pour les opérations E/S de AUTH." + +#: dicod/main.c:1325 +msgid "Name of the file containing the keys for decrypting AUTH replies." +msgstr "Nom du fichier contenant les clés pour déchiffrer les réponses AUTH." + +#: dicod/main.c:1328 +msgid "Maximum number of children running simultaneously." +msgstr "Nombre maximum d'enfants s'exécutant simultanément." + +#: dicod/main.c:1330 +msgid "Tag syslog diagnostics with this tag." +msgstr "Étiqueter les diagnostics syslog avec cette étiquette." + +#: dicod/main.c:1333 +msgid "" +"Set syslog facility. Arg is one of the following: user, daemon, auth, " +"authpriv, mail, cron, local0 through local7 (case-insensitive), or a " +"facility number." +msgstr "" +"Choisir l'utilitaire syslog. Arg peut être: user, daemon, auth, authpriv, " +"mail, cron, local0 à local7 (sensible à la casse), ou un numéro d'utilitaire." + +#: dicod/main.c:1338 +msgid "Prefix diagnostics messages with their severity." +msgstr "Préfixer les messages de diagnostic avec leur sévérité." + +#: dicod/main.c:1340 +msgid "fmt" +msgstr "fmt" + +#: dicod/main.c:1341 +msgid "Set format string for access log file." +msgstr "Choisir la chaîne de format pour accéder au fichier journal." + +#: dicod/main.c:1344 +msgid "Set access log file name." +msgstr "Choisir le nom du fichier journal d'accès." + +#: dicod/main.c:1346 +msgid "Log session transcript." +msgstr "Enregistrer la transcription de la session dans le journal." + +#: dicod/main.c:1349 +msgid "Store PID of the master process in this file." +msgstr "Stocker le PID du processus maître dans ce fichier." + +#: dicod/main.c:1351 dicod/main.c:1354 +msgid "seconds" +msgstr "secondes" + +#: dicod/main.c:1352 +msgid "Wait this number of seconds for all children to terminate." +msgstr "Attente ce nombre de secondes que tous les enfants se terminent." + +#: dicod/main.c:1355 +msgid "Set inactivity timeout." +msgstr "Choisir le délai d'attente d'inactivité." + +#: dicod/main.c:1357 +msgid "addr" +msgstr "adr" + +#: dicod/main.c:1357 +msgid "Listen on these addresses." +msgstr "Écouter sur ces adresses." + +#: dicod/main.c:1360 +msgid "Display this text in the initial 220 banner" +msgstr "Afficher ce texte dans la bannière 220 initiale" + +#: dicod/main.c:1363 +msgid "" +"Display this text in reply to the HELP command. If text begins with a +, " +"usual command summary is displayed before it." +msgstr "" +"Afficher ce texte en réponse à la commande HELP. Si le texte commence par +, " +"le résumé habituel des commandes est affiché en premier." + +#: dicod/main.c:1366 +msgid "Override the host name." +msgstr "Remplacer le nom d'hôte." + +#: dicod/main.c:1368 +msgid "Request additional capabilities." +msgstr "Demander des capacités additionnels." + +#: dicod/main.c:1371 dicod/main.c:1375 +msgid "path" +msgstr "chemin" + +#: dicod/main.c:1372 +msgid "List of directories searched for database modules." +msgstr "Liste des répertoires où chercher des modules de base de données." + +#: dicod/main.c:1376 +msgid "" +"List of directories searched for database modules prior to the default " +"module directory" +msgstr "" +"Liste des répertoires où chercher des modules de base de données avant le " +"répertoire par défaut des modules" + +#: dicod/main.c:1381 +msgid "Set the name of the default matching strategy." +msgstr "Choisir le nom de la stratégie de concordance par défaut." + +#: dicod/main.c:1384 +msgid "Provide timing information after successful completion of an operation." +msgstr "Fournir des informations de minutage après une opération réussie." + +#: dicod/main.c:1388 +msgid "Set ACL to control visibility of all databases." +msgstr "" +"Choisir l'ACL pour contrôler la visibilité de toutes les bases de données." + +#: dicod/main.c:1391 +msgid "Apply this ACL to incoming connections." +msgstr "Appliquer cette ACL aux connections entrantes." + +#: dicod/main.c:1393 +msgid "Define a dictionary database." +msgstr "Définir un dictionnaire de base de données." + +#: dicod/main.c:1397 dicod/main.c:1406 dicod/main.c:1412 dicod/main.c:1419 +msgid "name: string" +msgstr "nom: chaîne" + +#: dicod/main.c:1398 +msgid "" +"Load a module instance.\n" +"If is the same as in command, it can be simplified as:\n" +" load-module ;\n" +"Furthermore, several simplified forms can be combined into one\n" +"by using a list of names as its argument, as in:\n" +" load-module (stratall,word);\n" +msgstr "" +"Charger une instance de module.\n" +"Si est le même que dans la commande, il peut être simplifié:\n" +" load-module ;\n" +"De plus, plusieurs formes simplifiées peuvent être combinées en une\n" +"en utilisant une liste de noms comme argument tel que:\n" +" load-module (stratall,mot);\n" + +#: dicod/main.c:1406 +msgid "Define an ACL." +msgstr "Définir une ACL." + +#: dicod/main.c:1408 +msgid "url: string" +msgstr "url: chaîne" + +#: dicod/main.c:1409 +msgid "Define user database for authentication." +msgstr "Définir la base de données utilisateur pour l'authentification." + +#: dicod/main.c:1412 +msgid "Define a command alias." +msgstr "Définir un alias de commande." + +#: dicod/main.c:1416 +msgid "Control SASL authentication." +msgstr "Contrôler l'authentification SASL." + +#: dicod/main.c:1420 +msgid "Additional configuration for strategy " +msgstr "Configuration additionnelle pour la stratégie " + +#: dicod/main.c:1459 +msgid "" +"Configuration file structure for dicod.\n" +"For more information, use `info dico configuration'." +msgstr "" +"Structure du fichier de configuration de dicod.\n" +"Pour plus d'informations, utilisez « info dico configuration »." + +#: dicod/main.c:1788 +msgid "unknown strategy" +msgstr "stratégie inconnue" + +#: cmdline.opt:36 +msgid "Select program mode" +msgstr "Sélectionner le mode du programme" + +#: cmdline.opt:51 +msgid "preprocess configuration file and exit" +msgstr "pré-traiter le fichier de configuration et quitter" + +#: cmdline.opt:57 +msgid "check configuration file syntax and exit" +msgstr "vérifier la syntaxe du fichier de configuration et quitter" + +#: cmdline.opt:63 +msgid "inetd mode" +msgstr "mode inetd" + +#: cmdline.opt:69 +msgid "" +"run unit tests for module; subsequent arguments are treated as module name " +"and unit test arguments; the -- marker introduces module initialization " +"arguments" +msgstr "" +"exécuter les tests unitaires pour le module; les arguments suivants sont le " +"nom du module et les arguments du test unitaire; l'indicateur -- marque le " +"début des arguments d'initialisation" + +#: cmdline.opt:63 +msgid "Modifiers" +msgstr "Modificateurs" + +#: cmdline.opt:79 +msgid "FILE" +msgstr "FICHIER" + +#: cmdline.opt:79 +msgid "read this configuration file" +msgstr "lire ce fichier de configuration" + +#: cmdline.opt:85 +msgid "operate in foreground" +msgstr "fonctionner à l'avant plan" + +#: cmdline.opt:91 +msgid "output diagnostic to stderr" +msgstr "envoyer le diagnostic vers stderr" + +#: cmdline.opt:97 +msgid "output diagnostic to syslog (default)" +msgstr "envoyer le diagnostic vers syslog (par défaut)" + +#: cmdline.opt:103 +msgid "single-process mode" +msgstr "mode uni-processus" + +#: cmdline.opt:109 cmdline.opt:179 +msgid "DIR" +msgstr "RÉP" + +#: cmdline.opt:109 +msgid "prepend DIR to the module load path" +msgstr "préfixer RÉP au chemin pour charger le module" + +#: cmdline.opt:125 +msgid "disable session transcript" +msgstr "désactiver la transcription de la session" + +#: cmdline.opt:131 +msgid "set debug verbosity level" +msgstr "choisir le niveau de verbosité de débogage" + +#: cmdline.opt:144 +msgid "trace parsing of configuration file" +msgstr "détailler l'analyse du fichier de configuration" + +#: cmdline.opt:150 +msgid "trace config file lexer" +msgstr "détailler l'analyse lexicographique du fichier de configuration" + +#: cmdline.opt:142 +msgid "Additional help" +msgstr "Aide additionnelle" + +#: cmdline.opt:158 +msgid "show configuration file summary" +msgstr "afficher le résumé du fichier de configuration" + +#: cmdline.opt:151 +msgid "Preprocessor control" +msgstr "Contrôle du pré-processeur" + +#: cmdline.opt:167 +msgid "PROG" +msgstr "PROG" + +#: cmdline.opt:167 +msgid "use PROG as a preprocessor for config file" +msgstr "utiliser PROG pour pré-traiter le fichier de configuration" + +#: cmdline.opt:173 +msgid "do not use external preprocessor" +msgstr "ne pas utiliser de pré-processeur externe" + +#: cmdline.opt:179 +msgid "" +"add the directory DIR to the list of directories to be searched for " +"preprocessor include files" +msgstr "" +"ajouter le répertoire RÉP à la liste des répertoires à parcourir pour des " +"fichiers du pré-processeur à inclure" + +#: cmdline.opt:185 +msgid "SYMBOL[=VALUE]" +msgstr "SYMBOLE[=VALEUR]" + +#: cmdline.opt:185 +msgid "define a preprocessor symbol" +msgstr "définir le symbole du pré-processeur" + +#: cmdline.opt:43 +msgid "GNU dictionary server" +msgstr "Serveur de dictionnaire GNU" + +#: dicod/loader.c:38 +#, c-format +msgid "%s: faulty module: (%s) failed" +msgstr "%s: module défectueux: (%s) a échoué" + +#: dicod/loader.c:67 +#, c-format +msgid "%s: initialization failed" +msgstr "%s: l'initialisation a échoué" + +#: dicod/loader.c:83 +#, c-format +msgid "module %s already loaded" +msgstr "module %s déjà chargé" + +#: dicod/loader.c:96 +#, c-format +msgid "cannot load module %s: %s" +msgstr "ne peut charger le module %s: %s" + +#: dicod/loader.c:505 +msgid "no module name" +msgstr "pas de nom de module" + +#: dicod/loader.c:524 +msgid "module does not define dico_run_test function" +msgstr "le module ne défini pas la fonction dico_run_test" + +#: dicod/alias.c:68 +#, c-format +msgid "alias `%s' already defined" +msgstr "alias « %s » déjà défini" + +#: dicod/alias.c:70 +msgid "this is the location of the previous definition" +msgstr "voici l'emplacement de la définition précédente" + +#: dicod/server.c:103 +#, c-format +msgid "file %s exists but cannot be stat'd" +msgstr "le fichier %s existe mais ne peut être « staté »" + +#: dicod/server.c:110 +#, c-format +msgid "file %s is not a socket" +msgstr "le fichier %s n'est pas une socket" + +#: dicod/server.c:116 +#, c-format +msgid "cannot unlink file %s" +msgstr "ne peut supprimer (unlink) le fichier %s" + +#: dicod/server.c:131 +#, c-format +msgid "unsupported address family: %d" +msgstr "famille d'adresses non supportée: %d" + +#: dicod/server.c:163 +msgid "No sockets opened" +msgstr "Aucune socket ouverte" + +#: dicod/server.c:206 +#, c-format +msgid "%lu exited successfully" +msgstr "%lu s'est terminé avec succès" + +#: dicod/server.c:211 +#, c-format +msgid "%lu timed out" +msgstr "%lu a dépassé le délai d'attente" + +#: dicod/server.c:216 +#, c-format +msgid "%lu failed with status %d" +msgstr "%lu a échoué avec le statut %d" + +#: dicod/server.c:227 +#, c-format +msgid "%lu terminated on signal %d" +msgstr "%lu terminé par le signal %d" + +#: dicod/server.c:230 +#, c-format +msgid "%lu stopped on signal %d" +msgstr "%lu arrêté par le signal %d" + +#: dicod/server.c:234 +#, c-format +msgid "%lu dumped core" +msgstr "%lu a déchargé son empreinte mémoire" + +#: dicod/server.c:237 +#, c-format +msgid "%lu terminated with unrecognized status" +msgstr "%lu s'est terminé avec un statut non identifié" + +#: dicod/server.c:305 +#, c-format +msgid "Cannot open pidfile `%s'" +msgstr "Impossible d'ouvrir le fichier pid « %s »" + +#: dicod/server.c:308 +#, c-format +msgid "Cannot get pid from pidfile `%s'" +msgstr "Impossible de récupérer le pid du fichier « %s »" + +#: dicod/server.c:314 +#, c-format +msgid "%s appears to run with pid %lu. If it does not, remove `%s' and retry." +msgstr "" +"%s semble s'exécuter avec le pid %lu. Si ce n'est pas le cas, effacez « %s » " +"et essayez à nouveau." + +#: dicod/server.c:324 dicod/server.c:343 +#, c-format +msgid "Cannot unlink pidfile `%s'" +msgstr "Ne peut supprimer le fichier pid « %s »" + +#: dicod/server.c:334 +#, c-format +msgid "Cannot create pidfile `%s'" +msgstr "Ne peut créer le fichier pid « %s »" + +#: dicod/server.c:402 +#, c-format +msgid "connection from %s denied" +msgstr "connexion depuis %s refusée" + +#: dicod/server.c:459 +msgid "fork failed" +msgstr "le fork a échoué" + +#: dicod/server.c:475 +msgid "refusing to restart due to errors in configuration file" +msgstr "" +"refuse de redémarrer à cause d'erreurs dans le fichier de configuration" + +#: dicod/server.c:481 +msgid "" +"refusing to restart due to unexpected return status of configuration checker" +msgstr "" +"refuse de redémarrer à cause d'un statut de retour inattendu lors de la " +"validation de la configuration" + +#: dicod/server.c:489 +msgid "" +"refusing to restart: configuration checker did not exit within 5 seconds" +msgstr "" +"redémarrage refusé: la validation de la configuration ne s'est pas terminée " +"en moins de 5 secondes" + +#: dicod/server.c:498 +msgid "waitpid failed" +msgstr "échec de waitpid" + +#: dicod/server.c:499 +msgid "refusing to restart" +msgstr "redémarrage refusé" + +#: dicod/server.c:539 +#, c-format +msgid "too many children (%lu)" +msgstr "trop d'enfants (%lu)" + +#: dicod/server.c:557 +msgid "select error" +msgstr "erreur de select" + +#: dicod/server.c:585 +#, c-format +msgid "%s started" +msgstr "%s démarré" + +#: dicod/server.c:590 +msgid "not running as root: ignoring user/group settings" +msgstr "pas exécuté en tant que root: paramètres utilisateur/groupe ignorés" + +#: dicod/server.c:603 +msgid "dicod started without full file name" +msgstr "dicod démarré sans nom de fichier complet" + +#: dicod/server.c:604 dicod/server.c:608 +msgid "restart (SIGHUP) will not work" +msgstr "redémarrage (SIGHUP) ne fonctionnera pas" + +#: dicod/server.c:607 +msgid "configuration file is not given with a full file name" +msgstr "fichier de configuration sans nom de fichier complet" + +#: dicod/server.c:615 +msgid "Cannot become a daemon" +msgstr "Impossible de devenir un démon" + +#: dicod/server.c:632 +#, c-format +msgid "Exit code = %d, last error status" +msgstr "Code de sortie = %d, dernier statut d'erreur" + +#: dicod/server.c:640 +#, c-format +msgid "%s restarting" +msgstr "%s redémarre" + +#: dicod/server.c:644 +msgid "Cannot restart" +msgstr "Impossible de redémarrer" + +#: dicod/server.c:646 +#, c-format +msgid "%s terminating" +msgstr "%s se termine" + +#: dicod/ident.c:200 +msgid "Incorrect length of IDENT DES packet" +msgstr "Longueur du paquet IDENT DES incorrecte" + +#: dicod/ident.c:207 +#, c-format +msgid "Cannot open file %s" +msgstr "Ne peut ouvrir le fichier %s" + +#: dicod/ident.c:388 +msgid "cannot create socket for AUTH identification" +msgstr "ne peut créer la socket pour l'authentification AUTH" + +#: dicod/ident.c:400 +msgid "cannot bind AUTH socket" +msgstr "ne peut se connecter à la socket AUTH" + +#: dicod/ident.c:413 dicod/ident.c:464 +#, c-format +msgid "cannot connect to AUTH server %s" +msgstr "ne peut connecter le serveur AUTH %s" + +#: dicod/ident.c:437 +#, c-format +msgid "Malformed IDENT response: `%s', from %s" +msgstr "Réponse IDENT mal formée: « %s » de %s" + +#: dicod/ident.c:442 +msgid "" +"Keyfile for AUTH responses not specified in config; use `ident-keyfile FILE'" +msgstr "" +"Config sans Keyfile pour les réponses AUTH: utilisez « ident-keyfile " +"FICHIER »" + +#: dicod/ident.c:458 +#, c-format +msgid "failure while communicating with AUTH server %s" +msgstr "échec lors de la communication avec le serveur AUTH %s" + +#: dicod/ident.c:469 +#, c-format +msgid "no reply from AUTH server %s" +msgstr "pas de réponse du serveur AUTH %s" + +#: dicod/ident.c:475 +#, c-format +msgid "I/O error while communicating with AUTH server %s" +msgstr "erreur E/S lors de la communication avec le serveur AUTH %s" + +#: dicod/accesslog.c:487 +#, c-format +msgid "log format error (near char %td): missing terminating `}'" +msgstr "" +"erreur de format de journal (près du caract. %td): « } » de fin manquant" + +#: dicod/accesslog.c:502 +#, c-format +msgid "log format error (near char %td): unknown format char `%c'" +msgstr "" +"erreur de format de journal (près du caract. %td): caractère de format " +"« %c » inconnu" + +#: dicod/accesslog.c:510 +#, c-format +msgid "" +"log format warning (near char %td): format char `%c' does not take arguments" +msgstr "" +"avertissement de format de journal (près du caract. %td): le caractère de " +"format « %c » ne prend pas d'argument" + +#: dicod/accesslog.c:553 +#, c-format +msgid "cannot open access log file `%s'" +msgstr "impossible d'ouvrir le fichier journal d'accès « %s »" + +#: dicod/gsasl.c:84 +#, c-format +msgid "Unexpected input instead of SASLRESP command: %s" +msgstr "Entrée inattendue au lieu de la commande SASLRESP: %s" + +#: dicod/gsasl.c:123 +#, c-format +msgid "SASL gsasl_server_start: %s" +msgstr "SASL gsasl_server_start: %s" + +#: dicod/gsasl.c:163 +#, c-format +msgid "GSASL %s: cannot get username" +msgstr "GSASL %s: ne peut obtenir le nom d'utilisateur" + +#: dicod/gsasl.c:269 +msgid "user name not supplied" +msgstr "nom d'utilisateur non fourni" + +#: dicod/gsasl.c:333 +#, c-format +msgid "cannot initialize libgsasl: %s" +msgstr "impossible d'initialiser libgsasl: %s" + +#: modules/dict.org/dictorg.c:83 +#, c-format +msgid "mod_init: cannot stat `%s'" +msgstr "mod_init: ne peut exécuter stat « %s »" + +#: modules/dict.org/dictorg.c:88 +#, c-format +msgid "mod_init: `%s' is not a directory" +msgstr "mod_init: « %s » n'est pas un répertoire" + +#: modules/dict.org/dictorg.c:93 +#, c-format +msgid "mod_init: `%s' is not readable" +msgstr "mod_init: « %s » n'est pas lisible" + +#: modules/dict.org/dictorg.c:248 +#, c-format +msgid "%s:%lu: invalid base64 value: `%.*s'" +msgstr "%s:%lu: value base64 invalide: « %.*s »" + +#: modules/dict.org/dictorg.c:263 +#, c-format +msgid "%s:%lu: malformed entry" +msgstr "%s:%lu: entrée mal formée" + +#: modules/dict.org/dictorg.c:302 +#, c-format +msgid "open_index: cannot stat `%s'" +msgstr "open_index: ne peut exécuter stat « %s »" + +#: modules/dict.org/dictorg.c:306 +#, c-format +msgid "open_index: `%s' is not a regular file" +msgstr "open_index: « %s » n'est pas un fichier normal" + +#: modules/dict.org/dictorg.c:315 modules/dict.org/dictorg.c:412 +#: modules/gcide/gcide.c:316 modules/gcide/gcide.c:725 +#, c-format +msgid "cannot create stream `%s'" +msgstr "ne peut créer le flux « %s »" + +#: modules/dict.org/dictorg.c:321 modules/dict.org/dictorg.c:420 +#: modules/gcide/gcide.c:323 modules/gcide/gcide.c:732 +#, c-format +msgid "cannot open stream `%s': %s" +msgstr "ne peut ouvrir le flux « %s »: %s" + +#: modules/dict.org/dictorg.c:430 +#, c-format +msgid "cannot open stream for dictionary `%s'" +msgstr "ne peut ouvrir le flux pour le dictionnaire « %s »" + +#: modules/dict.org/dictorg.c:458 +#, c-format +msgid "mod_init_db(%s): database name not given" +msgstr "mod_init_db(%s): aucun nom de base de données fourni" + +#: modules/dict.org/dictorg.c:468 +#, c-format +msgid "mod_init_db: `%s' is not an absolute file name" +msgstr "mod_init_db: « %s » n'est pas un nom de fichier absolu" + +#: modules/dict.org/dictorg.c:508 +#, c-format +msgid "mod_init_db(%s): index files in old 8-bit format are not supported" +msgstr "" +"mod_init_db(%s): les fichiers d'index au vieux format 8 bits ne sont pas " +"supportés" + +#: modules/dict.org/dictorg.c:810 modules/dict.org/dictorg.c:993 +#: modules/gcide/gcide.c:756 +#, c-format +msgid "%s: read error: %s" +msgstr "%s: erreur de lecture: %s" + +#: modules/dict.org/dictorg.c:904 +msgid "_match_all: key initialization failed" +msgstr "_match_all: échec de l'initialisation de la clé" + +#: modules/dict.org/dictorg.c:983 +#, c-format +msgid "%s: seek error: %s" +msgstr "%s: erreur de déplacement: %s" + +#: modules/dict.org/dictstr.c:176 +#, c-format +msgid "cannot initialize inflation engine: %s" +msgstr "ne peut initialiser le moteur d'inflation: %s" + +#: modules/dict.org/dictstr.c:198 +#, c-format +msgid "%s:%d: INTERNAL ERROR: inflate did not flush (%d pending, %d avail)" +msgstr "" +"%s:%d: ERREUR INTERNE: l'inflation n'a pas été purgée (%d en attente, %d " +"disponible)" + +#: modules/dict.org/dictstr.c:286 +#, c-format +msgid "%s:%d: INTERNAL ERROR: cannot shut down inflation engine: %s" +msgstr "%s:%d: ERREUR INTERNE: ne peut arrêter le moteur d'inflation: %s" + +#: modules/dict.org/dictstr.c:437 +#, c-format +msgid "file position (%lu) != header length + 1 (%lu)" +msgstr "position dans le fichier (%lu) != longueur en-tête + 1 (%lu)" + +#: modules/dict.org/dictstr.c:475 +msgid "unknown dictionary format" +msgstr "format de dictionnaire inconnu" + +#: modules/dict.org/dictstr.c:478 +msgid "unsupported dictionary format" +msgstr "format de dictionnaire non supporté" + +#: modules/dict.org/dictstr.c:481 +msgid "unsupported dictionary version" +msgstr "version de dictionnaire non supportée" + +#: modules/dict.org/dictstr.c:484 +msgid "malformed header" +msgstr "en-tête mal formé" + +#: modules/dict.org/dictstr.c:487 +msgid "cannot seek on pure gzip format files" +msgstr "déplacement impossible sur un fichier purement gzip" + +#: modules/dict.org/dictstr.c:490 +msgid "error decompressing stream" +msgstr "erreur lors de la décompression du flux" + +#: modules/guile/guile.c:151 +#, c-format +msgid "%s: not enough memory" +msgstr "%s: pas assez de mémoire" + +#: modules/guile/guile.c:164 +#, c-format +msgid "%s: invalid return type" +msgstr "%s: type en retour invalide" + +#: modules/guile/guile.c:184 +#, c-format +msgid "procedure `%s' failed: see error output for details" +msgstr "" +"la procédure « %s » a échouée: plus de détails dans la sortie des erreurs" + +#: modules/guile/guile.c:735 +#, c-format +msgid "%s: %s: unknown virtual function" +msgstr "%s: %s: function virtuelle inconnue" + +#: modules/guile/guile.c:794 +msgid "mod_init: cannot initialize error port" +msgstr "mod_init: initialisation du port d'erreur impossible" + +#: modules/guile/guile.c:802 modules/guile/guile.c:836 +#, c-format +msgid "mod_init: cannot load init script %s" +msgstr "mod_init: chargement du script init %s impossible" + +#: modules/guile/guile.c:862 +#, c-format +msgid "%s: %s: void virtual function" +msgstr "%s: %s: function virtuelle void" + +#: modules/guile/guile.c:1084 +msgid "mod_match: key initialization failed" +msgstr "mod_match: échec d'initialisation de la clé" + +#: modules/outline/outline.c:476 +msgid "outline_open: wrong number of arguments" +msgstr "outline_open: mauvais nombre d'arguments" + +#: modules/outline/outline.c:482 modules/gcide/idxgcide.l:269 +#, c-format +msgid "cannot open file %s" +msgstr "ne peut ouvrir le fichier %s" + +#: modules/outline/outline.c:642 +msgid "outline_lang: not enough memory" +msgstr "outline_lang: pas assez de mémoire" + +#: modules/outline/outline.c:681 +msgid "outline_match_all: not enough memory" +msgstr "outline_match_all: pas assez de mémoire" + +#: modules/outline/outline.c:686 +msgid "outline_match_all: key initialization failed" +msgstr "outline_match_all: échec d'initialisation de la clé" + +#: modules/ldap/ldap.c:60 +#, c-format +msgid "cannot set LBER_OPT_DEBUG_LEVEL %d" +msgstr "ne peut assigner LBER_OPT_DEBUG_LEVEL %d" + +#: modules/ldap/ldap.c:65 +#, c-format +msgid "could not set LDAP_OPT_DEBUG_LEVEL %d" +msgstr "n'a pu assigner LDAP_OPT_DEBUG_LEVEL %d" + +#: modules/ldap/ldap.c:73 +#, c-format +msgid "cannot create LDAP session handle for URI=%s (%d): %s" +msgstr "ne peut créer l'identificateur de session LDAP pour URI=%s (%d): %s" + +#: modules/ldap/ldap.c:81 +#, c-format +msgid "ldap_start_tls failed: %s" +msgstr "échec de ldap_start_tls: %s" + +#: modules/ldap/ldap.c:199 +#, c-format +msgid "cannot parse options `%s': %s" +msgstr "échec de l'analyse des options « %s »: %s" + +#: modules/ldap/ldap.c:215 +msgid "cannot allocate handle" +msgstr "ne peut allouer l'identificateur" + +#: modules/ldap/ldap.c:255 +#, c-format +msgid "cannot expand query `%s': %s" +msgstr "échec du développement de la requête « %s »: %s" + +#: modules/gcide/gcide.c:85 +#, c-format +msgid "gcide: cannot stat `%s'" +msgstr "gcide: ne peut exécuter stat « %s »" + +#: modules/gcide/gcide.c:89 +#, c-format +msgid "gcide: `%s' is not a directory" +msgstr "gcide: « %s » n'est pas un répertoire" + +#: modules/gcide/gcide.c:93 modules/gcide/gcide.c:158 +#, c-format +msgid "gcide: `%s' is not readable" +msgstr "gcide: « %s » n'est pas lisible" + +#: modules/gcide/gcide.c:113 +#, c-format +msgid "gcide_open_idx: creating index %s" +msgstr "gcide_open_idx: création de l'index %s" + +#: modules/gcide/gcide.c:116 +#, c-format +msgid "gcide_open_idx: cannot run %s" +msgstr "gcide_open_idx: ne peut exécuter %s" + +#: modules/gcide/gcide.c:125 +msgid "gcide_open_idx: fork failed" +msgstr "gcide_open_idx: fork a échoué" + +#: modules/gcide/gcide.c:129 modules/gcide/gcide.c:134 +#, c-format +msgid "gcide_open_idx: %s failed" +msgstr "gcide_open_idx: %s a échoué" + +#: modules/gcide/gcide.c:141 +#, c-format +msgid "gcide_open_idx: %s exited with status %d" +msgstr "gcide_open_idx: %s terminé avec le statut %d" + +#: modules/gcide/gcide.c:162 modules/gcide/gcide.c:182 +#, c-format +msgid "gcide: can't stat `%s'" +msgstr "gcide: ne peut exécuter stat « %s »" + +#: modules/gcide/gcide.c:188 +msgid "gcide: index file older than database, reindexing" +msgstr "gcide: fichier index plus vieux que la base de données, réindexation" + +#: modules/gcide/gcide.c:190 +#, c-format +msgid "gcide_open_idx: cannot access %s" +msgstr "gcide_open_idx: ne peut accéder à %s" + +#: modules/gcide/gcide.c:249 +msgid "gcide_init_db: database directory not given" +msgstr "gcide_init_db: répertoire de base de données non fourni" + +#: modules/gcide/gcide.c:335 modules/gcide/gcide.c:354 +#, c-format +msgid "read error in stream `%s': %s" +msgstr "erreur de lecture dans le flux « %s »: %s" + +#: modules/gcide/gcide.c:344 +#, c-format +msgid "cannot get size of stream `%s': %s" +msgstr "ne peut obtenir la taille du flux « %s »: %s" + +#: modules/gcide/gcide.c:351 +msgid "cannot allocate dictionary information buffer" +msgstr "ne peut allouer le tampon d'information du dictionnaire" + +#: modules/gcide/gcide.c:518 modules/wordnet/wordnet.c:617 +#, c-format +msgid "%s: key initialization failed" +msgstr "%s: l'initialisation de la clé a échoué" + +#: modules/gcide/gcide.c:742 +#, c-format +msgid "seek error on `%s' while positioning to %lu: %s" +msgstr "erreur de déplacement dans « %s » lors du positionnement à %lu: %s" + +#: modules/gcide/idx.c:68 +#, c-format +msgid "error reading from `%s'" +msgstr "erreur de lecture dans « %s »" + +#: modules/gcide/idx.c:71 +#, c-format +msgid "short read while reading from `%s'" +msgstr "trop peu de données lues dans « %s »" + +#: modules/gcide/idx.c:91 +#, c-format +msgid "file `%s' is not a valid gcide index file" +msgstr "« %s » n'est pas un fichier d'index gcide valable" + +#: modules/gcide/idx.c:103 +#, c-format +msgid "index file `%s' is corrupted" +msgstr "le fichier d'index « %s » est corrompu" + +#: modules/gcide/idx.c:128 +#, c-format +msgid "cannot open index file `%s'" +msgstr "ne peut ouvrir le fichier d'index « %s »" + +#: modules/gcide/idx.c:246 +#, c-format +msgid "seek error on `%s' while positioning to %lu" +msgstr "erreur de déplacement dans « %s » lors du positionnement à %lu" + +#: modules/gcide/idxgcide-cli.opt:62 +#, c-format +msgid "not a valid size: %s" +msgstr "pas une taille valable: %s" + +#: modules/gcide/idxgcide.l:77 +msgid "page too small, aborting" +msgstr "page trop petite, arrêt" + +#: modules/gcide/idxgcide.l:120 +msgid "Sorting references" +msgstr "Références de tri" + +#: modules/gcide/idxgcide.l:124 +msgid "Writing references" +msgstr "Références d'écriture" + +#: modules/gcide/idxgcide.l:217 +#, c-format +msgid "%s:%u: unknown or illegible character in a headword" +msgstr "%s:%u: caractère illisible ou inconnu dans une entrée" + +#: modules/gcide/idxgcide.l:221 +#, c-format +msgid "%s:%u: unrecognized entity: %s" +msgstr "%s:%u: entité non reconnue: %s" + +#: modules/gcide/idxgcide.l:236 +#, c-format +msgid "%s:%u: unknown character sequence %s" +msgstr "%s:%u: séquence de caractères inconnue %s" + +#: modules/gcide/idxgcide.l:266 +#, c-format +msgid "Indexing %s" +msgstr "Indexation de %s" + +#: modules/gcide/idxgcide.l:302 +msgid "page size too small" +msgstr "taille de page trop petite" + +#: modules/gcide/idxgcide.l:311 +msgid "bad number of arguments" +msgstr "mauvais nombre d'arguments" + +#: modules/gcide/idxgcide.l:335 +#, c-format +msgid "cannot create index file `%s'" +msgstr "ne peut créer le fichier d'index « %s »" + +#: modules/gcide/idxgcide.l:356 +#, c-format +msgid "headwords=%lu, definitions=%lu, refs per page=%lu, pages=%lu" +msgstr "entrées=%lu, définitions=%lu, ref. par page=%lu, pages=%lu" + +#: modules/gcide/markup.l:148 +#, c-format +msgid "cannot parse line %.*s: %s" +msgstr "ne peut analyser la ligne %.*s: %s" + +#: modules/gcide/markup.l:300 +#, c-format +msgid "%u: unrecognized entity: %s" +msgstr "%u: entité non reconnue: %s" + +#: modules/gcide/markup.l:312 +#, c-format +msgid "%u: unknown character sequence %s" +msgstr "%u: séquence de caractères inconnue %s" + +#: modules/wordnet/wordnet.c:79 +msgid "cannot open wordnet database" +msgstr "ne peut ouvrir la base de données wordnet" + +#: modules/wordnet/wordnet.c:232 +#, c-format +msgid "wordnet: unknown option %s" +msgstr "wordnet: option %s inconnue" + +#: modules/wordnet/wordnet.c:239 +#, c-format +msgid "wordnet: option %s is not yet supported" +msgstr "wordnet: option %s pas encore supportée" + +#: grecs/src/cidr.c:129 grecs/src/cidr.c:179 grecs/src/cidr.c:186 +#, c-format +msgid "invalid network mask: %s" +msgstr "masque de réseau invalide: %s" + +#: grecs/src/cidr.c:142 grecs/src/cidr.c:149 grecs/src/cidr.c:160 +#, c-format +msgid "unrecognized address family: %s" +msgstr "famille d'adresses non reconnue: %s" + +#: grecs/src/cidr.c:153 +#, c-format +msgid "invalid network address: %s" +msgstr "adresse réseau invalide: %s" + +#: grecs/src/format.c:33 +msgid "void" +msgstr "" + +#: grecs/src/format.c:36 grecs/src/tree.c:69 +#, fuzzy +msgid "string" +msgstr "url: chaîne" + +#: grecs/src/format.c:46 +#, fuzzy +msgid "number" +msgstr "len: nombre" + +#: grecs/src/format.c:49 +msgid "time" +msgstr "" + +#: grecs/src/format.c:52 +#, fuzzy +msgid "boolean" +msgstr "bool" + +#: grecs/src/format.c:55 +msgid "IPv4" +msgstr "" + +#: grecs/src/format.c:58 +msgid "CIDR" +msgstr "" + +#: grecs/src/format.c:61 +#, fuzzy +msgid "hostname" +msgstr "nom" + +#: grecs/src/format.c:64 +#, fuzzy +msgid "sockaddr" +msgstr "adr" + +#: grecs/src/format.c:67 +#, fuzzy +msgid "section" +msgstr "Sélection du serveur" + +#: grecs/src/format.c:70 +msgid "null" +msgstr "" + +#: grecs/src/format.c:133 +msgid "Disabled;" +msgstr "Désactivé:" + +#: grecs/src/grecs-lex.l:186 +#, c-format +msgid "stray character %c" +msgstr "caractère parasite %c" + +#: grecs/src/grecs-lex.l:189 +#, c-format +msgid "stray character \\%03o" +msgstr "caractère parasite \\%03o" + +#: grecs/src/grecs-lex.l:219 grecs/src/preproc.c:480 +#, c-format +msgid "Cannot open `%s'" +msgstr "Ne peut ouvrir « %s »" + +#: grecs/src/grecs-lex.l:227 grecs/src/preproc.c:698 +#, c-format +msgid "Unable to start external preprocessor `%s'" +msgstr "Impossible de démarrer le pré processeur externe « %s »" + +#: grecs/src/grecs-lex.l:394 grecs/src/grecs-lex.l:431 +#, c-format +msgid "cannot parse #line line: %s" +msgstr "ne peut analyser la ligne #line: %s" + +#: grecs/src/grecs-lex.l:415 grecs/src/grecs-lex.l:435 +msgid "invalid #line statement" +msgstr "instruction #line invalide" + +#: grecs/src/grecs-lex.l:418 grecs/src/grecs-lex.l:439 +msgid "malformed #line statement" +msgstr "instruction #line mal formée" + +#: grecs/src/lineacc.c:70 +#, c-format +msgid "unknown escape sequence: '\\%c'" +msgstr "séquence d'échappement inconnue: « \\%c »" + +#: grecs/src/opthelp.c:123 grecs/src/opthelp.c:269 +msgid "Usage:" +msgstr "Usage:" + +#: grecs/src/opthelp.c:127 +msgid "OPTION" +msgstr "OPTION" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Aliases" +msgstr "Pseudonymes" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Alias" +msgstr "Pseudonyme" + +#: grecs/src/opthelp.c:186 +msgid "" +"Mandatory or optional arguments to long options are also mandatory or " +"optional for any corresponding short options." +msgstr "" +"Les arguments requis ou optionnels des options longues sont aussi requis ou " +"optionnels pour les options courtes correspondantes." + +#. TRANSLATORS: The placeholder indicates the bug-reporting +#. address for this package. Please add _another line_ saying +#. "Report translation bugs to <...>\n" with the address for +#. translation bugs (typically your translation team's web or +#. email address). +#: grecs/src/opthelp.c:202 +#, c-format +msgid "Report bugs to %s.\n" +msgstr "Signalez les bogues à %s.\n" + +#: grecs/src/opthelp.c:205 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "page d'accueil %s: <%s>\n" + +#. TRANSLATORS: Translate "(C)" to the copyright symbol +#. (C-in-a-circle), if this symbol is available in the user's +#. locale. Otherwise, do not translate "(C)"; leave it as-is. +#: grecs/src/opthelp.c:457 +msgid "(C)" +msgstr "(C)" + +#: grecs/src/opthelp.c:466 +msgid "" +"License GPLv3+: GNU GPL version 3 or later \n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +"\n" +msgstr "" +"Licence GPLv3+: GNU GPL version 3 ou ultérieure \n" +"Ceci est un logiciel libre: vous êtes libre de le changer et de le " +"redistribuer.\n" +"Il n'y a PAS de GARANTIE, dans les limites permises par la loi.\n" +"\n" + +#: grecs/src/opthelp.c:483 +msgid "Written by " +msgstr "Écrit par" + +#. TRANSLATORS: This string is used as a delimiter between +#. authors' names as in: +#. +#. Written by Winnie the Pooh, Piglet ... +#. +#: grecs/src/opthelp.c:489 +msgid ", " +msgstr ", " + +#. TRANSLATORS: This string acts as a delimiter before the +#. last author's names, e.g.: +#. +#. Written by Winnie the Pooh, Piglet and Christopher Robin. +#. +#: grecs/src/opthelp.c:495 +msgid " and " +msgstr " et " + +#: grecs/src/path-parser.c:62 +#, c-format +msgid "cannot open `%s'" +msgstr "ne peut ouvrir « %s »" + +#: grecs/src/path-parser.c:108 grecs/src/path-parser.c:123 +msgid "unexpected end of file" +msgstr "fin de fichier inattendue" + +#: grecs/src/path-parser.c:143 +msgid "parse error" +msgstr "erreur d'analyse" + +#: grecs/src/preproc.c:448 grecs/src/preproc.c:470 +#, c-format +msgid "Cannot stat `%s'" +msgstr "Ne peut exécuter stat « %s »" + +#: grecs/src/preproc.c:453 grecs/src/preproc.c:458 +msgid "Recursive inclusion" +msgstr "Inclusion récursive" + +#: grecs/src/preproc.c:461 +#, c-format +msgid "`%s' already included here" +msgstr "« %s » déjà inclu ici" + +#: grecs/src/preproc.c:465 +#, c-format +msgid "`%s' already included at top level" +msgstr "« %s » déjà inclu au plus haut niveau" + +#: grecs/src/preproc.c:595 +msgid "Cannot parse include line" +msgstr "Ne peut analyser la ligne d'inclusion" + +#: grecs/src/preproc.c:598 +msgid "invalid include statement" +msgstr "instruction d'inclusion invalide" + +#: grecs/src/preproc.c:624 +msgid "read error" +msgstr "erreur de lecture" + +#: grecs/src/preproc.c:632 +#, c-format +msgid "%s: No such file or directory" +msgstr "%s: Pas de fichier ou de répertoire avec ce nom" + +#: grecs/src/preproc.c:773 grecs/src/preproc.c:793 +#, c-format +msgid "Cannot run `%s'" +msgstr "Ne peut exécuter « %s »" + +#: grecs/src/sockaddr.c:67 +#, c-format +msgid "socket path name too long: %s" +msgstr "nom de chemin de socket trop long: %s" + +#: grecs/src/sockaddr.c:120 +#, c-format +msgid "%s: garbage near %s" +msgstr "%s: rebut près de %s" + +#: grecs/src/sockaddr.c:159 +#, c-format +msgid "service not specified: %s" +msgstr "service non spécifié: %s" + +#: grecs/src/sockaddr.c:176 +#, c-format +msgid "%s: cannot parse address: %s" +msgstr "%s: impossible d'analyser l'adresse: %s" + +#: grecs/src/sockaddr.c:269 +#, c-format +msgid "unknown or unsupported scheme: %s" +msgstr "schéma inconnu ou non supporté: %s" + +#: grecs/src/sockaddr.c:278 +#, c-format +msgid "%s: UNIX socket must be an absolute file name" +msgstr "%s: le nom de socket UNIX doit être un nom de fichier absolu" + +#: grecs/src/symtab.c:236 +msgid "element not found in table" +msgstr "élément pas trouvé dans la table" + +#: grecs/src/symtab.c:238 +msgid "symbol table is full" +msgstr "table des symboles remplie" + +#: grecs/src/tree.c:70 +msgid "list" +msgstr "" + +#: grecs/src/tree.c:71 +#, fuzzy +msgid "one or more arguments" +msgstr "trop d'arguments" + +#: grecs/src/tree.c:75 +msgid "unrecognized type; please report" +msgstr "" + +#: grecs/src/tree.c:320 +msgid "section keyword used as a scalar" +msgstr "" + +#: grecs/src/tree.c:322 +msgid "scalar keyword used as a section" +msgstr "" + +#: grecs/src/tree.c:325 +#, fuzzy +msgid "unknown keyword" +msgstr "Mot-clé inconnu" + +#: grecs/src/tree.c:360 +#, c-format +msgid "%s: not a valid boolean value" +msgstr "%s: n'est pas une valeur booléenne valable" + +#: grecs/src/tree.c:420 grecs/src/tree.c:644 +#, c-format +msgid "%s: not a valid IP address or hostname" +msgstr "%s: pas une adresse IP ou un nom d'hôte valable" + +#: grecs/src/tree.c:444 +#, c-format +msgid "%s: not a valid port number" +msgstr "%s: pas un numéro de port valable" + +#: grecs/src/tree.c:452 +msgid "missing port number" +msgstr "numéro de port manquant" + +#: grecs/src/tree.c:501 +msgid "numeric overflow" +msgstr "débordement numérique" + +#: grecs/src/tree.c:506 +msgid "value out of allowed range" +msgstr "valeur hors de limites permises" + +#: grecs/src/tree.c:541 grecs/src/tree.c:571 +#, c-format +msgid "not a number (stopped near `%s')" +msgstr "pas un nombre (arrêté près de « %s »)" + +#: grecs/src/tree.c:635 +#, c-format +msgid "%s: not a valid IP address" +msgstr "%s: pas une adresse IP valable" + +#: grecs/src/tree.c:774 +#, c-format +msgid "too many arguments to `%s'; missing semicolon?" +msgstr "trop d'arguments pour « %s »; point-virgule manquant ?" + +#: grecs/src/tree.c:788 grecs/src/tree.c:836 +#, c-format +msgid "INTERNAL ERROR at %s:%d: unhandled data type %d" +msgstr "ERREUR INTERNE à %s:%d: type de donnée %d non géré" + +#: grecs/src/tree.c:803 +#, c-format +msgid "%s: incompatible data type in list item #%d" +msgstr "%s: type de donnée incompatible dans l'article #%d de la liste" + +#: grecs/src/tree.c:823 +#, c-format +msgid "incompatible data type for `%s'" +msgstr "type de donnée incompatible pour « %s »" + +#: grecs/wordsplit/wordsplit.c:130 +msgid "memory exhausted while trying to store error context" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:881 +msgid "Restarting" +msgstr "Redémarrage" + +#: grecs/wordsplit/wordsplit.c:1607 +#, c-format +msgid "%.*s: variable null or not set" +msgstr "%.*s: variable nulle ou non définie" + +#: grecs/wordsplit/wordsplit.c:1637 +#, c-format +msgid "warning: undefined variable `%.*s'" +msgstr "attention: variable « %.*s » non définie" + +#: grecs/wordsplit/wordsplit.c:2138 +#, c-format +msgid "no files match pattern %s" +msgstr "aucun fichier ne correspond au masque %s" + +#: grecs/wordsplit/wordsplit.c:2599 +msgid "WS trimming" +msgstr "élimination des blancs" + +#: grecs/wordsplit/wordsplit.c:2601 +msgid "command substitution" +msgstr "substitution de commande" + +#: grecs/wordsplit/wordsplit.c:2603 grecs/wordsplit/wordsplit.c:2611 +msgid "coalesce list" +msgstr "amalgamer liste" + +#: grecs/wordsplit/wordsplit.c:2605 +msgid "tilde expansion" +msgstr "expansion du tilde" + +#: grecs/wordsplit/wordsplit.c:2607 +msgid "variable expansion" +msgstr "expansion de variable" + +#: grecs/wordsplit/wordsplit.c:2609 +msgid "quote removal" +msgstr "suppression des guillemets" + +#: grecs/wordsplit/wordsplit.c:2613 +msgid "path expansion" +msgstr "expansion de chemin" + +#: grecs/wordsplit/wordsplit.c:2638 +#, c-format +msgid "(%02d) Input:%.*s;" +msgstr "(%02d) Entrée:%.*s;" + +#: grecs/wordsplit/wordsplit.c:2664 +msgid "Initial list:" +msgstr "Liste initiale:" + +#: grecs/wordsplit/wordsplit.c:2679 +msgid "Coalesced list:" +msgstr "Liste amalgamée:" + +#: grecs/wordsplit/wordsplit.c:2849 +msgid "no error" +msgstr "pas d'erreur" + +#: grecs/wordsplit/wordsplit.c:2850 +msgid "missing closing quote" +msgstr "apostrophe de fermeture manquante" + +#: grecs/wordsplit/wordsplit.c:2852 +msgid "invalid wordsplit usage" +msgstr "utilisation de wordsplit invalide" + +#: grecs/wordsplit/wordsplit.c:2853 +msgid "unbalanced curly brace" +msgstr "déséquilibre des accolades" + +#: grecs/wordsplit/wordsplit.c:2854 +msgid "undefined variable" +msgstr "variable non définie" + +#: grecs/wordsplit/wordsplit.c:2855 +msgid "input exhausted" +msgstr "à cours d'entrée" + +#: grecs/wordsplit/wordsplit.c:2856 +msgid "unbalanced parenthesis" +msgstr "parenthèses non appariées" + +#: grecs/wordsplit/wordsplit.c:2857 +msgid "globbing error" +msgstr "erreur de globbing" + +#: grecs/wordsplit/wordsplit.c:2858 +#, fuzzy +msgid "user-defined error" +msgstr "erreur de lecture" + +#: grecs/wordsplit/wordsplit.c:2859 +#, fuzzy +msgid "invalid parameter number in assignment" +msgstr "Numéro de port ou nom de service invalide" + +#: grecs/wordsplit/wordsplit.c:2871 +msgid "unknown error" +msgstr "erreur inconnue" + +#: grecs/wordsplit/wordsplit.c:2880 +#, c-format +msgid "missing closing %c (start near #%lu)" +msgstr "%c de fermeture manquant (début près de #%lu)" + +#~ msgid "%s: option '--%s' doesn't allow an argument\n" +#~ msgstr "%s: l'option « --%s » n'attend aucun argument\n" + +#~ msgid "%s: unrecognized option '--%s'\n" +#~ msgstr "%s: l'option « --%s » n'est pas reconnue\n" + +#~ msgid "%s: option '-W %s' doesn't allow an argument\n" +#~ msgstr "%s: l'option « -W %s » n'accepte aucun argument\n" + +#~ msgid "%s: option '-W %s' requires an argument\n" +#~ msgstr "%s: l'option « -W %s » exige un argument\n" + +#~ msgid "%s: unknown keyword" +#~ msgstr "%s: mot-clé inconnu" + +#~ msgid "" +#~ "cannot initialize database `%s': module `%s' does not support databases" +#~ msgstr "" +#~ "impossible d'initialiser la base de données « %s »: le module « %s » ne " +#~ "supporte pas de base de données" + +#~ msgid "cannot initialize database `%s'" +#~ msgstr "impossible d'initialiser la base de données « %s »" + +#~ msgid "cannot open database `%s'" +#~ msgstr "ne peut ouvrir la base de données « %s »" + +#~ msgid "gcide_match_all: key initialization failed" +#~ msgstr "gcide_match_all: échec de l'initialisation de la clé" + +#~ msgid "write error" +#~ msgstr "erreur d'écriture" + +#~ msgid "not enough memory" +#~ msgstr "pas assez de mémoire" + +#~ msgid "wn_foreach: key initialization failed" +#~ msgstr "wn_foreach: échec de l'initialisation de la clé" + +#~ msgid "(%02d) Restart:%.*s;" +#~ msgstr "(%02d) Redémarrage:%.*s;" + +#~ msgid "%s: Invalid IP or unknown host name" +#~ msgstr "%s: IP invalide ou nom d'hôte inconnu" + +#~ msgid "cannot connect to DICT server %s:%d" +#~ msgstr "n'a pu se connecter au serveur DICT %s:%d" + +#~ msgid "%s home page: \n" +#~ msgstr "page d'accueil %s: \n" + +#~ msgid "General help using GNU software: \n" +#~ msgstr "" +#~ "Aide générale sur l'utilisation des logiciels GNU: \n" + +#~ msgid "Invalid port" +#~ msgstr "Port invalide" + +#~ msgid "cannot resolve host name: `%s'" +#~ msgstr "le nom d'hôte n'a pas pu être résolu: « %s »" + +#~ msgid "LEVEL-SPEC" +#~ msgstr "NIVEAU-SPEC" + +#~ msgid "INTERNAL ERROR at %s:%d" +#~ msgstr "ERREUR INTERNE à %s:%d" diff -Nru dico-2.9/po/LINGUAS dico-2.10/po/LINGUAS --- dico-2.9/po/LINGUAS 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/po/LINGUAS 2020-09-04 04:04:34.000000000 +0000 @@ -0,0 +1,10 @@ +da +de +es +fi +fr +pl +pt_BR +sr +sv +uk Binary files /tmp/tmpzBUTb6/GFUWpBukhc/dico-2.9/po/pl.gmo and /tmp/tmpzBUTb6/cwmgEPIKlI/dico-2.10/po/pl.gmo differ diff -Nru dico-2.9/po/pl.po dico-2.10/po/pl.po --- dico-2.9/po/pl.po 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/po/pl.po 2020-09-04 04:06:48.000000000 +0000 @@ -0,0 +1,2965 @@ +# Polish translations for GNU Dico. +# This file is distributed under the same license as the dico package. +# Copyright (C) 2018 Free Software Foundation, Inc. +# +# Sergey Poznyakoff , 2003-2018. +# +msgid "" +msgstr "" +"Project-Id-Version: dico 2.7\n" +"Report-Msgid-Bugs-To: bug-dico@gnu.org\n" +"POT-Creation-Date: 2020-09-04 07:06+0300\n" +"PO-Revision-Date: 2018-09-25 20:29+0300\n" +"Last-Translator: Sergey Poznyakoff \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2;\n" + +#: xdico/userprivs.c:40 +msgid "Refusing to run as root" +msgstr "Odmowa uruchomienia z uprawnieniami roota" + +#: xdico/userprivs.c:58 +#, c-format +msgid "setgroups(1, %lu) failed" +msgstr "setgroups(1, %lu) nie powiodła się" + +#: xdico/userprivs.c:69 +#, c-format +msgid "setegid(%lu) failed" +msgstr "setegid(%lu) nie powiodła się" + +#: xdico/userprivs.c:73 +#, c-format +msgid "setregid(%lu,%lu) failed" +msgstr "setregid(%lu,%lu) nie powiodła się" + +#: xdico/userprivs.c:77 +#, c-format +msgid "setresgid(%lu,%lu,%lu) failed" +msgstr "setresgid(%lu,%lu,%lu) nie powiodła się" + +#: xdico/userprivs.c:85 +#, c-format +msgid "setgid(%lu) failed" +msgstr "setgid(%lu) nie powiodła się" + +#: xdico/userprivs.c:88 +#, c-format +msgid "Cannot set effective gid to %lu" +msgstr "Nie można ustawić efektywnego GID w %lu" + +#: xdico/userprivs.c:106 +#, c-format +msgid "setreuid(%lu,-1) failed" +msgstr "setreuid(%lu,-1) nie powiodła się" + +#: xdico/userprivs.c:111 +#, c-format +msgid "second setuid(%lu) failed" +msgstr "drugie wywołanie setuid(%lu) nie powiodło się" + +#: xdico/userprivs.c:118 +#, c-format +msgid "setuid(%lu) failed" +msgstr "setuid(%lu) nie powiodła się" + +#: xdico/userprivs.c:126 +msgid "seteuid(0) succeeded when it should not" +msgstr "seteuid(0) niespodziewanie zakończyła się pomyślnie" + +#: xdico/userprivs.c:129 +msgid "Cannot drop non-root setuid privileges" +msgstr "Nie można pozbyć się uprawnień setuid" + +#: xdico/xstream.c:41 +msgid "not enough memory while formatting reply message" +msgstr "nie wystarcza pamięci do utworzenia wiadomości zwrotnej" + +#. TRANSLATORS: +#. Get translations for open and closing quotation marks. +#. The message catalog should translate "`" to a left +#. quotation mark suitable for the locale, and similarly for +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. +#. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. +#. +#. If you don't know what to put here, please see +#. +#. and use glyphs suitable for your language. +#: xdico/gnu/quotearg.c:362 +msgid "`" +msgstr "`" + +#: xdico/gnu/quotearg.c:363 +msgid "'" +msgstr "'" + +#: xdico/gnu/obstack.c:338 xdico/gnu/obstack.c:340 +#: grecs/wordsplit/wordsplit.c:76 grecs/wordsplit/wordsplit.c:2851 +msgid "memory exhausted" +msgstr "pamięć wyczerpana" + +#: xdico/gnu/getopt.c:278 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous\n" +msgstr "%s: opcja '-W %s' jest niejednoznaczna\n" + +#: xdico/gnu/getopt.c:284 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous; possibilities:" +msgstr "%s: opcja '%s' jest niejednoznaczna; możliwości:" + +#: xdico/gnu/getopt.c:319 +#, fuzzy, c-format +msgid "%s: unrecognized option '%s%s'\n" +msgstr "%s: nieznana opcja '%c%s'\n" + +#: xdico/gnu/getopt.c:345 +#, fuzzy, c-format +msgid "%s: option '%s%s' doesn't allow an argument\n" +msgstr "%s: opcja '%c%s' nie może mieć argumentów\n" + +#: xdico/gnu/getopt.c:360 +#, fuzzy, c-format +msgid "%s: option '%s%s' requires an argument\n" +msgstr "%s: opcja '%s' musi mieć argument\n" + +#: xdico/gnu/getopt.c:621 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: błędna opcja -- '%c'\n" + +#: xdico/gnu/getopt.c:636 xdico/gnu/getopt.c:682 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: opcja musi mieć argument -- '%c'\n" + +#: lib/parseopt.c:116 +#, c-format +msgid "%s: %s: unknown option" +msgstr "%s: %s: nieznana opcja" + +#: lib/parseopt.c:127 +#, c-format +msgid "%s: %s: %s is not a valid number" +msgstr "%s: %s: %s nie jest poprawną liczbą" + +#: lib/parseopt.c:168 +#, c-format +msgid "%s: %s: invalid value %s" +msgstr "%s: %s: błędna wartość: %s" + +#: lib/iostr.c:91 +msgid "No error" +msgstr "Żadnego błędu" + +#: dico/shell.c:34 +msgid "WORD" +msgstr "SŁOWO" + +#: dico/shell.c:34 +msgid "Define WORD." +msgstr "Zdefiniuj SŁOWO." + +#: dico/shell.c:35 +msgid "/WORD" +msgstr "/SŁOWO" + +#: dico/shell.c:35 +msgid "Match WORD." +msgstr "Znajdź pasujące słowa." + +#: dico/shell.c:36 +msgid "Redisplay previous matches." +msgstr "Pokaż poprzednie wyniki." + +#: dico/shell.c:37 cmdline.opt:131 +msgid "NUMBER" +msgstr "LICZBA" + +#: dico/shell.c:37 +msgid "Define NUMBERth match." +msgstr "Zdefiniuj wynik o podanej liczbie." + +#: dico/shell.c:39 +msgid "Edit NUMBERth previous command." +msgstr "Edytuj poprzednie polecenie." + +#: dico/shell.c:45 +msgid "[HOST [PORT]]" +msgstr "[HOST [PORT]]" + +#: dico/shell.c:46 +msgid "Connect to a DICT server." +msgstr "Połącz się z serwerem." + +#: dico/shell.c:50 +msgid "Close the connection." +msgstr "Zamknij połączenie." + +#: dico/shell.c:53 dico/shell.c:57 +msgid "[NAME]" +msgstr "[NAZWA]" + +#: dico/shell.c:54 +msgid "Set or display current database name." +msgstr "Ustaw lub wyświetl nazwę wybranej bazy danych." + +#: dico/shell.c:58 +msgid "Set or display current strategy." +msgstr "Ustaw lub wyświetl bieżącą strategię." + +#: dico/shell.c:61 +msgid "[NUM]" +msgstr "[LICZBA]" + +#: dico/shell.c:62 +msgid "Set or query Levenshtein distance (server-dependent)." +msgstr "Ustaw lub wyświetl wartość odległości Levenshteina" + +#: dico/shell.c:66 +msgid "List available matching strategies" +msgstr "Wyświetl dostępne strategie dopasowania" + +#: dico/shell.c:70 +msgid "List all accessible databases" +msgstr "Wyświetl listę dostępnych baz danych" + +#: dico/shell.c:73 +msgid "[DB]" +msgstr "[BD]" + +#: dico/shell.c:74 +msgid "Display the information about the database." +msgstr "Wyświetl informacje o bazie danych." + +#: dico/shell.c:77 +msgid "[CHAR]" +msgstr "[LITERA]" + +#: dico/shell.c:78 +msgid "Set or display command prefix." +msgstr "Ustaw lub wyświetl przedrostek polecenia." + +#: dico/shell.c:81 dico/shell.c:101 +msgid "[BOOL]" +msgstr "[BOOL]" + +#: dico/shell.c:82 +msgid "Set or display session transcript mode." +msgstr "Ustaw lub wyświetl tryb logowania przebiegu sesji." + +#: dico/shell.c:85 +msgid "[NUMBER]" +msgstr "[LICZBA]" + +#: dico/shell.c:86 +msgid "Set or display verbosity level." +msgstr "Ustaw lub wyświetl poziom odpluskwiania." + +#: dico/shell.c:89 dico/shell.c:93 cmdline.opt:158 cmdline.opt:170 +msgid "STRING" +msgstr "ŁAŃCUCH" + +#: dico/shell.c:90 +msgid "Change command line prompt." +msgstr "Zmień zachętę powłoki." + +#: dico/shell.c:94 +msgid "Change or display pager settings." +msgstr "Zmień lub pokaż ustawienia stronicowania." + +#: dico/shell.c:97 +msgid "[FILE]" +msgstr "[PLIK]" + +#: dico/shell.c:98 +msgid "Set or display autologin file name." +msgstr "Ustaw lub wyświetl nazwę pliku autologin." + +#: dico/shell.c:102 +msgid "Enable SASL authentication." +msgstr "Włącz uwierzytelnianie SASL." + +#: dico/shell.c:107 +msgid "Display command history." +msgstr "Wyświetl historię poleceń." + +#: dico/shell.c:112 +msgid "Display this help text." +msgstr "Wyświetl ten tekst pomocy." + +#: dico/shell.c:116 +msgid "Print program version." +msgstr "Wyświetl wersję programu." + +#: dico/shell.c:120 +msgid "Print copyright statement." +msgstr "Wyświetl copyright." + +#: dico/shell.c:128 +msgid "Quit the shell." +msgstr "Wyjdź z powłoki." + +#: dico/shell.c:149 +#, c-format +msgid "Command prefix is %c\n" +msgstr "Przedrostkiem polecenia jest %c\n" + +#: dico/shell.c:151 +msgid "Expected a single punctuation character" +msgstr "Oczekiwano jednego znaku interpunkcyjnego" + +#: dico/shell.c:229 +msgid "warning: " +msgstr "ostrzeżenie: " + +#: dico/shell.c:342 +msgid "unknown command" +msgstr "nieznane polecenie" + +#: dico/shell.c:352 +msgid "not enough arguments" +msgstr "niewystarczająca ilość argumentów" + +#: dico/shell.c:355 dicod/main.c:170 dicod/main.c:232 dicod/main.c:584 +#: dicod/main.c:793 +msgid "too many arguments" +msgstr "za dużo argumentów" + +#: dico/shell.c:398 +#, c-format +msgid "Cannot open init file %s" +msgstr "Nie można otworzyć pliku inicjalizacji %s" + +#: dico/connect.c:89 dico/connect.c:404 +msgid "No reply from server" +msgstr "Serwer nie odpowiada" + +#: dico/connect.c:110 +msgid "Attempting APOP authentication\n" +msgstr "Próba uwierzytelniania APOP\n" + +#: dico/connect.c:117 dico/saslauth.c:338 +msgid "Not enough credentials for authentication" +msgstr "Niedostatnio danych do uwierzytelnienia" + +#: dico/connect.c:121 dico/saslauth.c:343 +msgid "Skipping authentication\n" +msgstr "Pomijanie uwierzytelniania\n" + +#: dico/connect.c:204 +msgid "Obtained authentication credentials from the command line\n" +msgstr "Dane uwierzytelniania otrzymane z linii polecenia\n" + +#: dico/connect.c:211 +#, c-format +msgid "File %s does not exist" +msgstr "Plik %s nie istnieje" + +#: dico/connect.c:228 +msgid "Password:" +msgstr "Hasło:" + +#: dico/connect.c:244 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot get stream transport" +msgstr "BŁĄD WEWNĘTRZNY przy %s:%d: nie można otrzymać transportu strumienia" + +#: dico/connect.c:252 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot set stream transport" +msgstr "BŁĄD WEWNĘTRZNY przy %s:%d: nie można ustawić transportu strumienia" + +#: dico/connect.c:303 +#, c-format +msgid "Connecting to %s\n" +msgstr "Łączenie się z %s\n" + +#: dico/connect.c:311 +#, c-format +msgid "bad source address: %s" +msgstr "niepoprawny adres źródłowy: %s" + +#: dico/connect.c:326 +msgid "can't bind to the source address" +msgstr "nie można dowiązać adresu źródłowego" + +#: dico/connect.c:339 +#, c-format +msgid "%s: can't get address: %s" +msgstr "%s: nie można otrzymać adresu: %s" + +#: dico/connect.c:347 grecs/src/tree.c:391 +#, c-format +msgid "%s: UNIX socket name too long" +msgstr "%s: za długa nazwa gniazda" + +#: dico/connect.c:373 +msgid "cannot create dict socket" +msgstr "nie można utworzyć gniazda dict" + +#: dico/connect.c:383 +#, c-format +msgid "%s: cannot connect" +msgstr "%s: nie można połączyć się" + +#: dico/connect.c:394 +#, c-format +msgid "cannot create dict stream: %s" +msgstr "nie można utworzyć strumienia DICT: %s" + +#: dico/connect.c:408 +msgid "Invalid reply from server" +msgstr "Niepoprawna odpowiedź serwera" + +#: dico/connect.c:413 +msgid "Sending client information\n" +msgstr "Wysłanie informacji o kliencie\n" + +#: dico/connect.c:418 +#, c-format +msgid "Unexpected reply to CLIENT command: `%s'" +msgstr "Nieoczekiwana odpowiedź na polecenie CLIENT: `%s'" + +#: dico/connect.c:424 +msgid "Authentication failed" +msgstr "Uwierzytelnienie nie powiodło się" + +#: dico/connect.c:497 +#, c-format +msgid "Sending query for word \"%s\" in database \"%s\"\n" +msgstr "Szukanie definicji słowa \"%s\" w bazie \"%s\"\n" + +#: dico/connect.c:508 +#, c-format +msgid "Reading %lu definition\n" +msgid_plural "Reading %lu definitions\n" +msgstr[0] "Odczyt %lu definicji\n" +msgstr[1] "Odczyt %lu definicji\n" +msgstr[2] "Odczyt %lu definicji\n" + +#: dico/connect.c:515 +#, c-format +msgid "Unexpected reply in place of definition %lu" +msgstr "Nieoczekiwana odpowiedź w miejscu definicji %lu" + +#: dico/connect.c:538 +msgid "Setting Levenshtein threshold\n" +msgstr "Ustawianie progu odległości Levenshteina\n" + +#: dico/connect.c:544 +msgid "Server rejected XLEV command" +msgstr "Serwer odrzucił polecenie XLEV" + +#: dico/connect.c:545 +#, c-format +msgid "Server reply: %s" +msgstr "Odpowiedź serwera: %s" + +#: dico/connect.c:548 +#, c-format +msgid "Sending query to match word \"%s\" in database \"%s\", using \"%s\"\n" +msgstr "" +"Szukanie dopasowania słowa \"%s\" w bazie \"%s\", używając strategii \"%s\"\n" + +#: dico/connect.c:561 +#, c-format +msgid "Reading %lu match\n" +msgid_plural "Reading %lu matches\n" +msgstr[0] "Odczyt %lu dopasowania\n" +msgstr[1] "Odczyt %lu dopasowań\n" +msgstr[2] "Odczytanie %lu dopasowań\n" + +#: dico/connect.c:639 +msgid "Not enough data in the result" +msgstr "Za mało danych w wyniku" + +#: dico/connect.c:706 +msgid "Freeing unlinked result" +msgstr "Zwalnianie niepowiązanego wyniku" + +#: dico/dico.c:80 +msgid "extra command line arguments ignored" +msgstr "ignorowanie nadmiarowych argumentów linii polecenia" + +#: dico/dico.c:88 +msgid "you should give a word to look for or an URL" +msgstr "podaj słowo do zdefiniowania lub URL" + +#: dico/dico.c:107 +msgid "Database name not specified" +msgstr "Nie podano nazwy bazy danych" + +#: dico/func.c:33 dicod/main.c:1120 +msgid "Expected boolean value" +msgstr "Oczekiwano wartości boole'owskiej" + +#: dico/func.c:67 +#, c-format +msgid "Cannot get listing: %s" +msgstr "Nie można otrzymać wydruku: %s" + +#: dico/func.c:104 dico/func.c:138 +msgid "Please specify server name or IP address" +msgstr "Proszę podać nazwę lub IP serwera" + +#: dico/func.c:109 +msgid "Cannot connect to the server" +msgstr "Nie udaje się połączyć z serwerem" + +#: dico/func.c:112 +msgid "Getting list of databases\n" +msgstr "Uzyskanie listy baz danych\n" + +#: dico/func.c:114 +msgid "Getting list of strategies\n" +msgstr "Uzyskanie listy strategii\n" + +#: dico/func.c:116 +msgid "Finished getting server information\n" +msgstr "Koniec uzyskania informacji o serwerze\n" + +#: dico/func.c:150 +msgid "Nothing to close" +msgstr "Nie ma czego zamykać" + +#: dico/func.c:160 +msgid "No autologin file." +msgstr "Brak pliku autologin." + +#: dico/func.c:177 dico/func.c:268 +msgid "on" +msgstr "włączone" + +#: dico/func.c:177 dico/func.c:268 +msgid "off" +msgstr "wyłączone" + +#: dico/func.c:258 dico/func.c:366 +msgid "invalid number" +msgstr "niepoprawna liczba" + +#: dico/func.c:268 +#, c-format +msgid "transcript is %s\n" +msgstr "log przebiegu sesji: %s\n" + +#: dico/func.c:309 dico/func.c:325 +msgid "No previous match" +msgstr "Brak poprzedniego dopasowania" + +#: dico/func.c:329 +msgid "Invalid match number. Type / to see the matches." +msgstr "Niepoprawny numer dopasowania. Napisz / by otrzymać listę." + +#: dico/func.c:344 +#, c-format +msgid "Server does not support XLEV extension" +msgstr "Serwer nie obsługuje rozszerzenia XLEV" + +#: dico/func.c:350 +#, c-format +msgid "Reported Levenshtein distance:%s\n" +msgstr "Zameldowana odległość Levenshtejna: %s\n" + +#: dico/func.c:353 +msgid "Cannot query Levenshtein distance. Server responded:" +msgstr "Nie mogę pozyskać odległości Levenshtejna. Odpowiedź serwera:" + +#: dico/func.c:358 +#, c-format +msgid "No distance configured\n" +msgstr "Nie skonfigurowano odległości\n" + +#: dico/func.c:360 +#, c-format +msgid "Configured Levenshtein distance: %u\n" +msgstr "Ustawiono odległość Levenshtejna: %u\n" + +#: dico/func.c:395 +#, c-format +msgid "" +"Search all of the databases until a match is found,\n" +"and display all matches in that database.\n" +msgstr "" +"Szukaj we wszystkich bazach aż się znajdzie dopasowanie\n" +"i wyświetl wszystkie dopasowania w tej bazie.\n" + +#: dico/func.c:398 +#, c-format +msgid "Search all of the databases and display all matches." +msgstr "Szukaj we wszystkich bazach i wyświetl wszystkie dopasowania." + +#: dico/autologin.c:151 +#, c-format +msgid "Found matching line %d\n" +msgstr "Znaleziono pasującą linię %d\n" + +#: dico/autologin.c:160 +#, c-format +msgid "Found default line %d\n" +msgstr "Znaleziono wiersz domyślny %d\n" + +#: dico/autologin.c:192 +#, c-format +msgid "Cannot open autologin file %s" +msgstr "Nie można otworzyć pliku autologin %s" + +#: dico/autologin.c:197 +#, c-format +msgid "Reading autologin file %s...\n" +msgstr "Odczyt pliku autologin %s...\n" + +#: dico/autologin.c:218 +#, c-format +msgid "failed to parse command `%s': %s" +msgstr "nie można przetworzyć polecenia `%s': %s" + +#: dico/autologin.c:229 +#, c-format +msgid "failed to add line marker: %s" +msgstr "nie można dodać znacznika linii: %s" + +#: dico/autologin.c:251 +msgid "No matching line found\n" +msgstr "Nie znaleziono pasujących wierszy\n" + +#: dico/autologin.c:269 +#, c-format +msgid "%s:%d: unknown keyword" +msgstr "%s:%d: nieznane słowo kluczowe" + +#: dico/autologin.c:277 +#, c-format +msgid "%s:%d: %s without argument" +msgstr "%s:%d: %s bez argumentu" + +#: dico/autologin.c:335 +#, c-format +msgid "%s:%d: failed to parse line: %s" +msgstr "%s:%d: błąd analizy wiersza: %s" + +#: cmdline.opt:29 +msgid "Server selection" +msgstr "Wybór serwera" + +#: cmdline.opt:45 +msgid "SERVER" +msgstr "SERWER" + +#: cmdline.opt:45 +msgid "connect to this server" +msgstr "połącz się z tym serwerem" + +#: cmdline.opt:51 +msgid "SERVICE" +msgstr "SERWIS" + +#: cmdline.opt:51 +msgid "specify port to connect to" +msgstr "podaj port do połączenia" + +#: cmdline.opt:57 cmdline.opt:77 cmdline.opt:151 cmdline.opt:164 +msgid "NAME" +msgstr "NAZWA" + +#: cmdline.opt:57 +msgid "select a database to search" +msgstr "wybierz bazę danych" + +#: cmdline.opt:63 +msgid "ADDR" +msgstr "ADR" + +#: cmdline.opt:63 +msgid "set a source address for TCP connections" +msgstr "ustaw adres źródłowy dla połączeń TCP" + +#: cmdline.opt:55 +msgid "Operation modes" +msgstr "Tryb działania" + +#: cmdline.opt:71 +msgid "match instead of define" +msgstr "dopasowanie zamiast definiowania" + +#: cmdline.opt:77 +msgid "select a strategy for matching; implies --match" +msgstr "wybierz strategię dopasowania; włącza --match" + +#: cmdline.opt:85 +msgid "N" +msgstr "N" + +#: cmdline.opt:85 +msgid "set maximum Levenshtein distance" +msgstr "ustawia limit odległości Levenshtejna N" + +#: cmdline.opt:94 +msgid "show available databases" +msgstr "wyświetla dostępne bazy danych" + +#: cmdline.opt:100 +msgid "show available search strategies" +msgstr "wyświetla dostępne strategie dopasowania" + +#: cmdline.opt:106 +msgid "show server help" +msgstr "wyświetl tekst pomocy serwera" + +#: cmdline.opt:112 +msgid "DBNAME" +msgstr "NAZWA_BD" + +#: cmdline.opt:112 +msgid "show information about database DBNAME" +msgstr "wyświetla informacje o bazie NAZWA_BD" + +#: cmdline.opt:119 +msgid "show information about the server" +msgstr "wyświetla informacje o serwerze" + +#: cmdline.opt:125 +msgid "do not print the normal dico welcome" +msgstr "wyłącza wyświetlanie startowego komunikatu Dico" + +#: cmdline.opt:117 +msgid "Authentication" +msgstr "Uwierzytelnienie" + +#: cmdline.opt:133 +msgid "disable authentication" +msgstr "wyłącza uwierzytelnienie" + +#: cmdline.opt:139 +msgid "enable SASL authentication (default)" +msgstr "włącza uwierzytelnienie SASL (domyślnie)" + +#: cmdline.opt:145 +msgid "disable SASL authentication" +msgstr "wyłącza uwierzytelnienie SASL" + +#: cmdline.opt:151 +msgid "set user name for authentication" +msgstr "ustaw nazwę użytkownika do uwierzytelnienia" + +#: cmdline.opt:158 +msgid "set shared secret for authentication" +msgstr "ustaw sekret rozdzielony" + +#: cmdline.opt:164 +msgid "set the name of autologin file to use" +msgstr "ustaw nazwę pliku autologin" + +#: cmdline.opt:170 +msgid "additional text for client command" +msgstr "dodatkowy tekst dla polecenia CLIENT" + +#: cmdline.opt:162 cmdline.opt:103 +msgid "Debugging" +msgstr "Odpluskwianie" + +#: cmdline.opt:177 cmdline.opt:119 +msgid "enable session transcript" +msgstr "włącz logowanie przebiegu sesji" + +#: cmdline.opt:183 +msgid "increase debugging verbosity level" +msgstr "zwiększ poziom odpluskwiania" + +#: cmdline.opt:189 +msgid "include time stamp in the debugging output" +msgstr "dodawaj czas do wyjścia odpluskwiania" + +#: cmdline.opt:196 cmdline.opt:138 +msgid "include source line information in the debugging output" +msgstr "dodaje do komunikatów odpluskwiania pozycję w pliku źródłowym" + +#: cmdline.opt:188 +msgid "Other options" +msgstr "Inne opcje" + +#: cmdline.opt:200 +msgid "Give this help list" +msgstr "Wyświetl ten tekst pomocy" + +#: cmdline.opt:200 +msgid "Give a short usage message" +msgstr "Wyświetl krótkie informacje o składni polecenia" + +#: cmdline.opt:200 +msgid "Print program version" +msgstr "Wyświetl wersję programu" + +#: cmdline.opt:37 +msgid "GNU dictionary client program" +msgstr "Program kliencki obsługi słowników GNU" + +#: cmdline.opt:39 +msgid "[URL-or-WORD]" +msgstr "[URL-lub-SŁOWO]" + +#: cmdline.opt:81 +#, c-format +msgid "%s: invalid number" +msgstr "%s: niepoprawna liczba" + +#: cmdline.opt:230 +msgid "Type ? for help summary" +msgstr "Nadrukuj ? w celu otrzymania pomoc" + +#: dico/lookup.c:23 +msgid "No match" +msgstr "Nic nie pasuje" + +#: dico/lookup.c:65 dico/lookup.c:175 +#, c-format +msgid "From %s, %s:\n" +msgstr "Z %s, %s:\n" + +#: dico/lookup.c:137 +msgid "(no description available)" +msgstr "(brak opisu)" + +#: dico/lookup.c:209 +#, c-format +msgid "%s:%d: INTERNAL ERROR: unexpected request type" +msgstr "%s:%d: BŁĄD WEWNĘTRZNY: nieoczekiwany typ zapytania" + +#: dico/lookup.c:229 dico/lookup.c:296 +msgid "Server name or IP not specified" +msgstr "Nie podano nazwy lub IP serwera" + +#: dico/lookup.c:238 +msgid "Quitting\n" +msgstr "Wyjście\n" + +#: dico/saslauth.c:39 dicod/gsasl.c:370 +#, c-format +msgid "cannot get list of available SASL mechanisms: %s" +msgstr "nie można otrzymać listy dostępnych mechanizmów SASL: %s" + +#: dico/saslauth.c:110 +#, c-format +msgid "Unknown callback property %d" +msgstr "Nieobsługiwana własność wywołania zwrotnego %d" + +#: dico/saslauth.c:121 dico/saslauth.c:127 +msgid "GSASL handshake aborted" +msgstr "Przerwano wymianę potwierdzeń GSASL" + +#: dico/saslauth.c:168 +#, c-format +msgid "GSASL handshake aborted: unexpected reply: %s" +msgstr "Przerwano wymianę potwierdzeń GSASL: nieoczekiwana odpowiedź: %s" + +#: dico/saslauth.c:186 dicod/gsasl.c:148 +#, c-format +msgid "GSASL error: %s" +msgstr "błąd GSASL: %s" + +#: dico/saslauth.c:233 +msgid "Initializing SASL\n" +msgstr "Inicjalizacja SASL\n" + +#: dico/saslauth.c:236 +#, c-format +msgid "Cannot initialize libgsasl: %s" +msgstr "Nie można zainicjować libgsasl: %s" + +#: dico/saslauth.c:281 +msgid "Trying SASL\n" +msgstr "Próba SASL\n" + +#: dico/saslauth.c:291 +msgid "No suitable SASL mechanism found" +msgstr "Nie znaleziono pasującego mechanizmu SASL" + +#: dico/saslauth.c:300 +#, c-format +msgid "Selected authentication mechanism %s" +msgstr "Wybrano mechanizm uwierzytelnienia: %s" + +#: dico/saslauth.c:310 +msgid "SASL authentication succeeded" +msgstr "Pomyślne uwierzytelnienie SASL" + +#: dico/saslauth.c:311 +msgid "SASL authentication failed" +msgstr "Uwierzytelnienie SASL nie powiodło się" + +#: dico/saslauth.c:374 +msgid "Dico compiled without SASL support" +msgstr "Dico został skompilowany bez obsługi SASL" + +#: dicod/regex.c:46 +#, c-format +msgid "Regex error: %s" +msgstr "Błąd wyrażenia regularnego: %s" + +#: dicod/dicod.c:119 dicod/dicod.c:137 dicod/main.c:1572 +#, c-format +msgid "removing database %s" +msgstr "usunięcie bazy %s" + +#: dicod/dicod.c:153 +#, c-format +msgid "error closing database %s" +msgstr "błąd zamknięcia bazy %s" + +#: dicod/dicod.c:291 +#, c-format +msgid "error freeing database %s" +msgstr "błąd zwalniania bazy %s" + +#: dicod/dicod.c:345 +msgid "connection from" +msgstr "połączenie z" + +#: dicod/dicod.c:364 +msgid "session finished:" +msgstr "sesja zakończona:" + +#: dicod/acl.c:69 +msgid "expected string" +msgstr "oczekiwano łańcucha" + +#: dicod/acl.c:116 +msgid "expected string but found list" +msgstr "oczekiwano łańcucha, ale znaleziono listę" + +#: dicod/acl.c:129 +#, c-format +msgid "socket name too long: `%s'" +msgstr "nazwa gniazda jest za długa: %s" + +#: dicod/acl.c:157 +msgid "expected `from', but found list" +msgstr "oczekiwano `from', lecz znaleziono listę" + +#: dicod/acl.c:160 +#, c-format +msgid "expected `from', but found `%s'" +msgstr "oczekiwano `from', lecz znaleziono `%s'" + +#: dicod/acl.c:169 +msgid "unexpected end of statement after `from'" +msgstr "nieoczekiwany koniec instrukcji po `from'" + +#: dicod/acl.c:195 +msgid "junk after `from' list" +msgstr "śmieci za listą `from'" + +#: dicod/acl.c:211 +msgid "expected ACL name, but found end of statement" +msgstr "oczekiwano nazwę ACLi, znaleziono koniec wiersza" + +#: dicod/acl.c:217 +msgid "expected string, but found list" +msgstr "oczekiwano łańcucha, ale znaleziono listę" + +#: dicod/acl.c:224 +#, c-format +msgid "ACL not defined: `%s'" +msgstr "ACL nie zdefionowana: `%s'" + +#: dicod/acl.c:242 +msgid "expected group list, but found end of statement" +msgstr "oczekiwano listy grup, ale znaleziono koniec instrukcji" + +#: dicod/acl.c:255 +msgid "expected group list, but found array" +msgstr "oczekiwano listy grup, ale znaleziono tablicę" + +#: dicod/acl.c:268 +msgid "expected string value" +msgstr "oczekiwano wartości łańcuchowej" + +#: dicod/acl.c:290 +#, c-format +msgid "unknown word `%s'" +msgstr "nieznane słowo `%s'" + +#: dicod/acl.c:302 +msgid "unexpected list" +msgstr "nieoczekiwana lista" + +#. TRANSLATORS: `MATCHES' is the verb `match' in 2nd person. +#. E.g., in French: CONCORD AVEC +#: dicod/acl.c:400 +msgid "MATCHES" +msgstr "PASUJE" + +#: dicod/acl.c:400 +msgid "does not match" +msgstr "nie pasuje" + +#: dicod/dbtext.c:28 +#, c-format +msgid "cannot get path from URL `%s'" +msgstr "nie można wyłuszczyć ścieżki z URL `%s'" + +#: dicod/dbtext.c:33 +#, c-format +msgid "cannot stat directory `%s'" +msgstr "nie można otrzymać dane katalogu `%s'" + +#: dicod/dbtext.c:39 +#, c-format +msgid "%s: not a directory" +msgstr "%s: nie jest katalogiem" + +#: dicod/dbtext.c:55 +#, c-format +msgid "cannot open file `%s'" +msgstr "nie można otworzyć pliku `%s'" + +#: dicod/auth.c:46 dicod/gsasl.c:190 +msgid "failed to open user database" +msgstr "nie można otworzyć bazy danych użytkownika" + +#: dicod/auth.c:51 dicod/gsasl.c:240 dicod/gsasl.c:276 +#, c-format +msgid "failed to get password for `%s' from the database" +msgstr "hasło użytkownika `%s' nie odnaleziono w bazie danych" + +#: dicod/auth.c:55 +#, c-format +msgid "no such user `%s'" +msgstr "nie ma takiego użytkownika: %s" + +#: dicod/auth.c:61 +#, c-format +msgid "authentication failed for `%s'" +msgstr "uwierzytelnienie nie powiodło się: %s" + +#: dicod/main.c:161 +msgid "list element must be a string" +msgstr "element listy musi być łańcuchem" + +#: dicod/main.c:215 +msgid "list element must be a socket specification" +msgstr "element listy musi być specyfikacją gniazda" + +#: dicod/main.c:248 dicod/main.c:264 dicod/main.c:332 dicod/main.c:358 +#: dicod/main.c:407 dicod/main.c:460 dicod/main.c:503 dicod/main.c:665 +#: dicod/main.c:721 dicod/main.c:742 dicod/main.c:786 dicod/main.c:977 +#: dicod/main.c:1111 dicod/main.c:1150 dicod/main.c:1171 +msgid "Unexpected block statement" +msgstr "Niespodziewana instrukcja blokowa" + +#: dicod/main.c:284 +msgid "ACL name must be a string" +msgstr "Nazwa ACL musi być łańcuchem" + +#: dicod/main.c:286 +msgid "missing ACL name" +msgstr "Brak nazwy ACL" + +#: dicod/main.c:292 +#, c-format +msgid "redefinition of ACL %s" +msgstr "powtórna definicja ACL %s" + +#: dicod/main.c:295 +msgid "location of the previous definition" +msgstr "poprzednio zdeklarowana tutaj" + +#: dicod/main.c:311 dicod/main.c:315 +msgid "[all|authenticated|group ] [from ]" +msgstr "[all|authenticated|group ] [from ]" + +#: dicod/main.c:312 +msgid "Allow access" +msgstr "Dostęp dozwolony" + +#: dicod/main.c:316 +msgid "Deny access" +msgstr "Dostęp zabroniony" + +#: dicod/main.c:336 dicod/main.c:747 dicod/main.c:822 +msgid "expected scalar value" +msgstr "oczekiwano wartości skalarnej" + +#: dicod/main.c:340 +#, c-format +msgid "no such ACL: `%s'" +msgstr "nie ma takiego ACL: %s" + +#: dicod/main.c:363 dicod/main.c:465 dicod/main.c:507 dicod/main.c:670 +msgid "expected scalar value but found list" +msgstr "oczekiwano wartości skalarnej, ale znaleziono listę" + +#: dicod/main.c:371 +#, c-format +msgid "not a valid UID number: %s" +msgstr "niepoprawny numer UID: %s" + +#: dicod/main.c:378 +#, c-format +msgid "%s: no such user" +msgstr "%s: brak takiego użytkownika" + +#: dicod/main.c:426 +#, c-format +msgid "not a valid GID number: %s" +msgstr "niepoprawny numer GID: %s" + +#: dicod/main.c:433 +#, c-format +msgid "%s: unknown group" +msgstr "%s: nieznana grupa" + +#: dicod/main.c:469 +msgid "unknown mode" +msgstr "nieznany tryb" + +#: dicod/main.c:514 +msgid "unknown syslog facility" +msgstr "nieznane urządzenie sysloga" + +#: dicod/main.c:533 dicod/main.c:559 +msgid "tag must be a string" +msgstr "etykieta musi być łańcuchem" + +#: dicod/main.c:535 dicod/main.c:561 +msgid "missing tag" +msgstr "brak etykiety" + +#: dicod/main.c:624 +msgid "database name not supplied" +msgstr "nie podano nazwy bazy danych" + +#: dicod/main.c:630 +msgid "no handler defined for the database" +msgstr "brak procedury obsługi dla tej bazy danych" + +#: dicod/main.c:648 grecs/src/tree.c:665 +msgid "invalid use of block statement" +msgstr "nieprawidłowe użycie instrukcji blokowej" + +#: dicod/main.c:675 dicod/loader.c:120 +#, c-format +msgid "cannot parse command line `%s': %s" +msgstr "nie można przetworzyć wiersza polecenia `%s': %s" + +#: dicod/main.c:691 +#, c-format +msgid "%s: handler not declared" +msgstr "%s: procedura obsługi nie zdefiniowana" + +#: dicod/main.c:727 +#, c-format +msgid "unknown capability: %s" +msgstr "nieznane uprawnienie: %s" + +#: dicod/main.c:752 +#, c-format +msgid "cannot parse headers: %s" +msgstr "analiza nagłówków nie powiodła się: %s" + +#: dicod/main.c:759 +#, c-format +msgid "unknown encoding type: %s" +msgstr "nieznany typ kodowania: %s" + +#: dicod/main.c:766 dicod/main.c:840 dicod/main.c:844 dicod/main.c:849 +#: dicod/main.c:853 dicod/main.c:896 dicod/main.c:899 dicod/main.c:903 +#: dicod/main.c:1029 dicod/main.c:1318 dicod/main.c:1327 dicod/main.c:1330 +#: dicod/main.c:1332 dicod/main.c:1337 dicod/main.c:1346 dicod/main.c:1368 +#: dicod/main.c:1383 grecs/src/format.c:141 +msgid "arg" +msgstr "arg" + +#: dicod/main.c:766 +msgid "Command line." +msgstr "Linia polecenia." + +#: dicod/main.c:798 +msgid "first argument must be string" +msgstr "pierwszy element musi być łańcuchem" + +#: dicod/main.c:804 +msgid "second argument must be string" +msgstr "drugi element musi być łańcuchem" + +#: dicod/main.c:812 +msgid "condition must be mime or nomime" +msgstr "warunek musi być \"mime\" lub \"nomime\"" + +#: dicod/main.c:837 +msgid "word" +msgstr "słowo" + +#: dicod/main.c:837 +msgid "Dictionary name (a single word)." +msgstr "Nazwa słownika (jedne słowo)." + +#: dicod/main.c:841 +msgid "Short description, to be shown in reply to SHOW DB command." +msgstr "Krótki opis, do użycia w odpowiedzi na polecenie SHOW DB." + +#: dicod/main.c:845 +msgid "" +"Full description of the database, to be shown in reply to SHOW INFO command." +msgstr "Pełny opis bazy, do użycia w odpowiedzi na polecenie SHOW INFO." + +#: dicod/main.c:850 +msgid "List of languages this database translates from." +msgstr "Lista języków z których tłumaczy ta baza." + +#: dicod/main.c:854 +msgid "List of languages this database translates to." +msgstr "Lista języków na które tłumaczy ta baza." + +#: dicod/main.c:857 dicod/main.c:1023 dicod/main.c:1026 dicod/main.c:1302 +#: dicod/main.c:1305 dicod/main.c:1324 dicod/main.c:1343 dicod/main.c:1348 +#: dicod/main.c:1366 dicod/main.c:1380 +msgid "name" +msgstr "nazwa" + +#: dicod/main.c:857 +msgid "Name of the handler for this database." +msgstr "Nazwa procedury obsługi tej bazy danych." + +#: dicod/main.c:860 dicod/main.c:1315 dicod/main.c:1387 dicod/main.c:1390 +msgid "arg: acl" +msgstr "arg: acl" + +#: dicod/main.c:861 +msgid "ACL controlling visibility of this database" +msgstr "ACL sterujący widzialnością tej bazy" + +#: dicod/main.c:864 dicod/main.c:1312 dicod/main.c:1359 dicod/main.c:1362 +msgid "text" +msgstr "tekst" + +#: dicod/main.c:865 +msgid "Additional MIME headers" +msgstr "Dodatkowe nagłówki MIME" + +#: dicod/main.c:869 +msgid "bool" +msgstr "bool" + +#: dicod/main.c:870 +msgid "Set database visibility" +msgstr "Ustawia widoczność bazy danych" + +#: dicod/main.c:873 +msgid " [mime|nomime]" +msgstr " [mime|nomime]" + +#: dicod/main.c:874 +msgid "" +"For virtual database only: name of the member database. Optional mime|nomime " +"specifies the condition under which the database is to be used." +msgstr "" +"Tylko dla wirtualnej bazy danych: nazwa bazy-członka. Opcjonalny parametr " +"mime|nomime określa warunek do użycia tej bazy." + +#: dicod/main.c:896 +msgid "Password file or query." +msgstr "Plik haseł lub zapytanie, zwracające hasło." + +#: dicod/main.c:900 +msgid "File containing user group information or a query to retrieve it." +msgstr "" +"Plik zawierający informacje o grupach użytkownika, lub zapytanie je " +"zwracające." + +#: dicod/main.c:904 +msgid "Implementation-dependent options" +msgstr "Opcje zależne od implementacji" + +#: dicod/main.c:926 dicod/main.c:942 +msgid "URL must be a string" +msgstr "URL musi być łańcuchem" + +#: dicod/main.c:928 dicod/main.c:944 +msgid "empty URL" +msgstr "pusty URL" + +#: dicod/main.c:959 +msgid "cannot create user database" +msgstr "nie można utworzyć bazy użytkowników" + +#: dicod/main.c:981 +msgid "Not enough arguments for alias" +msgstr "Niewystarczająca ilość argumentów do aliasu" + +#: dicod/main.c:988 +#, c-format +msgid "argument %d has wrong type" +msgstr "niepoprawny typ argumentu %d" + +#: dicod/main.c:1008 +msgid "expected boolean value but found list" +msgstr "oczekiwano wartości boole'owskiej, ale znaleziono listę" + +#: dicod/main.c:1017 dicod/main.c:1020 +msgid "mech: list" +msgstr "mech: lista" + +#: dicod/main.c:1018 +msgid "Disable SASL mechanisms listed in ." +msgstr "Wyłącza mechanizmy SASL wyszczególnione w ." + +#: dicod/main.c:1021 +msgid "Enable SASL mechanisms listed in ." +msgstr "Włącza mechanizmy SASL wyszczególnione w ." + +#: dicod/main.c:1024 +msgid "Set service name for GSSAPI and Kerberos." +msgstr "Ustawia nazwę serwisu GSSAPI i Kerberos." + +#: dicod/main.c:1027 +msgid "Set realm name for GSSAPI and Kerberos." +msgstr "Ustawia nazwę dziedziny GSSAPI i Kerberos." + +#: dicod/main.c:1030 +msgid "Define groups for anonymous users." +msgstr "Określa grupy anonimowych użytkowników." + +#: dicod/main.c:1069 +msgid "Section name must be a string" +msgstr "Nazwa sekcji musi być łańcuchem" + +#: dicod/main.c:1071 +msgid "missing section name" +msgstr "brak nazwy sekcji" + +#: dicod/main.c:1096 +msgid "Unexpected statement" +msgstr "Niespodziewana instrukcja" + +#: dicod/main.c:1133 +msgid "Expected string value" +msgstr "oczekiwano wartości łańcuchowej" + +#: dicod/main.c:1159 +msgid "expected list or string" +msgstr "oczekiwano listy lub łańcucha" + +#: dicod/main.c:1182 +msgid "Expected number" +msgstr "Oczekiwano liczby" + +#: dicod/main.c:1253 +msgid "arg: bool" +msgstr "arg: bool" + +#: dicod/main.c:1253 +msgid "Deny all * and ! look ups" +msgstr "Zabrania wyszukiwania z użyciem * oraz !" + +#: dicod/main.c:1257 +msgid "cond" +msgstr "warunek" + +#: dicod/main.c:1257 +msgid "Deny * and ! look-ups on these words." +msgstr "Zabrania wyszukiwania tych słów z użyciem * oraz !" + +#: dicod/main.c:1262 dicod/main.c:1268 dicod/main.c:1274 dicod/main.c:1280 +#: dicod/main.c:1286 dicod/main.c:1292 +msgid "len: number" +msgstr "długość: liczba" + +#: dicod/main.c:1263 +msgid "Deny * and ! look-ups on words with length < ." +msgstr "" +"Zabrania użycia * oraz ! do wyszukiwania słów o długości < znaków." + +#: dicod/main.c:1269 +msgid "Deny * and ! look-ups on words with length <= ." +msgstr "" +"Zabrania użycia * oraz ! do wyszukiwania słów o długości <= znaków." + +#: dicod/main.c:1275 +msgid "Deny * and ! look-ups on words with length > ." +msgstr "" +"Zabrania użycia * oraz ! do wyszukiwania słów o długości > znaków." + +#: dicod/main.c:1281 +msgid "Deny * and ! look-ups on words with length >= ." +msgstr "" +"Zabrania użycia * oraz ! do wyszukiwania słów o długości >= znaków." + +#: dicod/main.c:1287 +msgid "Deny * and ! look-ups on words with length == ." +msgstr "" +"Zabrania użycia * oraz ! do wyszukiwania słów o długości == znaków." + +#: dicod/main.c:1293 +msgid "Deny * and ! look-ups on words with length != ." +msgstr "" +"Zabrania użycia * oraz ! do wyszukiwania słów o długości != znaków." + +#: dicod/main.c:1302 +msgid "Run with these user privileges." +msgstr "Uruchomienie z uprawnieniami tego użytkownika." + +#: dicod/main.c:1306 +msgid "Supplementary group to retain with the user privileges." +msgstr "" +"Ustawia podane dodatkowe grupy podczas przejścia do uprawnień użytkownika." + +#: dicod/main.c:1309 +msgid "arg: [daemon|inetd]" +msgstr "arg: [daemon|inetd]" + +#: dicod/main.c:1309 +msgid "Operation mode." +msgstr "Tryb działania." + +#: dicod/main.c:1313 +msgid "Server description to be shown in reply to SHOW SERVER command." +msgstr "Opis serwera do użycia w odpowiedzi na polecenie SHOW SERVER." + +#: dicod/main.c:1316 +msgid "Show system information if arg matches." +msgstr "Wyświetl informacje o systemie, jeżeli arg pasuje." + +#: dicod/main.c:1319 +msgid "Enable identification check using AUTH protocol (RFC 1413)" +msgstr "Włącza sprawdzanie uwierzytelniania poprzez protokół AUTH (RFC 1413)" + +#: dicod/main.c:1321 +msgid "val" +msgstr "wartość" + +#: dicod/main.c:1322 +msgid "Set timeout for AUTH I/O operations." +msgstr "Ustawia limit czasu oczekiwania operacji AUTH." + +#: dicod/main.c:1325 +msgid "Name of the file containing the keys for decrypting AUTH replies." +msgstr "Nazwa pliku kluczy dla odszyfrowania odpowiedzi AUTH." + +#: dicod/main.c:1328 +msgid "Maximum number of children running simultaneously." +msgstr "Limit liczby jednocześnie działających procesów potomnych." + +#: dicod/main.c:1330 +msgid "Tag syslog diagnostics with this tag." +msgstr "Ustawia znacznik komunikatów dla sysloga." + +#: dicod/main.c:1333 +msgid "" +"Set syslog facility. Arg is one of the following: user, daemon, auth, " +"authpriv, mail, cron, local0 through local7 (case-insensitive), or a " +"facility number." +msgstr "" +"Ustawia urządzenie syslog. Dozwolone wartości argumentu: user, daemon, auth, " +"authpriv, mail, cron, local0 do local7 (bez rozróżniania małych i wielkich " +"liter), lub numer urządzenia." + +#: dicod/main.c:1338 +msgid "Prefix diagnostics messages with their severity." +msgstr "" +"Dodanie znacznika istotności błędu na początku komunikatów diagnostycznych." + +#: dicod/main.c:1340 +msgid "fmt" +msgstr "fmt" + +#: dicod/main.c:1341 +msgid "Set format string for access log file." +msgstr "Ustawia łańcuch formatu dla logowania dostępów." + +#: dicod/main.c:1344 +msgid "Set access log file name." +msgstr "Ustawia nazwę pliku logowania dostępów." + +#: dicod/main.c:1346 +msgid "Log session transcript." +msgstr "Logowanie przebiegu sesji." + +#: dicod/main.c:1349 +msgid "Store PID of the master process in this file." +msgstr "Zapis do pliku wartości PIDa procesu głównego." + +#: dicod/main.c:1351 dicod/main.c:1354 +msgid "seconds" +msgstr "sekundy" + +#: dicod/main.c:1352 +msgid "Wait this number of seconds for all children to terminate." +msgstr "Czeka podaną liczbę sekund na zakończenie procesów potomnych." + +#: dicod/main.c:1355 +msgid "Set inactivity timeout." +msgstr "Ustawia limit czasu bezczynności." + +#: dicod/main.c:1357 +msgid "addr" +msgstr "adres" + +#: dicod/main.c:1357 +msgid "Listen on these addresses." +msgstr "Nasłuchuje na podanych adresach." + +#: dicod/main.c:1360 +msgid "Display this text in the initial 220 banner" +msgstr "Wyświetla ten tekst w początkowej odpowiedzi 220" + +#: dicod/main.c:1363 +msgid "" +"Display this text in reply to the HELP command. If text begins with a +, " +"usual command summary is displayed before it." +msgstr "" +"Wyświetla ten tekst w odpowiedzi na polecenie HELP. Jeżeli tekst poczyna się " +"znakiem +, zostanie on poprzedzony domyślnym tekstem pomocy." + +#: dicod/main.c:1366 +msgid "Override the host name." +msgstr "Ustala nazwę hosta." + +#: dicod/main.c:1368 +msgid "Request additional capabilities." +msgstr "Wymaga dodatkowe możliwości" + +#: dicod/main.c:1371 dicod/main.c:1375 +msgid "path" +msgstr "ścieżka" + +#: dicod/main.c:1372 +msgid "List of directories searched for database modules." +msgstr "Lista katalogów do szukania modułów baz danych." + +#: dicod/main.c:1376 +msgid "" +"List of directories searched for database modules prior to the default " +"module directory" +msgstr "" +"Lista katalogów do szukania modułów baz danych przed katalogiem domyślnym" + +#: dicod/main.c:1381 +msgid "Set the name of the default matching strategy." +msgstr "Ustawia nazwę domyślnej strategii dopasowania." + +#: dicod/main.c:1384 +msgid "Provide timing information after successful completion of an operation." +msgstr "Wyświetla chronometraż po pomyślnym zakończeniu operacji." + +#: dicod/main.c:1388 +msgid "Set ACL to control visibility of all databases." +msgstr "Ustawia ACL sterujący widzialnością wszystkich baz danych." + +#: dicod/main.c:1391 +msgid "Apply this ACL to incoming connections." +msgstr "Zastosuj ten ACL do połączeń nadchodzących." + +#: dicod/main.c:1393 +msgid "Define a dictionary database." +msgstr "Definicja bazy." + +#: dicod/main.c:1397 dicod/main.c:1406 dicod/main.c:1412 dicod/main.c:1419 +msgid "name: string" +msgstr "nazwa: łańcuch" + +#: dicod/main.c:1398 +msgid "" +"Load a module instance.\n" +"If is the same as in command, it can be simplified as:\n" +" load-module ;\n" +"Furthermore, several simplified forms can be combined into one\n" +"by using a list of names as its argument, as in:\n" +" load-module (stratall,word);\n" +msgstr "" +"Ładowanie egzemplarza modułu.\n" +"Jeżeli jest taka sama jak w poleceniu, instrukcję można\n" +"uprościć jako:\n" +" load-module ;\n" +"Kilka takich uproszczonych instrukcji można zapisać jako jedną\n" +"używając listy w miejscu argumentu:\n" +" load-module (stratall,word);\n" + +#: dicod/main.c:1406 +msgid "Define an ACL." +msgstr "Definicja ACL." + +#: dicod/main.c:1408 +msgid "url: string" +msgstr "url: łańcuch" + +#: dicod/main.c:1409 +msgid "Define user database for authentication." +msgstr "Ustawia bazę danych uwierzytelniania użytkowników." + +#: dicod/main.c:1412 +msgid "Define a command alias." +msgstr "Definicja aliasu polecenia" + +#: dicod/main.c:1416 +msgid "Control SASL authentication." +msgstr "Sterowanie uwierzytelnianiem SASL." + +#: dicod/main.c:1420 +msgid "Additional configuration for strategy " +msgstr "Dodatkowa konfiguracja strategii " + +#: dicod/main.c:1459 +msgid "" +"Configuration file structure for dicod.\n" +"For more information, use `info dico configuration'." +msgstr "" +"Struktura pliku konfiguracyjnego dicod.\n" +"W celu otrzymania dokładniejszych informacji, skorzystaj się z polecenia\n" +"`info dico configuration'." + +#: dicod/main.c:1788 +msgid "unknown strategy" +msgstr "nieznana strategia" + +#: cmdline.opt:36 +msgid "Select program mode" +msgstr "Wybór trybu działania programu" + +#: cmdline.opt:51 +msgid "preprocess configuration file and exit" +msgstr "preprocesuje pliki źródłowe i kończy pracę" + +#: cmdline.opt:57 +msgid "check configuration file syntax and exit" +msgstr "sprawdza jedynie składnię pliku konfiguracyjnego i kończy." + +#: cmdline.opt:63 +msgid "inetd mode" +msgstr "tryb inetd" + +#: cmdline.opt:69 +msgid "" +"run unit tests for module; subsequent arguments are treated as module name " +"and unit test arguments; the -- marker introduces module initialization " +"arguments" +msgstr "" +"uruchamia testy jednostkowe modułu; pozostałe argumenty to nazwa modułu i " +"parametry testów; argumenty po opcjonalnym markerze -- zostaną przekazane " +"funkcji inicjalizacyjnej modułu" + +#: cmdline.opt:63 +msgid "Modifiers" +msgstr "Modyfikatory" + +#: cmdline.opt:79 +msgid "FILE" +msgstr "PLIK" + +#: cmdline.opt:79 +msgid "read this configuration file" +msgstr "odczyt konfiguracji z podanego pliku" + +#: cmdline.opt:85 +msgid "operate in foreground" +msgstr "pozostanie na pierwszym planie" + +#: cmdline.opt:91 +msgid "output diagnostic to stderr" +msgstr "wyświetlaj diagnostykę na stderr" + +#: cmdline.opt:97 +msgid "output diagnostic to syslog (default)" +msgstr "wydawaj diagnostykę poprzez syslog (domyślnie)" + +#: cmdline.opt:103 +msgid "single-process mode" +msgstr "tryb pojedynczego procesu" + +#: cmdline.opt:109 cmdline.opt:179 +msgid "DIR" +msgstr "KATALOG" + +#: cmdline.opt:109 +msgid "prepend DIR to the module load path" +msgstr "dodaje KATALOG na początku ścieżki wyszukiwania modułów" + +#: cmdline.opt:125 +msgid "disable session transcript" +msgstr "wyłącza logowanie przebiegu sesji" + +#: cmdline.opt:131 +msgid "set debug verbosity level" +msgstr "ustawia poziom odpluskwiania" + +#: cmdline.opt:144 +msgid "trace parsing of configuration file" +msgstr "szczegółowa rejestracja przebiegu parsowania pliku konfiguracyjnego" + +#: cmdline.opt:150 +msgid "trace config file lexer" +msgstr "trasowanie analizy leksykalnej pliku konfiguracyjnego" + +#: cmdline.opt:142 +msgid "Additional help" +msgstr "Dodatkowa pomoc" + +#: cmdline.opt:158 +msgid "show configuration file summary" +msgstr "wyświetla podsumowanie instrukcji konfiguracyjnych" + +#: cmdline.opt:151 +msgid "Preprocessor control" +msgstr "Obsługa preprocesora" + +#: cmdline.opt:167 +msgid "PROG" +msgstr "PROG" + +#: cmdline.opt:167 +msgid "use PROG as a preprocessor for config file" +msgstr "używaj PROG jako zewnętrznego preprocesora pliku konfiguracyjnego" + +#: cmdline.opt:173 +msgid "do not use external preprocessor" +msgstr "nie używaj preprocesora zewnętrznego" + +#: cmdline.opt:179 +msgid "" +"add the directory DIR to the list of directories to be searched for " +"preprocessor include files" +msgstr "" +"dodaje podany katalog do listy szukania plików nagłówkowych preprocesora" + +#: cmdline.opt:185 +msgid "SYMBOL[=VALUE]" +msgstr "SYMBOL[=WARTOŚĆ]" + +#: cmdline.opt:185 +msgid "define a preprocessor symbol" +msgstr "wprowadzenie symbolu preprocesora" + +#: cmdline.opt:43 +msgid "GNU dictionary server" +msgstr "Serwer słownikowy GNU" + +#: dicod/loader.c:38 +#, c-format +msgid "%s: faulty module: (%s) failed" +msgstr "%s: niepoprawny moduł: warunek (%s) nie został spełniony" + +#: dicod/loader.c:67 +#, c-format +msgid "%s: initialization failed" +msgstr "%s: inicjalizacja nie powiodła się" + +#: dicod/loader.c:83 +#, c-format +msgid "module %s already loaded" +msgstr "moduł `%s' już został załadowany" + +#: dicod/loader.c:96 +#, c-format +msgid "cannot load module %s: %s" +msgstr "ładowanie modułu %s nie powiodło się: %s" + +#: dicod/loader.c:505 +msgid "no module name" +msgstr "brak nazwy modułu" + +#: dicod/loader.c:524 +msgid "module does not define dico_run_test function" +msgstr "moduł nie definiuje funkcji dico_run_test" + +#: dicod/alias.c:68 +#, c-format +msgid "alias `%s' already defined" +msgstr "alias `%s' już został zdefiniowany" + +#: dicod/alias.c:70 +msgid "this is the location of the previous definition" +msgstr "poprzednio zdefiniowana tutaj" + +#: dicod/server.c:103 +#, c-format +msgid "file %s exists but cannot be stat'd" +msgstr "plik %s istnieje, ale wywołanie stat nie powiodło się" + +#: dicod/server.c:110 +#, c-format +msgid "file %s is not a socket" +msgstr "plik %s nie jest gniazdem" + +#: dicod/server.c:116 +#, c-format +msgid "cannot unlink file %s" +msgstr "unlink(%s) nie powiodła się" + +#: dicod/server.c:131 +#, c-format +msgid "unsupported address family: %d" +msgstr "nieobsługiwana rodzina adresów: %d" + +#: dicod/server.c:163 +msgid "No sockets opened" +msgstr "Brak otwartych gniazd" + +#: dicod/server.c:206 +#, c-format +msgid "%lu exited successfully" +msgstr "Proces potomny %lu zakończył się pomyślnie" + +#: dicod/server.c:211 +#, c-format +msgid "%lu timed out" +msgstr "%lu zakończył po przekroczeniu czasu oczekiwania na polecenie" + +#: dicod/server.c:216 +#, c-format +msgid "%lu failed with status %d" +msgstr "Proces potomny %lu zakończył się ze stanem %d" + +#: dicod/server.c:227 +#, c-format +msgid "%lu terminated on signal %d" +msgstr "Proces potomny %lu zakończył się na sygnał %d" + +#: dicod/server.c:230 +#, c-format +msgid "%lu stopped on signal %d" +msgstr "Proces potomny %lu zatrzymał się na sygnał %d" + +#: dicod/server.c:234 +#, c-format +msgid "%lu dumped core" +msgstr "%lu zrzucił rdzeń" + +#: dicod/server.c:237 +#, c-format +msgid "%lu terminated with unrecognized status" +msgstr "Proces %lu zakończył się z nierozpoznanym kodem" + +#: dicod/server.c:305 +#, c-format +msgid "Cannot open pidfile `%s'" +msgstr "Nie można otworzyć pliku PID `%s'" + +#: dicod/server.c:308 +#, c-format +msgid "Cannot get pid from pidfile `%s'" +msgstr "Nie można otrzymać PID z pliku `%s'" + +#: dicod/server.c:314 +#, c-format +msgid "%s appears to run with pid %lu. If it does not, remove `%s' and retry." +msgstr "" +"Wygląda na to że program %s już jest uruchomiony i ma PID %lu. Jeśli to nie " +"tak, usuń plik `%s' i spróbuj ponownie." + +#: dicod/server.c:324 dicod/server.c:343 +#, c-format +msgid "Cannot unlink pidfile `%s'" +msgstr "unlink(%s) nie powiodła się" + +#: dicod/server.c:334 +#, c-format +msgid "Cannot create pidfile `%s'" +msgstr "Nie można utworzyć pliku PID `%s'" + +#: dicod/server.c:402 +#, c-format +msgid "connection from %s denied" +msgstr "połączenie z %s odrzucono" + +#: dicod/server.c:459 +msgid "fork failed" +msgstr "fork nie powiódł się" + +#: dicod/server.c:475 +msgid "refusing to restart due to errors in configuration file" +msgstr "odmowa restartu z powodu błędów konfiguracji" + +#: dicod/server.c:481 +msgid "" +"refusing to restart due to unexpected return status of configuration checker" +msgstr "" +"odmowa restartu z powodu nieoczekiwanego zakończenia kontrolera składni" + +#: dicod/server.c:489 +msgid "" +"refusing to restart: configuration checker did not exit within 5 seconds" +msgstr "odmowa restartu: kontroler składni nie zakończył się w ciągu 5 sekund" + +#: dicod/server.c:498 +msgid "waitpid failed" +msgstr "waitpid nie powiodła się" + +#: dicod/server.c:499 +msgid "refusing to restart" +msgstr "odmowa restartu" + +#: dicod/server.c:539 +#, c-format +msgid "too many children (%lu)" +msgstr "za dużo procesów potomnych (%lu)" + +#: dicod/server.c:557 +msgid "select error" +msgstr "błąd selektu" + +#: dicod/server.c:585 +#, c-format +msgid "%s started" +msgstr "%s uruchomiony" + +#: dicod/server.c:590 +msgid "not running as root: ignoring user/group settings" +msgstr "nie mam uprawnień roota: ignoruję ustawienia użytkownika/grup" + +#: dicod/server.c:603 +msgid "dicod started without full file name" +msgstr "dicod uruchomiono bez pełnej nazwy ścieżki" + +#: dicod/server.c:604 dicod/server.c:608 +msgid "restart (SIGHUP) will not work" +msgstr "restart (SUGHUP) nie będzie działał" + +#: dicod/server.c:607 +msgid "configuration file is not given with a full file name" +msgstr "nie podano pełnej nazwy pliku konfiguracyjnego" + +#: dicod/server.c:615 +msgid "Cannot become a daemon" +msgstr "Uruchomienie w trybie demona nie powiodło się" + +#: dicod/server.c:632 +#, c-format +msgid "Exit code = %d, last error status" +msgstr "Kod = %d, ostatni błąd" + +#: dicod/server.c:640 +#, c-format +msgid "%s restarting" +msgstr "%s: ponowne uruchomienie" + +#: dicod/server.c:644 +msgid "Cannot restart" +msgstr "Nie można restartować się" + +#: dicod/server.c:646 +#, c-format +msgid "%s terminating" +msgstr "%s: zakończenie" + +#: dicod/ident.c:200 +msgid "Incorrect length of IDENT DES packet" +msgstr "Nieprawidłowa długość pakietu IDENT DES" + +#: dicod/ident.c:207 +#, c-format +msgid "Cannot open file %s" +msgstr "Nie można otworzyć pliku %s" + +#: dicod/ident.c:388 +msgid "cannot create socket for AUTH identification" +msgstr "nie można otworzyć gniazda do uwierzytelnienia AUTH" + +#: dicod/ident.c:400 +msgid "cannot bind AUTH socket" +msgstr "nie można dowiązać gniazda AUTH" + +#: dicod/ident.c:413 dicod/ident.c:464 +#, c-format +msgid "cannot connect to AUTH server %s" +msgstr "nie można połączyć się z serwerem AUTH %s" + +#: dicod/ident.c:437 +#, c-format +msgid "Malformed IDENT response: `%s', from %s" +msgstr "Niewłaściwa odpowiedź IDENT: `%s', z %s" + +#: dicod/ident.c:442 +msgid "" +"Keyfile for AUTH responses not specified in config; use `ident-keyfile FILE'" +msgstr "Plik kluczy nie ustalony w konfiguracji: użyj `ident-keyfile FILE'" + +#: dicod/ident.c:458 +#, c-format +msgid "failure while communicating with AUTH server %s" +msgstr "błąd podczas dialogu z serwerem AUTH %s" + +#: dicod/ident.c:469 +#, c-format +msgid "no reply from AUTH server %s" +msgstr "AUTH serwer %s nie odpowiada" + +#: dicod/ident.c:475 +#, c-format +msgid "I/O error while communicating with AUTH server %s" +msgstr "błąd wejścia/wyjścia podczas dialogu z serwerem AUTH %s" + +#: dicod/accesslog.c:487 +#, c-format +msgid "log format error (near char %td): missing terminating `}'" +msgstr "błąd formatu (przy pozycji %td): brak końcowego `}'" + +#: dicod/accesslog.c:502 +#, c-format +msgid "log format error (near char %td): unknown format char `%c'" +msgstr "błąd formatu (przy pozycji %td): nieznana litera formatowania `%c'" + +#: dicod/accesslog.c:510 +#, c-format +msgid "" +"log format warning (near char %td): format char `%c' does not take arguments" +msgstr "" +"błąd formatu (przy pozycji %td): litera formatowania `%c' nie może mieć " +"argumentów" + +#: dicod/accesslog.c:553 +#, c-format +msgid "cannot open access log file `%s'" +msgstr "nie można otworzyć pliku logowania dostępu `%s'" + +#: dicod/gsasl.c:84 +#, c-format +msgid "Unexpected input instead of SASLRESP command: %s" +msgstr "Nieoczekiwana odpowiedź w miejscu polecenia SASLRESP: %s" + +#: dicod/gsasl.c:123 +#, c-format +msgid "SASL gsasl_server_start: %s" +msgstr "SASL gsasl_server_start: %s" + +#: dicod/gsasl.c:163 +#, c-format +msgid "GSASL %s: cannot get username" +msgstr "GSASL %s: nie można pobrać nazwy użytkownika" + +#: dicod/gsasl.c:269 +msgid "user name not supplied" +msgstr "nie podano nazwy użytkownika" + +#: dicod/gsasl.c:333 +#, c-format +msgid "cannot initialize libgsasl: %s" +msgstr "nie można zainicjować libgsasl: %s" + +#: modules/dict.org/dictorg.c:83 +#, c-format +msgid "mod_init: cannot stat `%s'" +msgstr "mod_init: wywołanie stat(%s) nie powiodło się" + +#: modules/dict.org/dictorg.c:88 +#, c-format +msgid "mod_init: `%s' is not a directory" +msgstr "mod_init: `%s' nie jest katalogiem" + +#: modules/dict.org/dictorg.c:93 +#, c-format +msgid "mod_init: `%s' is not readable" +msgstr "mod_init: `%s' nie jest czytelny" + +#: modules/dict.org/dictorg.c:248 +#, c-format +msgid "%s:%lu: invalid base64 value: `%.*s'" +msgstr "%s:%lu: nieoprawna wartość base64: `%.*s'" + +#: modules/dict.org/dictorg.c:263 +#, c-format +msgid "%s:%lu: malformed entry" +msgstr "%s:%lu: niewłaściwy wpis" + +#: modules/dict.org/dictorg.c:302 +#, c-format +msgid "open_index: cannot stat `%s'" +msgstr "open_index: wywołanie stat(%s) nie powiodło się" + +#: modules/dict.org/dictorg.c:306 +#, c-format +msgid "open_index: `%s' is not a regular file" +msgstr "open_index: `%s' nie jest zwykłym plikiem" + +#: modules/dict.org/dictorg.c:315 modules/dict.org/dictorg.c:412 +#: modules/gcide/gcide.c:316 modules/gcide/gcide.c:725 +#, c-format +msgid "cannot create stream `%s'" +msgstr "nie można utworzyć strumienia `%s'" + +#: modules/dict.org/dictorg.c:321 modules/dict.org/dictorg.c:420 +#: modules/gcide/gcide.c:323 modules/gcide/gcide.c:732 +#, c-format +msgid "cannot open stream `%s': %s" +msgstr "nie można otworzyć strumienia `%s': %s" + +#: modules/dict.org/dictorg.c:430 +#, c-format +msgid "cannot open stream for dictionary `%s'" +msgstr "Nie można otworzyć strumienia słownika `%s'" + +#: modules/dict.org/dictorg.c:458 +#, c-format +msgid "mod_init_db(%s): database name not given" +msgstr "mod_init_db(%s): nie podano nazwy bazy danych" + +#: modules/dict.org/dictorg.c:468 +#, c-format +msgid "mod_init_db: `%s' is not an absolute file name" +msgstr "mod_init_db: `%s' nie jest pełną nazwą pliku" + +#: modules/dict.org/dictorg.c:508 +#, c-format +msgid "mod_init_db(%s): index files in old 8-bit format are not supported" +msgstr "" +"mod_init_db(%s): plik indeksowy w starym formacie ośmiobitowym nie jest " +"obsługiwany" + +#: modules/dict.org/dictorg.c:810 modules/dict.org/dictorg.c:993 +#: modules/gcide/gcide.c:756 +#, c-format +msgid "%s: read error: %s" +msgstr "%s: błąd odczytu: %s" + +#: modules/dict.org/dictorg.c:904 +msgid "_match_all: key initialization failed" +msgstr "_match_all: inicjalizacja klucza nie powiodła się" + +#: modules/dict.org/dictorg.c:983 +#, c-format +msgid "%s: seek error: %s" +msgstr "%s: błąd szukania: %s" + +#: modules/dict.org/dictstr.c:176 +#, c-format +msgid "cannot initialize inflation engine: %s" +msgstr "nie można zainicjować silnika dekompresji: %s" + +#: modules/dict.org/dictstr.c:198 +#, c-format +msgid "%s:%d: INTERNAL ERROR: inflate did not flush (%d pending, %d avail)" +msgstr "" +"%s:%d: BŁĄD WEWNĘTRZNY: błąd synchronizacji podczas dekompresji (%d " +"oczekujących, %d dostępnych)" + +#: modules/dict.org/dictstr.c:286 +#, c-format +msgid "%s:%d: INTERNAL ERROR: cannot shut down inflation engine: %s" +msgstr "%s:%d: BŁĄD WEWNĘTRZNY: nie można zatrzymać silnika dekompresji: %s" + +#: modules/dict.org/dictstr.c:437 +#, c-format +msgid "file position (%lu) != header length + 1 (%lu)" +msgstr "pozycja w pliku (%lu) != długość nagłówka + 1 (%lu)" + +#: modules/dict.org/dictstr.c:475 +msgid "unknown dictionary format" +msgstr "nieznany format słownika" + +#: modules/dict.org/dictstr.c:478 +msgid "unsupported dictionary format" +msgstr "nieobsługiwany format słownika" + +#: modules/dict.org/dictstr.c:481 +msgid "unsupported dictionary version" +msgstr "nieobsługiwana wersja słownika" + +#: modules/dict.org/dictstr.c:484 +msgid "malformed header" +msgstr "zniekształcony nagłówek" + +#: modules/dict.org/dictstr.c:487 +msgid "cannot seek on pure gzip format files" +msgstr "pozycjonowanie w plikach formatu gzip nie jest możliwe" + +#: modules/dict.org/dictstr.c:490 +msgid "error decompressing stream" +msgstr "błąd dekompresji strumienia" + +#: modules/guile/guile.c:151 +#, c-format +msgid "%s: not enough memory" +msgstr "%s: brak pamięci" + +#: modules/guile/guile.c:164 +#, c-format +msgid "%s: invalid return type" +msgstr "%s: nieprawidłowy typ powrotu" + +#: modules/guile/guile.c:184 +#, c-format +msgid "procedure `%s' failed: see error output for details" +msgstr "procedura `%s' nie powiodła się: szczegóły w wyjściu diagnostycznym" + +#: modules/guile/guile.c:735 +#, c-format +msgid "%s: %s: unknown virtual function" +msgstr "%s: %s: nieznana funkcja wirtualna" + +#: modules/guile/guile.c:794 +msgid "mod_init: cannot initialize error port" +msgstr "mod_init: nie można inicjalizować portu błędów" + +#: modules/guile/guile.c:802 modules/guile/guile.c:836 +#, c-format +msgid "mod_init: cannot load init script %s" +msgstr "mod_init: nie można załadować skryptu %s" + +#: modules/guile/guile.c:862 +#, c-format +msgid "%s: %s: void virtual function" +msgstr "%s: %s: funkcja wirtualna nie zdefiniowana" + +#: modules/guile/guile.c:1084 +msgid "mod_match: key initialization failed" +msgstr "mod_match: inicjalizacja klucza nie powiodła się" + +#: modules/outline/outline.c:476 +msgid "outline_open: wrong number of arguments" +msgstr "outline_open: niepoprawna ilość argumentów" + +#: modules/outline/outline.c:482 modules/gcide/idxgcide.l:269 +#, c-format +msgid "cannot open file %s" +msgstr "nie można otworzyć pliku %s" + +#: modules/outline/outline.c:642 +msgid "outline_lang: not enough memory" +msgstr "outline_lang: brak pamięci" + +#: modules/outline/outline.c:681 +msgid "outline_match_all: not enough memory" +msgstr "outline_match_all: brak pamięci" + +#: modules/outline/outline.c:686 +msgid "outline_match_all: key initialization failed" +msgstr "outline_match_all: inicjalizacja klucza nie powiodła się" + +#: modules/ldap/ldap.c:60 +#, c-format +msgid "cannot set LBER_OPT_DEBUG_LEVEL %d" +msgstr "nie można ustawić LBER_OPT_DEBUG_LEVEL %d" + +#: modules/ldap/ldap.c:65 +#, c-format +msgid "could not set LDAP_OPT_DEBUG_LEVEL %d" +msgstr "nie można ustawić LDAP_OPT_DEBUG_LEVEL %d" + +#: modules/ldap/ldap.c:73 +#, c-format +msgid "cannot create LDAP session handle for URI=%s (%d): %s" +msgstr "nie można stworzyć uchwyt sesji LDAP dla URI=%s (%d): %s" + +#: modules/ldap/ldap.c:81 +#, c-format +msgid "ldap_start_tls failed: %s" +msgstr "błąd ldap_start_tls: %s" + +#: modules/ldap/ldap.c:199 +#, c-format +msgid "cannot parse options `%s': %s" +msgstr "nie można przeanalizować opcji `%s': %s" + +#: modules/ldap/ldap.c:215 +msgid "cannot allocate handle" +msgstr "brak pamięci do utworzenia uchwytu" + +#: modules/ldap/ldap.c:255 +#, c-format +msgid "cannot expand query `%s': %s" +msgstr "nie można rozszerzyć zapytania `%s': %s" + +#: modules/gcide/gcide.c:85 +#, c-format +msgid "gcide: cannot stat `%s'" +msgstr "gcide: wywołanie stat(%s) nie powiodło się" + +#: modules/gcide/gcide.c:89 +#, c-format +msgid "gcide: `%s' is not a directory" +msgstr "gcide: `%s' nie jest katalogiem" + +#: modules/gcide/gcide.c:93 modules/gcide/gcide.c:158 +#, c-format +msgid "gcide: `%s' is not readable" +msgstr "gcide: `%s' nie jest czytelny" + +#: modules/gcide/gcide.c:113 +#, c-format +msgid "gcide_open_idx: creating index %s" +msgstr "gcide_open_idx: stworzenie indeksu %s" + +#: modules/gcide/gcide.c:116 +#, c-format +msgid "gcide_open_idx: cannot run %s" +msgstr "gcide_open_idx: nie mogę uruchomić %s" + +#: modules/gcide/gcide.c:125 +msgid "gcide_open_idx: fork failed" +msgstr "gcide_open_idx: błąd fork" + +#: modules/gcide/gcide.c:129 modules/gcide/gcide.c:134 +#, c-format +msgid "gcide_open_idx: %s failed" +msgstr "gcide_open_idx: błąd programu %s" + +#: modules/gcide/gcide.c:141 +#, c-format +msgid "gcide_open_idx: %s exited with status %d" +msgstr "gcide_open_idx: proces potomny %s zakończył się ze stanem %d" + +#: modules/gcide/gcide.c:162 modules/gcide/gcide.c:182 +#, c-format +msgid "gcide: can't stat `%s'" +msgstr "gcide: wywołanie stat(%s) nie powiodło się" + +#: modules/gcide/gcide.c:188 +msgid "gcide: index file older than database, reindexing" +msgstr "gcide: plik indeksowy starszy od bazy danych: ponowna indeksacja" + +#: modules/gcide/gcide.c:190 +#, c-format +msgid "gcide_open_idx: cannot access %s" +msgstr "gcide_open_idx: nie ma dostępu do %s" + +#: modules/gcide/gcide.c:249 +msgid "gcide_init_db: database directory not given" +msgstr "gcide_init_db: nie podano nazwy katalogu bazy danych" + +#: modules/gcide/gcide.c:335 modules/gcide/gcide.c:354 +#, c-format +msgid "read error in stream `%s': %s" +msgstr "błąd odczytu w strumieniu `%s': %s" + +#: modules/gcide/gcide.c:344 +#, c-format +msgid "cannot get size of stream `%s': %s" +msgstr "nie można otrzymać rozmiaru strumienia `%s': %s" + +#: modules/gcide/gcide.c:351 +msgid "cannot allocate dictionary information buffer" +msgstr "nie można zarezerwować bufora informacji słownikowych" + +#: modules/gcide/gcide.c:518 modules/wordnet/wordnet.c:617 +#, c-format +msgid "%s: key initialization failed" +msgstr "%s: inicjalizacja klucza nie powiodła się" + +#: modules/gcide/gcide.c:742 +#, c-format +msgid "seek error on `%s' while positioning to %lu: %s" +msgstr "błąd poszukiwania w pliku `%s' podczas pozycjonowania na %lu: %s" + +#: modules/gcide/idx.c:68 +#, c-format +msgid "error reading from `%s'" +msgstr "błąd odczytu z %s" + +#: modules/gcide/idx.c:71 +#, c-format +msgid "short read while reading from `%s'" +msgstr "odczytano za mało bajtów z `%s'" + +#: modules/gcide/idx.c:91 +#, c-format +msgid "file `%s' is not a valid gcide index file" +msgstr "plik `%s' nie jest prawidłowym indeksem gcide" + +#: modules/gcide/idx.c:103 +#, c-format +msgid "index file `%s' is corrupted" +msgstr "plik indeksowy `%s' jest uszkodzony" + +#: modules/gcide/idx.c:128 +#, c-format +msgid "cannot open index file `%s'" +msgstr "nie można otworzyć pliku indeksowego `%s'" + +#: modules/gcide/idx.c:246 +#, c-format +msgid "seek error on `%s' while positioning to %lu" +msgstr "błąd poszukiwania w pliku `%s' podczas pozycjonowania na %lu" + +#: modules/gcide/idxgcide-cli.opt:62 +#, c-format +msgid "not a valid size: %s" +msgstr "niepoprawny rozmiar: %s" + +#: modules/gcide/idxgcide.l:77 +msgid "page too small, aborting" +msgstr "rozmiar strony za mały, zakończenie" + +#: modules/gcide/idxgcide.l:120 +msgid "Sorting references" +msgstr "Sortowanie odnośników" + +#: modules/gcide/idxgcide.l:124 +msgid "Writing references" +msgstr "Zapis odnośników" + +#: modules/gcide/idxgcide.l:217 +#, c-format +msgid "%s:%u: unknown or illegible character in a headword" +msgstr "%s:%u: nieznany lub nieczytelny znak w haśle" + +#: modules/gcide/idxgcide.l:221 +#, c-format +msgid "%s:%u: unrecognized entity: %s" +msgstr "%s:%u: nieznana encja: %s" + +#: modules/gcide/idxgcide.l:236 +#, c-format +msgid "%s:%u: unknown character sequence %s" +msgstr "%s:%u: nie znana sekwencja znaków %s" + +#: modules/gcide/idxgcide.l:266 +#, c-format +msgid "Indexing %s" +msgstr "Indeksowanie %s" + +#: modules/gcide/idxgcide.l:302 +msgid "page size too small" +msgstr "za mały rozmiar strony" + +#: modules/gcide/idxgcide.l:311 +msgid "bad number of arguments" +msgstr "niepoprawna ilość argumentów" + +#: modules/gcide/idxgcide.l:335 +#, c-format +msgid "cannot create index file `%s'" +msgstr "nie można utworzyć pliku indeksowego `%s'" + +#: modules/gcide/idxgcide.l:356 +#, c-format +msgid "headwords=%lu, definitions=%lu, refs per page=%lu, pages=%lu" +msgstr "hasła=%lu, definicje=%lu, odnośników na stronę=%lu, stron=%lu" + +#: modules/gcide/markup.l:148 +#, c-format +msgid "cannot parse line %.*s: %s" +msgstr "nie można przetworzyć wiersza %*.s: %s" + +#: modules/gcide/markup.l:300 +#, c-format +msgid "%u: unrecognized entity: %s" +msgstr "%u: nieznana encja: %s" + +#: modules/gcide/markup.l:312 +#, c-format +msgid "%u: unknown character sequence %s" +msgstr "%u: nie znana sekwencja znaków %s" + +#: modules/wordnet/wordnet.c:79 +msgid "cannot open wordnet database" +msgstr "nie można otworzyć bazy danych wordnet" + +#: modules/wordnet/wordnet.c:232 +#, c-format +msgid "wordnet: unknown option %s" +msgstr "wordnet: nieznana opcja %s" + +#: modules/wordnet/wordnet.c:239 +#, c-format +msgid "wordnet: option %s is not yet supported" +msgstr "wordnet: opcja %s jeszcze nie jest obsługiwana" + +#: grecs/src/cidr.c:129 grecs/src/cidr.c:179 grecs/src/cidr.c:186 +#, c-format +msgid "invalid network mask: %s" +msgstr "niepoprawna maska sieci: %s" + +#: grecs/src/cidr.c:142 grecs/src/cidr.c:149 grecs/src/cidr.c:160 +#, c-format +msgid "unrecognized address family: %s" +msgstr "nieobsługiwana rodzina adresów: %s" + +#: grecs/src/cidr.c:153 +#, c-format +msgid "invalid network address: %s" +msgstr "niepoprawny adres sieciowy: %s" + +#: grecs/src/format.c:33 +msgid "void" +msgstr "" + +#: grecs/src/format.c:36 grecs/src/tree.c:69 +#, fuzzy +msgid "string" +msgstr "url: łańcuch" + +#: grecs/src/format.c:46 +#, fuzzy +msgid "number" +msgstr "długość: liczba" + +#: grecs/src/format.c:49 +msgid "time" +msgstr "" + +#: grecs/src/format.c:52 +#, fuzzy +msgid "boolean" +msgstr "bool" + +#: grecs/src/format.c:55 +msgid "IPv4" +msgstr "" + +#: grecs/src/format.c:58 +msgid "CIDR" +msgstr "" + +#: grecs/src/format.c:61 +#, fuzzy +msgid "hostname" +msgstr "nazwa" + +#: grecs/src/format.c:64 +#, fuzzy +msgid "sockaddr" +msgstr "adres" + +#: grecs/src/format.c:67 +#, fuzzy +msgid "section" +msgstr "Wybór serwera" + +#: grecs/src/format.c:70 +msgid "null" +msgstr "" + +#: grecs/src/format.c:133 +msgid "Disabled;" +msgstr "Wyłączono;" + +#: grecs/src/grecs-lex.l:186 +#, c-format +msgid "stray character %c" +msgstr "błędny znak %c" + +#: grecs/src/grecs-lex.l:189 +#, c-format +msgid "stray character \\%03o" +msgstr "zabłąkany znak \\%03o" + +#: grecs/src/grecs-lex.l:219 grecs/src/preproc.c:480 +#, c-format +msgid "Cannot open `%s'" +msgstr "Nie można otworzyć `%s'" + +#: grecs/src/grecs-lex.l:227 grecs/src/preproc.c:698 +#, c-format +msgid "Unable to start external preprocessor `%s'" +msgstr "Nie mogę uruchomić preprocesora `%s'" + +#: grecs/src/grecs-lex.l:394 grecs/src/grecs-lex.l:431 +#, c-format +msgid "cannot parse #line line: %s" +msgstr "analiza wiersza #line nie powiodła się: %s" + +#: grecs/src/grecs-lex.l:415 grecs/src/grecs-lex.l:435 +msgid "invalid #line statement" +msgstr "niepoprawna instrukcja #line" + +#: grecs/src/grecs-lex.l:418 grecs/src/grecs-lex.l:439 +msgid "malformed #line statement" +msgstr "zniekształcona instrukcja #line" + +#: grecs/src/lineacc.c:70 +#, c-format +msgid "unknown escape sequence: '\\%c'" +msgstr "nieznana sekwencja ucieczki: '\\%c'" + +#: grecs/src/opthelp.c:123 grecs/src/opthelp.c:269 +msgid "Usage:" +msgstr "Użycie:" + +#: grecs/src/opthelp.c:127 +msgid "OPTION" +msgstr "OPCJE" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Aliases" +msgstr "Aliasy" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Alias" +msgstr "Alias" + +#: grecs/src/opthelp.c:186 +msgid "" +"Mandatory or optional arguments to long options are also mandatory or " +"optional for any corresponding short options." +msgstr "" +"Argumenty obowiązkowe lub opcjonalne dla długich opcji są również " +"obowiązkowe lub opcjonalne dla odpowiednich krótkich opcji." + +#. TRANSLATORS: The placeholder indicates the bug-reporting +#. address for this package. Please add _another line_ saying +#. "Report translation bugs to <...>\n" with the address for +#. translation bugs (typically your translation team's web or +#. email address). +#: grecs/src/opthelp.c:202 +#, c-format +msgid "Report bugs to %s.\n" +msgstr "Raporty o błędach wysyłaj do %s.\n" + +#: grecs/src/opthelp.c:205 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "strona domowa %s: <%s>\n" + +#. TRANSLATORS: Translate "(C)" to the copyright symbol +#. (C-in-a-circle), if this symbol is available in the user's +#. locale. Otherwise, do not translate "(C)"; leave it as-is. +#: grecs/src/opthelp.c:457 +msgid "(C)" +msgstr "(C)" + +#: grecs/src/opthelp.c:466 +msgid "" +"License GPLv3+: GNU GPL version 3 or later \n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +"\n" +msgstr "" +"Licencja GPLv3+: GNU GPL wersji 3 lub nowszej \n" +"To jest wolne oprogramowanie: masz prawo modyfikować i rozpowszechniać go.\n" +"Nie ma ŻADNYCH GWARANCJI, o ile prawo na to zezwala.\n" +"\n" + +#: grecs/src/opthelp.c:483 +msgid "Written by " +msgstr "Autory " + +#. TRANSLATORS: This string is used as a delimiter between +#. authors' names as in: +#. +#. Written by Winnie the Pooh, Piglet ... +#. +#: grecs/src/opthelp.c:489 +msgid ", " +msgstr ", " + +#. TRANSLATORS: This string acts as a delimiter before the +#. last author's names, e.g.: +#. +#. Written by Winnie the Pooh, Piglet and Christopher Robin. +#. +#: grecs/src/opthelp.c:495 +msgid " and " +msgstr " i " + +#: grecs/src/path-parser.c:62 +#, c-format +msgid "cannot open `%s'" +msgstr "nie można otworzyć `%s'" + +#: grecs/src/path-parser.c:108 grecs/src/path-parser.c:123 +msgid "unexpected end of file" +msgstr "nieoczekiwany koniec pliku" + +#: grecs/src/path-parser.c:143 +msgid "parse error" +msgstr "błąd analizy" + +#: grecs/src/preproc.c:448 grecs/src/preproc.c:470 +#, c-format +msgid "Cannot stat `%s'" +msgstr "Wywołanie stat(%s) nie powiodło się" + +#: grecs/src/preproc.c:453 grecs/src/preproc.c:458 +msgid "Recursive inclusion" +msgstr "Dołączanie rekurencyjne" + +#: grecs/src/preproc.c:461 +#, c-format +msgid "`%s' already included here" +msgstr "`%s' już został dołączony tutaj" + +#: grecs/src/preproc.c:465 +#, c-format +msgid "`%s' already included at top level" +msgstr "`%s' został dołączony na poziomie najwyższym" + +#: grecs/src/preproc.c:595 +msgid "Cannot parse include line" +msgstr "Analiza polecenia dołączania nie powiodła się" + +#: grecs/src/preproc.c:598 +msgid "invalid include statement" +msgstr "nieprawidłowe polecenie dołączania" + +#: grecs/src/preproc.c:624 +msgid "read error" +msgstr "błąd odczytu" + +#: grecs/src/preproc.c:632 +#, c-format +msgid "%s: No such file or directory" +msgstr "%s: Nie ma takiego pliku lub katalogu" + +#: grecs/src/preproc.c:773 grecs/src/preproc.c:793 +#, c-format +msgid "Cannot run `%s'" +msgstr "Nie można wykonać `%s'" + +#: grecs/src/sockaddr.c:67 +#, c-format +msgid "socket path name too long: %s" +msgstr "nazwa gniazda jest za długa: %s" + +#: grecs/src/sockaddr.c:120 +#, c-format +msgid "%s: garbage near %s" +msgstr "%s: błąd przy %s" + +#: grecs/src/sockaddr.c:159 +#, c-format +msgid "service not specified: %s" +msgstr "nie podano nazwy serwisu: %s" + +#: grecs/src/sockaddr.c:176 +#, c-format +msgid "%s: cannot parse address: %s" +msgstr "%s: analiza adresu nie powiodła się: %s" + +#: grecs/src/sockaddr.c:269 +#, c-format +msgid "unknown or unsupported scheme: %s" +msgstr "nieznany lub niepodtrzymywany schemat: %s" + +#: grecs/src/sockaddr.c:278 +#, c-format +msgid "%s: UNIX socket must be an absolute file name" +msgstr "%s: nazwa gniazda musi być pełną nazwą pliku" + +#: grecs/src/symtab.c:236 +msgid "element not found in table" +msgstr "nie znaleziono elementu w tablicy" + +#: grecs/src/symtab.c:238 +msgid "symbol table is full" +msgstr "tablica symboli przepełniona" + +#: grecs/src/tree.c:70 +msgid "list" +msgstr "" + +#: grecs/src/tree.c:71 +#, fuzzy +msgid "one or more arguments" +msgstr "za dużo argumentów" + +#: grecs/src/tree.c:75 +msgid "unrecognized type; please report" +msgstr "" + +#: grecs/src/tree.c:320 +msgid "section keyword used as a scalar" +msgstr "" + +#: grecs/src/tree.c:322 +msgid "scalar keyword used as a section" +msgstr "" + +#: grecs/src/tree.c:325 +#, fuzzy +msgid "unknown keyword" +msgstr "Nieznane słowo kluczowe" + +#: grecs/src/tree.c:360 +#, c-format +msgid "%s: not a valid boolean value" +msgstr "%s nie jest poprawną wartością boole'owską" + +#: grecs/src/tree.c:420 grecs/src/tree.c:644 +#, c-format +msgid "%s: not a valid IP address or hostname" +msgstr "%s: niepoprawny adres IPv4 lub nazwa hosta" + +#: grecs/src/tree.c:444 +#, c-format +msgid "%s: not a valid port number" +msgstr "%s: niepoprawny numer portu" + +#: grecs/src/tree.c:452 +msgid "missing port number" +msgstr "brak numeru portu" + +#: grecs/src/tree.c:501 +msgid "numeric overflow" +msgstr "przepełnienie arytmetyczne" + +#: grecs/src/tree.c:506 +msgid "value out of allowed range" +msgstr "wartość poza dozwolonym zakresem" + +#: grecs/src/tree.c:541 grecs/src/tree.c:571 +#, c-format +msgid "not a number (stopped near `%s')" +msgstr "nie jest liczbą (zatrzymano przy `%s')" + +#: grecs/src/tree.c:635 +#, c-format +msgid "%s: not a valid IP address" +msgstr "%s: niepoprawny adres IP" + +#: grecs/src/tree.c:774 +#, c-format +msgid "too many arguments to `%s'; missing semicolon?" +msgstr "zbyt dużo argumentów do `%s': brak średnika?" + +#: grecs/src/tree.c:788 grecs/src/tree.c:836 +#, c-format +msgid "INTERNAL ERROR at %s:%d: unhandled data type %d" +msgstr "BŁĄD WEWNĘTRZNY przy %s:%d: nieobsługiwany typ danych %d" + +#: grecs/src/tree.c:803 +#, c-format +msgid "%s: incompatible data type in list item #%d" +msgstr "%s: element listy #%d ma niekompatybilny typ danych" + +#: grecs/src/tree.c:823 +#, c-format +msgid "incompatible data type for `%s'" +msgstr "niekompatybilny typ danych dla `%s'" + +#: grecs/wordsplit/wordsplit.c:130 +msgid "memory exhausted while trying to store error context" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:881 +msgid "Restarting" +msgstr "Ponowne uruchomienie" + +#: grecs/wordsplit/wordsplit.c:1607 +#, c-format +msgid "%.*s: variable null or not set" +msgstr "%.*s: zmienna pusta lub nie ustawiona" + +#: grecs/wordsplit/wordsplit.c:1637 +#, c-format +msgid "warning: undefined variable `%.*s'" +msgstr "ostrzeżenie: niezdefiniowana zmienna `%.*s'" + +#: grecs/wordsplit/wordsplit.c:2138 +#, c-format +msgid "no files match pattern %s" +msgstr "żaden plik nie pasuje do wzoru %s" + +#: grecs/wordsplit/wordsplit.c:2599 +msgid "WS trimming" +msgstr "usunięcie białych znaków" + +#: grecs/wordsplit/wordsplit.c:2601 +msgid "command substitution" +msgstr "rozszerzenie poleceń" + +#: grecs/wordsplit/wordsplit.c:2603 grecs/wordsplit/wordsplit.c:2611 +msgid "coalesce list" +msgstr "zjednoczenie listy" + +#: grecs/wordsplit/wordsplit.c:2605 +msgid "tilde expansion" +msgstr "rozszerzenie tyldy" + +#: grecs/wordsplit/wordsplit.c:2607 +msgid "variable expansion" +msgstr "rozszerzenie zmiennych" + +#: grecs/wordsplit/wordsplit.c:2609 +msgid "quote removal" +msgstr "usunięcie cudzysłowów" + +#: grecs/wordsplit/wordsplit.c:2613 +msgid "path expansion" +msgstr "rozszerzenie ścieżek" + +#: grecs/wordsplit/wordsplit.c:2638 +#, c-format +msgid "(%02d) Input:%.*s;" +msgstr "(%02d) Wejście:%.*s;" + +#: grecs/wordsplit/wordsplit.c:2664 +msgid "Initial list:" +msgstr "Lista początkowa:" + +#: grecs/wordsplit/wordsplit.c:2679 +msgid "Coalesced list:" +msgstr "Zjednoczona lista:" + +#: grecs/wordsplit/wordsplit.c:2849 +msgid "no error" +msgstr "żadnego błędu" + +#: grecs/wordsplit/wordsplit.c:2850 +msgid "missing closing quote" +msgstr "brak cudzysłowu zamykającego" + +#: grecs/wordsplit/wordsplit.c:2852 +msgid "invalid wordsplit usage" +msgstr "niepoprawne użycie funkcji wordsplit" + +#: grecs/wordsplit/wordsplit.c:2853 +msgid "unbalanced curly brace" +msgstr "niezbilansowany nawias klamrowy" + +#: grecs/wordsplit/wordsplit.c:2854 +msgid "undefined variable" +msgstr "niezdefiniowana zmienna" + +#: grecs/wordsplit/wordsplit.c:2855 +msgid "input exhausted" +msgstr "wejście wyczerpane" + +#: grecs/wordsplit/wordsplit.c:2856 +msgid "unbalanced parenthesis" +msgstr "niezbilansowane nawiasy" + +#: grecs/wordsplit/wordsplit.c:2857 +msgid "globbing error" +msgstr "błąd dopasowania" + +#: grecs/wordsplit/wordsplit.c:2858 +#, fuzzy +msgid "user-defined error" +msgstr "błąd odczytu" + +#: grecs/wordsplit/wordsplit.c:2859 +msgid "invalid parameter number in assignment" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2871 +msgid "unknown error" +msgstr "nieznany błąd" + +#: grecs/wordsplit/wordsplit.c:2880 +#, c-format +msgid "missing closing %c (start near #%lu)" +msgstr "brak zamykającego znaku %c (początek przy #%lu)" + +#~ msgid "%s: option '--%s' doesn't allow an argument\n" +#~ msgstr "%s: opcja '--%s' nie może mieć argumentów\n" + +#~ msgid "%s: unrecognized option '--%s'\n" +#~ msgstr "%s: nieznana opcja '--%s'\n" + +#~ msgid "%s: option '-W %s' doesn't allow an argument\n" +#~ msgstr "%s: opcja '-W %s' nie może mieć argumentów\n" + +#~ msgid "%s: option '-W %s' requires an argument\n" +#~ msgstr "%s: opcja '%s' musi mieć argument\n" + +#~ msgid "%s: unknown keyword" +#~ msgstr "%s: nieznane słowo kluczowe" diff -Nru dico-2.9/po/POTFILES.in dico-2.10/po/POTFILES.in --- dico-2.9/po/POTFILES.in 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/po/POTFILES.in 2020-09-04 03:59:20.000000000 +0000 @@ -1,6 +1,6 @@ # List of Dico files which contain translatable strings. -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -82,4 +82,4 @@ grecs/src/sockaddr.c grecs/src/symtab.c grecs/src/tree.c -grecs/src/wordsplit.c +grecs/wordsplit/wordsplit.c Binary files /tmp/tmpzBUTb6/GFUWpBukhc/dico-2.9/po/pt_BR.gmo and /tmp/tmpzBUTb6/cwmgEPIKlI/dico-2.10/po/pt_BR.gmo differ diff -Nru dico-2.9/po/pt_BR.po dico-2.10/po/pt_BR.po --- dico-2.9/po/pt_BR.po 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/po/pt_BR.po 2020-09-04 04:06:48.000000000 +0000 @@ -0,0 +1,3002 @@ +# Brazilian Portuguese translations for dico package +# Traduções em português brasileiro para o pacote dico +# Copyright (C) 2018 Free Software Foundation, Inc. +# Copyright (C) 2018 Sergey Poznyakoff +# This file is distributed under the same license as the dico package. +# Rafael Fontenelle , 2016-2018. +msgid "" +msgstr "" +"Project-Id-Version: dico 2.7\n" +"Report-Msgid-Bugs-To: bug-dico@gnu.org\n" +"POT-Creation-Date: 2020-09-04 07:06+0300\n" +"PO-Revision-Date: 2018-09-25 17:29-0200\n" +"Last-Translator: Rafael Fontenelle \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Virtaal 1.0.0-beta1\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" + +#: xdico/userprivs.c:40 +msgid "Refusing to run as root" +msgstr "Recusando a executar como root" + +#: xdico/userprivs.c:58 +#, c-format +msgid "setgroups(1, %lu) failed" +msgstr "setgroups(1, %lu) falhou" + +#: xdico/userprivs.c:69 +#, c-format +msgid "setegid(%lu) failed" +msgstr "setegid(%lu) falhou" + +#: xdico/userprivs.c:73 +#, c-format +msgid "setregid(%lu,%lu) failed" +msgstr "setregid(%lu,%lu) falhou" + +#: xdico/userprivs.c:77 +#, c-format +msgid "setresgid(%lu,%lu,%lu) failed" +msgstr "setresgid(%lu,%lu,%lu) falhou" + +#: xdico/userprivs.c:85 +#, c-format +msgid "setgid(%lu) failed" +msgstr "setgid(%lu) falhou" + +#: xdico/userprivs.c:88 +#, c-format +msgid "Cannot set effective gid to %lu" +msgstr "Não foi possível definir gid efetivo para %lu" + +#: xdico/userprivs.c:106 +#, c-format +msgid "setreuid(%lu,-1) failed" +msgstr "setreuid(%lu,-1) falhou" + +#: xdico/userprivs.c:111 +#, c-format +msgid "second setuid(%lu) failed" +msgstr "segundo setuid(%lu) falhou" + +#: xdico/userprivs.c:118 +#, c-format +msgid "setuid(%lu) failed" +msgstr "setuid(%lu) falhou" + +#: xdico/userprivs.c:126 +msgid "seteuid(0) succeeded when it should not" +msgstr "seteuid(0) funcionou quando não deveria" + +#: xdico/userprivs.c:129 +msgid "Cannot drop non-root setuid privileges" +msgstr "Não foi possível descartar privilégios não-root de setuid" + +#: xdico/xstream.c:41 +msgid "not enough memory while formatting reply message" +msgstr "memória insuficiente enquanto formatava mensagem de resposta" + +#. TRANSLATORS: +#. Get translations for open and closing quotation marks. +#. The message catalog should translate "`" to a left +#. quotation mark suitable for the locale, and similarly for +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. +#. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. +#. +#. If you don't know what to put here, please see +#. +#. and use glyphs suitable for your language. +#: xdico/gnu/quotearg.c:362 +msgid "`" +msgstr "“" + +#: xdico/gnu/quotearg.c:363 +msgid "'" +msgstr "”" + +#: xdico/gnu/obstack.c:338 xdico/gnu/obstack.c:340 +#: grecs/wordsplit/wordsplit.c:76 grecs/wordsplit/wordsplit.c:2851 +msgid "memory exhausted" +msgstr "memória esgotada" + +#: xdico/gnu/getopt.c:278 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous\n" +msgstr "%s: a opção \"-W %s\" é ambígua\n" + +#: xdico/gnu/getopt.c:284 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous; possibilities:" +msgstr "%s: a opção \"%s\" é ambígua; possibilidades:" + +#: xdico/gnu/getopt.c:319 +#, fuzzy, c-format +msgid "%s: unrecognized option '%s%s'\n" +msgstr "%s: opção desconhecida \"%c%s\"\n" + +#: xdico/gnu/getopt.c:345 +#, fuzzy, c-format +msgid "%s: option '%s%s' doesn't allow an argument\n" +msgstr "%s: a opção \"%c%s\" não permite um argumento\n" + +#: xdico/gnu/getopt.c:360 +#, fuzzy, c-format +msgid "%s: option '%s%s' requires an argument\n" +msgstr "%s: a opção \"--%s\" exige um argumento\n" + +#: xdico/gnu/getopt.c:621 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: opção inválida -- \"%c\"\n" + +#: xdico/gnu/getopt.c:636 xdico/gnu/getopt.c:682 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: a opção exige um argumento -- \"%c\"\n" + +#: lib/parseopt.c:116 +#, c-format +msgid "%s: %s: unknown option" +msgstr "%s: %s: opção desconhecida" + +#: lib/parseopt.c:127 +#, c-format +msgid "%s: %s: %s is not a valid number" +msgstr "%s: %s: %s não é um número válido" + +#: lib/parseopt.c:168 +#, c-format +msgid "%s: %s: invalid value %s" +msgstr "%s: %s: valor inválido %s" + +#: lib/iostr.c:91 +msgid "No error" +msgstr "Nenhum erro" + +#: dico/shell.c:34 +msgid "WORD" +msgstr "PALAVRA" + +#: dico/shell.c:34 +msgid "Define WORD." +msgstr "Define PALAVRA." + +#: dico/shell.c:35 +msgid "/WORD" +msgstr "/PALAVRA" + +#: dico/shell.c:35 +msgid "Match WORD." +msgstr "Procura por ocorrências de PALAVRA." + +#: dico/shell.c:36 +msgid "Redisplay previous matches." +msgstr "Reexibe correspondências anteriores." + +#: dico/shell.c:37 cmdline.opt:131 +msgid "NUMBER" +msgstr "NÚMERO" + +#: dico/shell.c:37 +msgid "Define NUMBERth match." +msgstr "Define a NÚMEROº correspondência." + +#: dico/shell.c:39 +msgid "Edit NUMBERth previous command." +msgstr "Edita o NÚMEROº comando anterior." + +#: dico/shell.c:45 +msgid "[HOST [PORT]]" +msgstr "[MÁQUINA [PORTA]]" + +#: dico/shell.c:46 +msgid "Connect to a DICT server." +msgstr "Conecta a um servidor de dicionário." + +#: dico/shell.c:50 +msgid "Close the connection." +msgstr "Fecha a conexão." + +#: dico/shell.c:53 dico/shell.c:57 +msgid "[NAME]" +msgstr "[NOME]" + +#: dico/shell.c:54 +msgid "Set or display current database name." +msgstr "Define ou exibe o nome do banco de dados atual." + +#: dico/shell.c:58 +msgid "Set or display current strategy." +msgstr "Define ou exibe a estratégia atual." + +#: dico/shell.c:61 +msgid "[NUM]" +msgstr "[NÚM]" + +#: dico/shell.c:62 +msgid "Set or query Levenshtein distance (server-dependent)." +msgstr "Define ou consulta distância Levenshtein (dependente de servidor)." + +#: dico/shell.c:66 +msgid "List available matching strategies" +msgstr "Lista estratégias correspondentes disponíveis." + +#: dico/shell.c:70 +msgid "List all accessible databases" +msgstr "Lista todos os bancos de dados acessíveis." + +#: dico/shell.c:73 +msgid "[DB]" +msgstr "[BD]" + +#: dico/shell.c:74 +msgid "Display the information about the database." +msgstr "Exibe as informações sobre o banco de dados." + +#: dico/shell.c:77 +msgid "[CHAR]" +msgstr "[CHAR]" + +#: dico/shell.c:78 +msgid "Set or display command prefix." +msgstr "Define ou exibe o prefixo do comando." + +#: dico/shell.c:81 dico/shell.c:101 +msgid "[BOOL]" +msgstr "[BOOL]" + +#: dico/shell.c:82 +msgid "Set or display session transcript mode." +msgstr "Define ou exibe o modo de transcrição de sessão." + +#: dico/shell.c:85 +msgid "[NUMBER]" +msgstr "[NÚMERO]" + +#: dico/shell.c:86 +msgid "Set or display verbosity level." +msgstr "Define ou exibe o nível de verbosidade." + +#: dico/shell.c:89 dico/shell.c:93 cmdline.opt:158 cmdline.opt:170 +msgid "STRING" +msgstr "TEXTO" + +#: dico/shell.c:90 +msgid "Change command line prompt." +msgstr "Altera o prompt de linha de comando." + +#: dico/shell.c:94 +msgid "Change or display pager settings." +msgstr "Altera ou exibe as configurações de paginação." + +#: dico/shell.c:97 +msgid "[FILE]" +msgstr "[ARQUIVO]" + +#: dico/shell.c:98 +msgid "Set or display autologin file name." +msgstr "Define ou exibe o nome de arquivo de autologin." + +#: dico/shell.c:102 +msgid "Enable SASL authentication." +msgstr "Habilita autenticação SASL." + +#: dico/shell.c:107 +msgid "Display command history." +msgstr "Exibe histórico de comando." + +#: dico/shell.c:112 +msgid "Display this help text." +msgstr "Exibe esse texto de ajuda." + +#: dico/shell.c:116 +msgid "Print program version." +msgstr "Exibe a versão do programa." + +#: dico/shell.c:120 +msgid "Print copyright statement." +msgstr "Exibe declaração de copyright." + +#: dico/shell.c:128 +msgid "Quit the shell." +msgstr "Sai do shell." + +#: dico/shell.c:149 +#, c-format +msgid "Command prefix is %c\n" +msgstr "Prefixo de comando é %c\n" + +#: dico/shell.c:151 +msgid "Expected a single punctuation character" +msgstr "Esperava um único caractere de pontuação" + +#: dico/shell.c:229 +msgid "warning: " +msgstr "aviso: " + +#: dico/shell.c:342 +msgid "unknown command" +msgstr "comando desconhecido" + +#: dico/shell.c:352 +msgid "not enough arguments" +msgstr "argumentos insuficientes" + +#: dico/shell.c:355 dicod/main.c:170 dicod/main.c:232 dicod/main.c:584 +#: dicod/main.c:793 +msgid "too many arguments" +msgstr "número excessivo de argumentos" + +#: dico/shell.c:398 +#, c-format +msgid "Cannot open init file %s" +msgstr "Não foi possível abrir o arquivo de inicialização %s" + +#: dico/connect.c:89 dico/connect.c:404 +msgid "No reply from server" +msgstr "Nenhuma resposta do servidor" + +#: dico/connect.c:110 +msgid "Attempting APOP authentication\n" +msgstr "Tentando autenticação APOP\n" + +#: dico/connect.c:117 dico/saslauth.c:338 +msgid "Not enough credentials for authentication" +msgstr "Credenciais insuficientes para autenticação" + +#: dico/connect.c:121 dico/saslauth.c:343 +msgid "Skipping authentication\n" +msgstr "Pulando autenticação\n" + +#: dico/connect.c:204 +msgid "Obtained authentication credentials from the command line\n" +msgstr "Obtidas credenciais de autenticação a partir da linha de comando\n" + +#: dico/connect.c:211 +#, c-format +msgid "File %s does not exist" +msgstr "O arquivo %s não existe" + +#: dico/connect.c:228 +msgid "Password:" +msgstr "Senha:" + +#: dico/connect.c:244 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot get stream transport" +msgstr "ERRO INTERNO em %s:%d: não foi possível obter transporte de fluxo" + +#: dico/connect.c:252 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot set stream transport" +msgstr "ERRO INTERNO em %s:%d: não foi possível definir transporte de fluxo" + +#: dico/connect.c:303 +#, c-format +msgid "Connecting to %s\n" +msgstr "Conectando-se a %s\n" + +#: dico/connect.c:311 +#, c-format +msgid "bad source address: %s" +msgstr "endereço de origem inválido: %s" + +#: dico/connect.c:326 +msgid "can't bind to the source address" +msgstr "não foi possível vincular ao servidor de origem" + +#: dico/connect.c:339 +#, c-format +msgid "%s: can't get address: %s" +msgstr "%s: não foi possível obter o endereço: %s" + +#: dico/connect.c:347 grecs/src/tree.c:391 +#, c-format +msgid "%s: UNIX socket name too long" +msgstr "%s: nome de soquete UNIX longo demais" + +#: dico/connect.c:373 +msgid "cannot create dict socket" +msgstr "não foi possível criar um socket de dicionário" + +#: dico/connect.c:383 +#, c-format +msgid "%s: cannot connect" +msgstr "%s: não foi possível se conectar" + +#: dico/connect.c:394 +#, c-format +msgid "cannot create dict stream: %s" +msgstr "não foi possível criar fluxo de dicionário: %s" + +#: dico/connect.c:408 +msgid "Invalid reply from server" +msgstr "Resposta inválida do servidor" + +#: dico/connect.c:413 +msgid "Sending client information\n" +msgstr "Enviando informação do cliente\n" + +#: dico/connect.c:418 +#, c-format +msgid "Unexpected reply to CLIENT command: `%s'" +msgstr "Resposta inesperado ao comando CLIENTE: \"%s\"" + +#: dico/connect.c:424 +msgid "Authentication failed" +msgstr "Falha na autenticação" + +#: dico/connect.c:497 +#, c-format +msgid "Sending query for word \"%s\" in database \"%s\"\n" +msgstr "Enviando consulta para palavra \"%s\" no banco de dados \"%s\"\n" + +#: dico/connect.c:508 +#, c-format +msgid "Reading %lu definition\n" +msgid_plural "Reading %lu definitions\n" +msgstr[0] "Lendo %lu definição\n" +msgstr[1] "Lendo %lu definições\n" + +#: dico/connect.c:515 +#, c-format +msgid "Unexpected reply in place of definition %lu" +msgstr "Resposta inesperada no lugar da definição %lu" + +#: dico/connect.c:538 +msgid "Setting Levenshtein threshold\n" +msgstr "Definindo limite Levenshtein\n" + +#: dico/connect.c:544 +msgid "Server rejected XLEV command" +msgstr "O servidor rejeitou do comando XLEV" + +#: dico/connect.c:545 +#, c-format +msgid "Server reply: %s" +msgstr "Resposta do servidor: %s" + +#: dico/connect.c:548 +#, c-format +msgid "Sending query to match word \"%s\" in database \"%s\", using \"%s\"\n" +msgstr "" +"Enviando consulta para conferir a palavra \"%s\" no banco de dados \"%s\", " +"usando \"%s\"\n" + +#: dico/connect.c:561 +#, c-format +msgid "Reading %lu match\n" +msgid_plural "Reading %lu matches\n" +msgstr[0] "Lendo %lu ocorrência\n" +msgstr[1] "Lendo %lu ocorrências\n" + +#: dico/connect.c:639 +msgid "Not enough data in the result" +msgstr "Dados insuficientes no resultado" + +#: dico/connect.c:706 +msgid "Freeing unlinked result" +msgstr "Liberando resultado não associado" + +#: dico/dico.c:80 +msgid "extra command line arguments ignored" +msgstr "argumentos extras de linha de comando ignorados" + +#: dico/dico.c:88 +msgid "you should give a word to look for or an URL" +msgstr "você deveria fornecer uma palavra ou uma URL a ser procurada" + +#: dico/dico.c:107 +msgid "Database name not specified" +msgstr "Nome de banco de dados não especificado" + +#: dico/func.c:33 dicod/main.c:1120 +msgid "Expected boolean value" +msgstr "Esperava um valor booleano" + +#: dico/func.c:67 +#, c-format +msgid "Cannot get listing: %s" +msgstr "Não foi possível obter listagem: %s" + +#: dico/func.c:104 dico/func.c:138 +msgid "Please specify server name or IP address" +msgstr "Por favor, especifique o nome do servidor ou endereço IP" + +#: dico/func.c:109 +msgid "Cannot connect to the server" +msgstr "Não foi possível conectar ao servidor" + +#: dico/func.c:112 +msgid "Getting list of databases\n" +msgstr "Obtendo lista de banco de dados\n" + +#: dico/func.c:114 +msgid "Getting list of strategies\n" +msgstr "Obtendo lista de estratégias\n" + +#: dico/func.c:116 +msgid "Finished getting server information\n" +msgstr "Finalizou obtenção de informações do servidor\n" + +#: dico/func.c:150 +msgid "Nothing to close" +msgstr "Nada para fechar" + +#: dico/func.c:160 +msgid "No autologin file." +msgstr "Nenhum arquivo de autologin." + +#: dico/func.c:177 dico/func.c:268 +msgid "on" +msgstr "ligada" + +#: dico/func.c:177 dico/func.c:268 +msgid "off" +msgstr "desligada" + +#: dico/func.c:258 dico/func.c:366 +msgid "invalid number" +msgstr "número inválido" + +#: dico/func.c:268 +#, c-format +msgid "transcript is %s\n" +msgstr "transcrição está %s\n" + +#: dico/func.c:309 dico/func.c:325 +msgid "No previous match" +msgstr "Nenhuma ocorrência anterior" + +#: dico/func.c:329 +msgid "Invalid match number. Type / to see the matches." +msgstr "Número de ocorrência inválido. Digite / para ver as ocorrências." + +#: dico/func.c:344 +#, c-format +msgid "Server does not support XLEV extension" +msgstr "Não há suporte à extensão XLEV no servidor" + +#: dico/func.c:350 +#, c-format +msgid "Reported Levenshtein distance:%s\n" +msgstr "Distância Levenshtein relatada:%s\n" + +#: dico/func.c:353 +msgid "Cannot query Levenshtein distance. Server responded:" +msgstr "" +"Não foi possível consultar a distância Levenshtein. Servidor respondeu:" + +#: dico/func.c:358 +#, c-format +msgid "No distance configured\n" +msgstr "Nenhuma distância configurada\n" + +#: dico/func.c:360 +#, c-format +msgid "Configured Levenshtein distance: %u\n" +msgstr "Distância Levenshtein configurada: %u\n" + +#: dico/func.c:395 +#, c-format +msgid "" +"Search all of the databases until a match is found,\n" +"and display all matches in that database.\n" +msgstr "" +"Pesquisa todos os banco de dados até surgir uma ocorrência,\n" +"e exibe todas as ocorrências naquele banco de dados.\n" + +#: dico/func.c:398 +#, c-format +msgid "Search all of the databases and display all matches." +msgstr "Pesquisa em todos os bancos de dados e exibe todas ocorrências." + +#: dico/autologin.c:151 +#, c-format +msgid "Found matching line %d\n" +msgstr "Localizada correspondência na linha %d\n" + +#: dico/autologin.c:160 +#, c-format +msgid "Found default line %d\n" +msgstr "Localizado padrão na linha %d\n" + +#: dico/autologin.c:192 +#, c-format +msgid "Cannot open autologin file %s" +msgstr "Não foi possível abrir o arquivo de autologin %s" + +#: dico/autologin.c:197 +#, c-format +msgid "Reading autologin file %s...\n" +msgstr "Lendo arquivo de autologin %s...\n" + +#: dico/autologin.c:218 +#, c-format +msgid "failed to parse command `%s': %s" +msgstr "falha ao analisar o comando \"%s\": %s" + +#: dico/autologin.c:229 +#, c-format +msgid "failed to add line marker: %s" +msgstr "falha ao adicionar marcador de linha: %s" + +#: dico/autologin.c:251 +msgid "No matching line found\n" +msgstr "Nenhuma linha correspondente localizada\n" + +#: dico/autologin.c:269 +#, c-format +msgid "%s:%d: unknown keyword" +msgstr "%s:%d: palavra-chave desconhecida" + +#: dico/autologin.c:277 +#, c-format +msgid "%s:%d: %s without argument" +msgstr "%s:%d: %s sem argumento" + +#: dico/autologin.c:335 +#, c-format +msgid "%s:%d: failed to parse line: %s" +msgstr "%s:%d: falha ao analisar a linha: %s" + +#: cmdline.opt:29 +msgid "Server selection" +msgstr "Seleção de servidor" + +#: cmdline.opt:45 +msgid "SERVER" +msgstr "SERVIDOR" + +#: cmdline.opt:45 +msgid "connect to this server" +msgstr "conecta a este servidor" + +#: cmdline.opt:51 +msgid "SERVICE" +msgstr "SERVIÇO" + +#: cmdline.opt:51 +msgid "specify port to connect to" +msgstr "especifica a porta na qual deve ser conectada" + +#: cmdline.opt:57 cmdline.opt:77 cmdline.opt:151 cmdline.opt:164 +msgid "NAME" +msgstr "NOME" + +#: cmdline.opt:57 +msgid "select a database to search" +msgstr "seleciona um banco de dados a ser pesquisado" + +#: cmdline.opt:63 +msgid "ADDR" +msgstr "ENDEREÇO" + +#: cmdline.opt:63 +msgid "set a source address for TCP connections" +msgstr "define um endereço de ordem para conexões TCP" + +#: cmdline.opt:55 +msgid "Operation modes" +msgstr "Modos de operação" + +#: cmdline.opt:71 +msgid "match instead of define" +msgstr "corresponde em vez de definir" + +#: cmdline.opt:77 +msgid "select a strategy for matching; implies --match" +msgstr "seleciona uma estratégia para corresponder; implica em --match" + +#: cmdline.opt:85 +msgid "N" +msgstr "N" + +#: cmdline.opt:85 +msgid "set maximum Levenshtein distance" +msgstr "define a distância Levenshtein máxima" + +#: cmdline.opt:94 +msgid "show available databases" +msgstr "mostra os bancos de dados disponíveis" + +#: cmdline.opt:100 +msgid "show available search strategies" +msgstr "mostra as estratégias de pesquisa disponíveis" + +#: cmdline.opt:106 +msgid "show server help" +msgstr "mostra ajuda do servidor" + +#: cmdline.opt:112 +msgid "DBNAME" +msgstr "NOMEBD" + +#: cmdline.opt:112 +msgid "show information about database DBNAME" +msgstr "mostra informações sobre o banco de dados NOMEBD" + +#: cmdline.opt:119 +msgid "show information about the server" +msgstr "mostra informações sobre o servidor" + +#: cmdline.opt:125 +msgid "do not print the normal dico welcome" +msgstr "não exibe as boas-vindas normais do dico" + +#: cmdline.opt:117 +msgid "Authentication" +msgstr "Autenticação" + +#: cmdline.opt:133 +msgid "disable authentication" +msgstr "desabilita autenticação" + +#: cmdline.opt:139 +msgid "enable SASL authentication (default)" +msgstr "habilita autenticação SASL (padrão)" + +#: cmdline.opt:145 +msgid "disable SASL authentication" +msgstr "desabilita autenticação SASL" + +#: cmdline.opt:151 +msgid "set user name for authentication" +msgstr "define um nome de usuário para autenticação" + +#: cmdline.opt:158 +msgid "set shared secret for authentication" +msgstr "define segredo compartilhado para autenticação" + +#: cmdline.opt:164 +msgid "set the name of autologin file to use" +msgstr "define o nome do arquivo de autologin a ser usado" + +#: cmdline.opt:170 +msgid "additional text for client command" +msgstr "texto adicional para comando cliente" + +#: cmdline.opt:162 cmdline.opt:103 +msgid "Debugging" +msgstr "Depuração" + +#: cmdline.opt:177 cmdline.opt:119 +msgid "enable session transcript" +msgstr "habilita transcrição de sessão" + +#: cmdline.opt:183 +msgid "increase debugging verbosity level" +msgstr "aumenta o nível de verbosidade da depuração" + +#: cmdline.opt:189 +msgid "include time stamp in the debugging output" +msgstr "inclui marca de tempo na saída de depuração" + +#: cmdline.opt:196 cmdline.opt:138 +msgid "include source line information in the debugging output" +msgstr "inclui informação da linha de origem na saída de depuração" + +#: cmdline.opt:188 +msgid "Other options" +msgstr "Outras opções" + +#: cmdline.opt:200 +msgid "Give this help list" +msgstr "Fornece esta lista de ajuda" + +#: cmdline.opt:200 +msgid "Give a short usage message" +msgstr "Fornece uma mensagem curta de uso" + +#: cmdline.opt:200 +msgid "Print program version" +msgstr "Exibe a versão do programa" + +#: cmdline.opt:37 +msgid "GNU dictionary client program" +msgstr "Programa cliente de dicionário do GNU" + +#: cmdline.opt:39 +msgid "[URL-or-WORD]" +msgstr "[URL-ou-PALAVRA]" + +#: cmdline.opt:81 +#, c-format +msgid "%s: invalid number" +msgstr "%s: número inválido" + +#: cmdline.opt:230 +msgid "Type ? for help summary" +msgstr "Digite ? para um resumo da ajuda" + +#: dico/lookup.c:23 +msgid "No match" +msgstr "Nenhuma ocorrência" + +#: dico/lookup.c:65 dico/lookup.c:175 +#, c-format +msgid "From %s, %s:\n" +msgstr "De %s, %s:\n" + +#: dico/lookup.c:137 +msgid "(no description available)" +msgstr "(nenhuma descrição disponível)" + +#: dico/lookup.c:209 +#, c-format +msgid "%s:%d: INTERNAL ERROR: unexpected request type" +msgstr "%s:%d: ERRO INTERNO: tipo de requisição inesperada" + +#: dico/lookup.c:229 dico/lookup.c:296 +msgid "Server name or IP not specified" +msgstr "Nome ou IP do servidor não especificado" + +#: dico/lookup.c:238 +msgid "Quitting\n" +msgstr "Saindo\n" + +#: dico/saslauth.c:39 dicod/gsasl.c:370 +#, c-format +msgid "cannot get list of available SASL mechanisms: %s" +msgstr "não foi possível obter lista de mecanismos SASL disponíveis: %s" + +#: dico/saslauth.c:110 +#, c-format +msgid "Unknown callback property %d" +msgstr "Propriedade %d de chamada desconhecida" + +#: dico/saslauth.c:121 dico/saslauth.c:127 +msgid "GSASL handshake aborted" +msgstr "Negociação GSASL abortada" + +#: dico/saslauth.c:168 +#, c-format +msgid "GSASL handshake aborted: unexpected reply: %s" +msgstr "Negociação GSASL abortada: resposta inesperada: %s" + +#: dico/saslauth.c:186 dicod/gsasl.c:148 +#, c-format +msgid "GSASL error: %s" +msgstr "Erro no GSASL: %s" + +#: dico/saslauth.c:233 +msgid "Initializing SASL\n" +msgstr "Inicializando SASL\n" + +#: dico/saslauth.c:236 +#, c-format +msgid "Cannot initialize libgsasl: %s" +msgstr "Não foi possível inicializar libgsasl: %s" + +#: dico/saslauth.c:281 +msgid "Trying SASL\n" +msgstr "Tentando SASL\n" + +#: dico/saslauth.c:291 +msgid "No suitable SASL mechanism found" +msgstr "Nenhum mecanismo SASL adequado localizado" + +#: dico/saslauth.c:300 +#, c-format +msgid "Selected authentication mechanism %s" +msgstr "Selecionado o mecanismo de autenticação %s" + +#: dico/saslauth.c:310 +msgid "SASL authentication succeeded" +msgstr "Autenticação SASL realizada com sucesso" + +#: dico/saslauth.c:311 +msgid "SASL authentication failed" +msgstr "Autenticação SASL falhou" + +#: dico/saslauth.c:374 +msgid "Dico compiled without SASL support" +msgstr "Dico compilado sem suporte a SASL" + +#: dicod/regex.c:46 +#, c-format +msgid "Regex error: %s" +msgstr "Erro de expressão regular: %s" + +#: dicod/dicod.c:119 dicod/dicod.c:137 dicod/main.c:1572 +#, c-format +msgid "removing database %s" +msgstr "removendo o banco de dados %s" + +#: dicod/dicod.c:153 +#, c-format +msgid "error closing database %s" +msgstr "erro ao fechar o banco de dados %s" + +#: dicod/dicod.c:291 +#, c-format +msgid "error freeing database %s" +msgstr "erro ao liberar o banco de dados %s" + +#: dicod/dicod.c:345 +msgid "connection from" +msgstr "conexão de" + +#: dicod/dicod.c:364 +msgid "session finished:" +msgstr "sessão finalizada:" + +#: dicod/acl.c:69 +msgid "expected string" +msgstr "esperava texto" + +#: dicod/acl.c:116 +msgid "expected string but found list" +msgstr "esperava texto, mas encontrou lista" + +#: dicod/acl.c:129 +#, c-format +msgid "socket name too long: `%s'" +msgstr "nome de soquete longo demais: \"%s\"" + +#: dicod/acl.c:157 +msgid "expected `from', but found list" +msgstr "esperava \"from\", mas encontrou lista" + +#: dicod/acl.c:160 +#, c-format +msgid "expected `from', but found `%s'" +msgstr "esperava \"from\", mas encontrou \"%s\"" + +#: dicod/acl.c:169 +msgid "unexpected end of statement after `from'" +msgstr "fim de declaração inesperado após \"from\"" + +#: dicod/acl.c:195 +msgid "junk after `from' list" +msgstr "lixo após lista \"from\"" + +#: dicod/acl.c:211 +msgid "expected ACL name, but found end of statement" +msgstr "esperava nome ACL, mas encontrou fim de declaração" + +#: dicod/acl.c:217 +msgid "expected string, but found list" +msgstr "esperava texto, mas encontrou lista" + +#: dicod/acl.c:224 +#, c-format +msgid "ACL not defined: `%s'" +msgstr "ACL não definida: \"%s\"" + +#: dicod/acl.c:242 +msgid "expected group list, but found end of statement" +msgstr "esperava lista de grupo, mas encontrou fim de declaração" + +#: dicod/acl.c:255 +msgid "expected group list, but found array" +msgstr "esperava lista de grupo, mas encontrou vetor" + +#: dicod/acl.c:268 +msgid "expected string value" +msgstr "esperava valor em texto" + +#: dicod/acl.c:290 +#, c-format +msgid "unknown word `%s'" +msgstr "palavra desconhecido \"%s\"" + +#: dicod/acl.c:302 +msgid "unexpected list" +msgstr "lista inesperada" + +#. TRANSLATORS: `MATCHES' is the verb `match' in 2nd person. +#. E.g., in French: CONCORD AVEC +#: dicod/acl.c:400 +msgid "MATCHES" +msgstr "CORRESPONDE A" + +#: dicod/acl.c:400 +msgid "does not match" +msgstr "não corresponde" + +#: dicod/dbtext.c:28 +#, c-format +msgid "cannot get path from URL `%s'" +msgstr "não foi possível obter caminho a partir da URL \"%s\"" + +#: dicod/dbtext.c:33 +#, c-format +msgid "cannot stat directory `%s'" +msgstr "não foi possível obter estado do diretório \"%s\"" + +#: dicod/dbtext.c:39 +#, c-format +msgid "%s: not a directory" +msgstr "%s: não é um diretório" + +#: dicod/dbtext.c:55 +#, c-format +msgid "cannot open file `%s'" +msgstr "não foi possível abrir o arquivo \"%s\"" + +#: dicod/auth.c:46 dicod/gsasl.c:190 +msgid "failed to open user database" +msgstr "falha ao abrir banco de dados de usuário" + +#: dicod/auth.c:51 dicod/gsasl.c:240 dicod/gsasl.c:276 +#, c-format +msgid "failed to get password for `%s' from the database" +msgstr "falha ao obter senha para \"%s\" a partir do banco de dados" + +#: dicod/auth.c:55 +#, c-format +msgid "no such user `%s'" +msgstr "usuário \"%s\" inexistente" + +#: dicod/auth.c:61 +#, c-format +msgid "authentication failed for `%s'" +msgstr "autenticação falhou para \"%s\"" + +#: dicod/main.c:161 +msgid "list element must be a string" +msgstr "elemento de lista deve ser um texto" + +#: dicod/main.c:215 +msgid "list element must be a socket specification" +msgstr "elemento de lista deve ser uma especificação de soquete" + +#: dicod/main.c:248 dicod/main.c:264 dicod/main.c:332 dicod/main.c:358 +#: dicod/main.c:407 dicod/main.c:460 dicod/main.c:503 dicod/main.c:665 +#: dicod/main.c:721 dicod/main.c:742 dicod/main.c:786 dicod/main.c:977 +#: dicod/main.c:1111 dicod/main.c:1150 dicod/main.c:1171 +msgid "Unexpected block statement" +msgstr "Declaração de bloco inesperada" + +#: dicod/main.c:284 +msgid "ACL name must be a string" +msgstr "Nome de ACL deve ser uma texto" + +#: dicod/main.c:286 +msgid "missing ACL name" +msgstr "nome ACL faltando" + +#: dicod/main.c:292 +#, c-format +msgid "redefinition of ACL %s" +msgstr "redenção de ACL %s" + +#: dicod/main.c:295 +msgid "location of the previous definition" +msgstr "localização da definição anterior" + +#: dicod/main.c:311 dicod/main.c:315 +msgid "[all|authenticated|group ] [from ]" +msgstr "[all|authenticated|group ] [from ]" + +#: dicod/main.c:312 +msgid "Allow access" +msgstr "Permitir acesso" + +#: dicod/main.c:316 +msgid "Deny access" +msgstr "Negar acesso" + +#: dicod/main.c:336 dicod/main.c:747 dicod/main.c:822 +msgid "expected scalar value" +msgstr "esperava um valor escalar" + +#: dicod/main.c:340 +#, c-format +msgid "no such ACL: `%s'" +msgstr "ACL inexistente: \"%s\"" + +#: dicod/main.c:363 dicod/main.c:465 dicod/main.c:507 dicod/main.c:670 +msgid "expected scalar value but found list" +msgstr "esperava valor escalar, mas encontrou lista" + +#: dicod/main.c:371 +#, c-format +msgid "not a valid UID number: %s" +msgstr "não é um UID válido: %s" + +#: dicod/main.c:378 +#, c-format +msgid "%s: no such user" +msgstr "%s: usuário inexistente" + +#: dicod/main.c:426 +#, c-format +msgid "not a valid GID number: %s" +msgstr "não é um GID válido: %s" + +#: dicod/main.c:433 +#, c-format +msgid "%s: unknown group" +msgstr "%s: grupo desconhecido" + +#: dicod/main.c:469 +msgid "unknown mode" +msgstr "modo desconhecido" + +#: dicod/main.c:514 +msgid "unknown syslog facility" +msgstr "facilidade syslog desconhecida" + +#: dicod/main.c:533 dicod/main.c:559 +msgid "tag must be a string" +msgstr "tag deve ser um texto" + +#: dicod/main.c:535 dicod/main.c:561 +msgid "missing tag" +msgstr "faltando tag" + +#: dicod/main.c:624 +msgid "database name not supplied" +msgstr "nome de banco de dados não fornecido" + +#: dicod/main.c:630 +msgid "no handler defined for the database" +msgstr "nenhum manipulador definido para o banco de dados" + +#: dicod/main.c:648 grecs/src/tree.c:665 +msgid "invalid use of block statement" +msgstr "uso inválido de declaração de bloco" + +#: dicod/main.c:675 dicod/loader.c:120 +#, c-format +msgid "cannot parse command line `%s': %s" +msgstr "não foi possível analisar a linha de comando \"%s\": %s" + +#: dicod/main.c:691 +#, c-format +msgid "%s: handler not declared" +msgstr "%s: manipulador não declarado" + +#: dicod/main.c:727 +#, c-format +msgid "unknown capability: %s" +msgstr "capacidade desconhecida: %s" + +#: dicod/main.c:752 +#, c-format +msgid "cannot parse headers: %s" +msgstr "não foi possível analisar cabeçalhos: %s" + +#: dicod/main.c:759 +#, c-format +msgid "unknown encoding type: %s" +msgstr "tipo de codificação desconhecida: %s" + +#: dicod/main.c:766 dicod/main.c:840 dicod/main.c:844 dicod/main.c:849 +#: dicod/main.c:853 dicod/main.c:896 dicod/main.c:899 dicod/main.c:903 +#: dicod/main.c:1029 dicod/main.c:1318 dicod/main.c:1327 dicod/main.c:1330 +#: dicod/main.c:1332 dicod/main.c:1337 dicod/main.c:1346 dicod/main.c:1368 +#: dicod/main.c:1383 grecs/src/format.c:141 +msgid "arg" +msgstr "arg" + +#: dicod/main.c:766 +msgid "Command line." +msgstr "Linha de comando." + +#: dicod/main.c:798 +msgid "first argument must be string" +msgstr "primeiro argumento deve ser texto" + +#: dicod/main.c:804 +msgid "second argument must be string" +msgstr "segundo argumento deve ser texto" + +#: dicod/main.c:812 +msgid "condition must be mime or nomime" +msgstr "condição deve ser mime ou nomime" + +#: dicod/main.c:837 +msgid "word" +msgstr "palavra" + +#: dicod/main.c:837 +msgid "Dictionary name (a single word)." +msgstr "Nome do dicionário (uma única palavra)." + +#: dicod/main.c:841 +msgid "Short description, to be shown in reply to SHOW DB command." +msgstr "Descrição curta, a ser mostrada como resposta ao comando SHOW DB." + +#: dicod/main.c:845 +msgid "" +"Full description of the database, to be shown in reply to SHOW INFO command." +msgstr "" +"Descrição completa do banco de dados, a ser mostrada como resposta ao " +"comando SHOW INFO." + +#: dicod/main.c:850 +msgid "List of languages this database translates from." +msgstr "Lista de idiomas dos quais esse banco de dados traduz." + +#: dicod/main.c:854 +msgid "List of languages this database translates to." +msgstr "Lista de idiomas para os quais esse banco de dados traduz." + +#: dicod/main.c:857 dicod/main.c:1023 dicod/main.c:1026 dicod/main.c:1302 +#: dicod/main.c:1305 dicod/main.c:1324 dicod/main.c:1343 dicod/main.c:1348 +#: dicod/main.c:1366 dicod/main.c:1380 +msgid "name" +msgstr "nome" + +#: dicod/main.c:857 +msgid "Name of the handler for this database." +msgstr "Nome do manipulador para este banco de dados." + +#: dicod/main.c:860 dicod/main.c:1315 dicod/main.c:1387 dicod/main.c:1390 +msgid "arg: acl" +msgstr "arg: acl" + +#: dicod/main.c:861 +msgid "ACL controlling visibility of this database" +msgstr "Visibilidade de controle de ACL deste banco de dados" + +#: dicod/main.c:864 dicod/main.c:1312 dicod/main.c:1359 dicod/main.c:1362 +msgid "text" +msgstr "texto" + +#: dicod/main.c:865 +msgid "Additional MIME headers" +msgstr "Cabeçalhos MIME adicionais" + +#: dicod/main.c:869 +msgid "bool" +msgstr "bool" + +#: dicod/main.c:870 +msgid "Set database visibility" +msgstr "Defina visibilidade de banco de dados" + +#: dicod/main.c:873 +msgid " [mime|nomime]" +msgstr " [mime|nomime]" + +#: dicod/main.c:874 +msgid "" +"For virtual database only: name of the member database. Optional mime|nomime " +"specifies the condition under which the database is to be used." +msgstr "" +"Para banco de dados birtual apenas: nome do banco de dados membro. mime|" +"nomime opcional especifica a condição sob o qual banco de dados deve ser " +"usado." + +#: dicod/main.c:896 +msgid "Password file or query." +msgstr "Consulta por ou arquivo de senha." + +#: dicod/main.c:900 +msgid "File containing user group information or a query to retrieve it." +msgstr "" +"Arquivo contendo informação de grupo de usuário ou uma consulta para obtê-la." + +#: dicod/main.c:904 +msgid "Implementation-dependent options" +msgstr "Opções dependente de implementação" + +#: dicod/main.c:926 dicod/main.c:942 +msgid "URL must be a string" +msgstr "URL deve ser um texto" + +#: dicod/main.c:928 dicod/main.c:944 +msgid "empty URL" +msgstr "URL vazia" + +#: dicod/main.c:959 +msgid "cannot create user database" +msgstr "não foi possível criar um banco de dados de usuário" + +#: dicod/main.c:981 +msgid "Not enough arguments for alias" +msgstr "Argumentos insuficientes para apelido" + +#: dicod/main.c:988 +#, c-format +msgid "argument %d has wrong type" +msgstr "argumento %d possui tipo errado" + +#: dicod/main.c:1008 +msgid "expected boolean value but found list" +msgstr "esperava valor booleano, mas encontrou lista" + +#: dicod/main.c:1017 dicod/main.c:1020 +msgid "mech: list" +msgstr "mech: lista" + +#: dicod/main.c:1018 +msgid "Disable SASL mechanisms listed in ." +msgstr "Desabilita os mecanismos SASL listados em ." + +#: dicod/main.c:1021 +msgid "Enable SASL mechanisms listed in ." +msgstr "Habilita os mecanismos SASL listados em ." + +#: dicod/main.c:1024 +msgid "Set service name for GSSAPI and Kerberos." +msgstr "Define o nome de serviço para GSSAPI e Kerberos." + +#: dicod/main.c:1027 +msgid "Set realm name for GSSAPI and Kerberos." +msgstr "Define nome do reino para GSSAPI e Kerberos." + +#: dicod/main.c:1030 +msgid "Define groups for anonymous users." +msgstr "Define grupos para usuários anônimos." + +#: dicod/main.c:1069 +msgid "Section name must be a string" +msgstr "Nome da seção deve ser um texto" + +#: dicod/main.c:1071 +msgid "missing section name" +msgstr "faltando nome da seção" + +#: dicod/main.c:1096 +msgid "Unexpected statement" +msgstr "Declaração inesperada" + +#: dicod/main.c:1133 +msgid "Expected string value" +msgstr "Esperava valor em texto" + +#: dicod/main.c:1159 +msgid "expected list or string" +msgstr "esperava lista ou texto" + +#: dicod/main.c:1182 +msgid "Expected number" +msgstr "Esperava número" + +#: dicod/main.c:1253 +msgid "arg: bool" +msgstr "arg: bool" + +#: dicod/main.c:1253 +msgid "Deny all * and ! look ups" +msgstr "Nega todas procuras com * e !" + +#: dicod/main.c:1257 +msgid "cond" +msgstr "cond" + +#: dicod/main.c:1257 +msgid "Deny * and ! look-ups on these words." +msgstr "Nega procuras por * e ! nesses palavras." + +#: dicod/main.c:1262 dicod/main.c:1268 dicod/main.c:1274 dicod/main.c:1280 +#: dicod/main.c:1286 dicod/main.c:1292 +msgid "len: number" +msgstr "len: número" + +#: dicod/main.c:1263 +msgid "Deny * and ! look-ups on words with length < ." +msgstr "Nega procuras com * e ! em palavras com tamanho < ." + +#: dicod/main.c:1269 +msgid "Deny * and ! look-ups on words with length <= ." +msgstr "Nega procuras com * e ! em palavras com tamanho <= ." + +#: dicod/main.c:1275 +msgid "Deny * and ! look-ups on words with length > ." +msgstr "Nega procuras com * e ! em palavras com tamanho > ." + +#: dicod/main.c:1281 +msgid "Deny * and ! look-ups on words with length >= ." +msgstr "Nega procuras com * e ! em palavras com tamanho >= ." + +#: dicod/main.c:1287 +msgid "Deny * and ! look-ups on words with length == ." +msgstr "Nega procuras com * e ! em palavras com tamanho == ." + +#: dicod/main.c:1293 +msgid "Deny * and ! look-ups on words with length != ." +msgstr "Nega procuras com * e ! em palavras com tamanho != ." + +#: dicod/main.c:1302 +msgid "Run with these user privileges." +msgstr "Executa com esses privilégios de usuário." + +#: dicod/main.c:1306 +msgid "Supplementary group to retain with the user privileges." +msgstr "Grupo suplementar para reter com os privilégios de usuário." + +#: dicod/main.c:1309 +msgid "arg: [daemon|inetd]" +msgstr "arg: [daemon|inetd]" + +#: dicod/main.c:1309 +msgid "Operation mode." +msgstr "Modo de operação." + +#: dicod/main.c:1313 +msgid "Server description to be shown in reply to SHOW SERVER command." +msgstr "" +"Descrição do servidor a ser mostrada na resposta ao comando SHOW SERVER." + +#: dicod/main.c:1316 +msgid "Show system information if arg matches." +msgstr "Mostra informação do sistema se arg corresponder." + +#: dicod/main.c:1319 +msgid "Enable identification check using AUTH protocol (RFC 1413)" +msgstr "" +"Habilita verificação de identificação usando o protocolo AUTH (RFC 1413)" + +#: dicod/main.c:1321 +msgid "val" +msgstr "val" + +#: dicod/main.c:1322 +msgid "Set timeout for AUTH I/O operations." +msgstr "Define tempo limite para operações de E/S de AUTH." + +#: dicod/main.c:1325 +msgid "Name of the file containing the keys for decrypting AUTH replies." +msgstr "" +"Nome do arquivo contendo as chaves para repostas de descriptografia AUTH." + +#: dicod/main.c:1328 +msgid "Maximum number of children running simultaneously." +msgstr "Número máximo de filhos em execução simultaneamente." + +#: dicod/main.c:1330 +msgid "Tag syslog diagnostics with this tag." +msgstr "Marca diagnósticos de syslog com essa marcação." + +#: dicod/main.c:1333 +msgid "" +"Set syslog facility. Arg is one of the following: user, daemon, auth, " +"authpriv, mail, cron, local0 through local7 (case-insensitive), or a " +"facility number." +msgstr "" +"Define facilidade syslog. Arg é um dentre os seguintes: user, daemon, auth, " +"authpriv, mail, cron, local0 até local7 (sem diferenciação de maiúsculo/" +"minúsculo) ou o número de uma facilidade." + +#: dicod/main.c:1338 +msgid "Prefix diagnostics messages with their severity." +msgstr "Prefixa mensagens de diagnóstico com sua severidade." + +#: dicod/main.c:1340 +msgid "fmt" +msgstr "fmt" + +#: dicod/main.c:1341 +msgid "Set format string for access log file." +msgstr "Define o texto do formato para o arquivo de log de acessos." + +#: dicod/main.c:1344 +msgid "Set access log file name." +msgstr "Define o nome de arquivo do log de acessos." + +#: dicod/main.c:1346 +msgid "Log session transcript." +msgstr "Registra transcrição de sessão." + +#: dicod/main.c:1349 +msgid "Store PID of the master process in this file." +msgstr "Armazena o PID do processo mestre neste arquivo." + +#: dicod/main.c:1351 dicod/main.c:1354 +msgid "seconds" +msgstr "segundos" + +#: dicod/main.c:1352 +msgid "Wait this number of seconds for all children to terminate." +msgstr "Espera esse número de segundos para todos os filhos terminarem." + +#: dicod/main.c:1355 +msgid "Set inactivity timeout." +msgstr "Define tempo limite de inatividade." + +#: dicod/main.c:1357 +msgid "addr" +msgstr "endereço" + +#: dicod/main.c:1357 +msgid "Listen on these addresses." +msgstr "Ouve nesses endereços." + +#: dicod/main.c:1360 +msgid "Display this text in the initial 220 banner" +msgstr "Exibe esse texto no banner 220 inicial" + +#: dicod/main.c:1363 +msgid "" +"Display this text in reply to the HELP command. If text begins with a +, " +"usual command summary is displayed before it." +msgstr "" +"Exibe esse texto como resposta ao comando HELP. Se o texto começar com um +, " +"o resumo usual do comando é exibido antes dele." + +#: dicod/main.c:1366 +msgid "Override the host name." +msgstr "Sobrescreve o nome da máquina." + +#: dicod/main.c:1368 +msgid "Request additional capabilities." +msgstr "Requisita capacidades adicionais." + +#: dicod/main.c:1371 dicod/main.c:1375 +msgid "path" +msgstr "caminho" + +#: dicod/main.c:1372 +msgid "List of directories searched for database modules." +msgstr "Lista de diretórios pesquisados por módulos de banco de dados." + +#: dicod/main.c:1376 +msgid "" +"List of directories searched for database modules prior to the default " +"module directory" +msgstr "" +"Lista de diretórios pesquisados por módulos de banco de dados antes do " +"diretório do módulo padrão" + +#: dicod/main.c:1381 +msgid "Set the name of the default matching strategy." +msgstr "Define o nome da estratégia de correspondência padrão." + +#: dicod/main.c:1384 +msgid "Provide timing information after successful completion of an operation." +msgstr "Fornece informação de tempo após completar uma operação com sucesso." + +#: dicod/main.c:1388 +msgid "Set ACL to control visibility of all databases." +msgstr "Define ACL para controlar visibilidade de todos os bancos de dados." + +#: dicod/main.c:1391 +msgid "Apply this ACL to incoming connections." +msgstr "Aplica essa ACL para conexões recebidas." + +#: dicod/main.c:1393 +msgid "Define a dictionary database." +msgstr "Define um banco de dados de dicionário." + +#: dicod/main.c:1397 dicod/main.c:1406 dicod/main.c:1412 dicod/main.c:1419 +msgid "name: string" +msgstr "nome: texto" + +#: dicod/main.c:1398 +msgid "" +"Load a module instance.\n" +"If is the same as in command, it can be simplified as:\n" +" load-module ;\n" +"Furthermore, several simplified forms can be combined into one\n" +"by using a list of names as its argument, as in:\n" +" load-module (stratall,word);\n" +msgstr "" +"Carrega uma instância de módulo.\n" +"Se é o mesmo que em comando, ele pode ser simplificado como:\n" +" load-module ;\n" +"Além do mais, várias formas simplificadas podem ser combinadas em uma usando " +"uma lista de nomes como seu argumento, como em:\n" +" load-module (stratall,word);\n" + +#: dicod/main.c:1406 +msgid "Define an ACL." +msgstr "Define uma ACL." + +#: dicod/main.c:1408 +msgid "url: string" +msgstr "url: texto" + +#: dicod/main.c:1409 +msgid "Define user database for authentication." +msgstr "Define o banco de dados de usuário para autenticação." + +#: dicod/main.c:1412 +msgid "Define a command alias." +msgstr "Define um apelido de comando." + +#: dicod/main.c:1416 +msgid "Control SASL authentication." +msgstr "Controla autenticação SASL." + +#: dicod/main.c:1420 +msgid "Additional configuration for strategy " +msgstr "Configuração adicional para estratégia " + +#: dicod/main.c:1459 +msgid "" +"Configuration file structure for dicod.\n" +"For more information, use `info dico configuration'." +msgstr "" +"Estrutura de arquivo de configuração para dico.\n" +"Para mais informação, use \"info dico configuration\"." + +#: dicod/main.c:1788 +msgid "unknown strategy" +msgstr "estratégia desconhecida" + +#: cmdline.opt:36 +msgid "Select program mode" +msgstr "Seleção do modo do programa" + +#: cmdline.opt:51 +msgid "preprocess configuration file and exit" +msgstr "preprocessa o arquivo de configuração e sai" + +#: cmdline.opt:57 +msgid "check configuration file syntax and exit" +msgstr "verifica a sintaxe do arquivo de configuração e sai" + +#: cmdline.opt:63 +msgid "inetd mode" +msgstr "modo inetd" + +#: cmdline.opt:69 +msgid "" +"run unit tests for module; subsequent arguments are treated as module name " +"and unit test arguments; the -- marker introduces module initialization " +"arguments" +msgstr "" +"executa testes de unidade para módulo; argumentos subsequentes são tratados " +"como sendo de nome de módulo e de teste de unidade; o marcador -- introduz " +"argumentos de inicialização de módulo" + +#: cmdline.opt:63 +msgid "Modifiers" +msgstr "Modificadores" + +#: cmdline.opt:79 +msgid "FILE" +msgstr "ARQUIVO" + +#: cmdline.opt:79 +msgid "read this configuration file" +msgstr "lê este arquivo de configuração" + +#: cmdline.opt:85 +msgid "operate in foreground" +msgstr "opera em primeiro plano" + +#: cmdline.opt:91 +msgid "output diagnostic to stderr" +msgstr "emite diagnóstico para a saída de erro (stderr)" + +#: cmdline.opt:97 +msgid "output diagnostic to syslog (default)" +msgstr "emite diagnóstico para o syslog (padrão)" + +#: cmdline.opt:103 +msgid "single-process mode" +msgstr "modo processo único" + +#: cmdline.opt:109 cmdline.opt:179 +msgid "DIR" +msgstr "DIR" + +#: cmdline.opt:109 +msgid "prepend DIR to the module load path" +msgstr "anexa DIR ao caminho de carregamento de módulo" + +#: cmdline.opt:125 +msgid "disable session transcript" +msgstr "desabilita transcrição de sessão" + +#: cmdline.opt:131 +msgid "set debug verbosity level" +msgstr "define o nível de verbosidade da depuração" + +#: cmdline.opt:144 +msgid "trace parsing of configuration file" +msgstr "rastreia análise de arquivo de configuração" + +#: cmdline.opt:150 +msgid "trace config file lexer" +msgstr "rastreia o lexer de arquivo de configuração" + +#: cmdline.opt:142 +msgid "Additional help" +msgstr "Ajuda adicional" + +#: cmdline.opt:158 +msgid "show configuration file summary" +msgstr "mostra o resumo do arquivo de configuração" + +#: cmdline.opt:151 +msgid "Preprocessor control" +msgstr "Controle do pré-processador" + +#: cmdline.opt:167 +msgid "PROG" +msgstr "PROG" + +#: cmdline.opt:167 +msgid "use PROG as a preprocessor for config file" +msgstr "usa PROG como um pré-processador para o arquivo de configuração" + +#: cmdline.opt:173 +msgid "do not use external preprocessor" +msgstr "não usa um preprocessador externo" + +#: cmdline.opt:179 +msgid "" +"add the directory DIR to the list of directories to be searched for " +"preprocessor include files" +msgstr "" +"adiciona o diretório DIR à lista de diretórios a ser pesquisados por " +"arquivos de cabeçalho do pré-processador" + +#: cmdline.opt:185 +msgid "SYMBOL[=VALUE]" +msgstr "SÍMBOLO[=VALOR]" + +#: cmdline.opt:185 +msgid "define a preprocessor symbol" +msgstr "define o símbolo de um preprocessador" + +#: cmdline.opt:43 +msgid "GNU dictionary server" +msgstr "Servidor de dicionário do GNU" + +#: dicod/loader.c:38 +#, c-format +msgid "%s: faulty module: (%s) failed" +msgstr "%s: módulo falho: (%s) falhou" + +#: dicod/loader.c:67 +#, c-format +msgid "%s: initialization failed" +msgstr "%s: inicialização falhou" + +#: dicod/loader.c:83 +#, c-format +msgid "module %s already loaded" +msgstr "módulo %s já carregado" + +#: dicod/loader.c:96 +#, c-format +msgid "cannot load module %s: %s" +msgstr "não foi possível carregar o módulo %s: %s" + +#: dicod/loader.c:505 +msgid "no module name" +msgstr "nenhum nome de módulo" + +#: dicod/loader.c:524 +msgid "module does not define dico_run_test function" +msgstr "o módulo não define a função dico_run_test" + +#: dicod/alias.c:68 +#, c-format +msgid "alias `%s' already defined" +msgstr "apelido \"%s\" já definido" + +#: dicod/alias.c:70 +msgid "this is the location of the previous definition" +msgstr "essa é a localização da definição anterior" + +#: dicod/server.c:103 +#, c-format +msgid "file %s exists but cannot be stat'd" +msgstr "o arquivo %s existe, mas não foi possível obter seu estado" + +#: dicod/server.c:110 +#, c-format +msgid "file %s is not a socket" +msgstr "o arquivo %s é um soquete" + +#: dicod/server.c:116 +#, c-format +msgid "cannot unlink file %s" +msgstr "não foi possível desassociar o arquivo %s" + +#: dicod/server.c:131 +#, c-format +msgid "unsupported address family: %d" +msgstr "família de endereço sem suporte: %d" + +#: dicod/server.c:163 +msgid "No sockets opened" +msgstr "Nenhum soquete aberto" + +#: dicod/server.c:206 +#, c-format +msgid "%lu exited successfully" +msgstr "%lu saiu com sucesso" + +#: dicod/server.c:211 +#, c-format +msgid "%lu timed out" +msgstr "%lu esgotou tempo limite" + +#: dicod/server.c:216 +#, c-format +msgid "%lu failed with status %d" +msgstr "%lu falhou com o status %d" + +#: dicod/server.c:227 +#, c-format +msgid "%lu terminated on signal %d" +msgstr "%lu terminado com sinal %d" + +#: dicod/server.c:230 +#, c-format +msgid "%lu stopped on signal %d" +msgstr "%lu parou com sinal %d" + +#: dicod/server.c:234 +#, c-format +msgid "%lu dumped core" +msgstr "%lu despejou seu núcleo" + +#: dicod/server.c:237 +#, c-format +msgid "%lu terminated with unrecognized status" +msgstr "%lu terminou com status não reconhecido" + +#: dicod/server.c:305 +#, c-format +msgid "Cannot open pidfile `%s'" +msgstr "Não é possível abrir o arquivo PID \"%s\"" + +#: dicod/server.c:308 +#, c-format +msgid "Cannot get pid from pidfile `%s'" +msgstr "Não foi possível obter pid a partir do arquivo de pid \"%s\"" + +#: dicod/server.c:314 +#, c-format +msgid "%s appears to run with pid %lu. If it does not, remove `%s' and retry." +msgstr "" +"%s parece estar sendo executado com pid %lu. Se não, remova \"%s\" e tente " +"novamente." + +#: dicod/server.c:324 dicod/server.c:343 +#, c-format +msgid "Cannot unlink pidfile `%s'" +msgstr "Não foi possível desassociar o arquivo PID %s" + +#: dicod/server.c:334 +#, c-format +msgid "Cannot create pidfile `%s'" +msgstr "Não foi possível criar o arquivo PID %s" + +#: dicod/server.c:402 +#, c-format +msgid "connection from %s denied" +msgstr "conexão de %s negada" + +#: dicod/server.c:459 +msgid "fork failed" +msgstr "fork falhou" + +#: dicod/server.c:475 +msgid "refusing to restart due to errors in configuration file" +msgstr "" +"recusando a reiniciar em decorrência de erros no arquivo de configuração" + +#: dicod/server.c:481 +msgid "" +"refusing to restart due to unexpected return status of configuration checker" +msgstr "" +"recursando a reiniciar em decorrência de status de retorno inesperado do " +"verificador de configuração" + +#: dicod/server.c:489 +msgid "" +"refusing to restart: configuration checker did not exit within 5 seconds" +msgstr "" +"recusando a reiniciar: verificador de configuração não saiu dentro de 5 " +"segundos" + +#: dicod/server.c:498 +msgid "waitpid failed" +msgstr "waitpid falhou" + +#: dicod/server.c:499 +msgid "refusing to restart" +msgstr "recusando a reiniciar" + +#: dicod/server.c:539 +#, c-format +msgid "too many children (%lu)" +msgstr "filhos demais (%lu)" + +#: dicod/server.c:557 +msgid "select error" +msgstr "erro de seleção" + +#: dicod/server.c:585 +#, c-format +msgid "%s started" +msgstr "%s iniciado" + +#: dicod/server.c:590 +msgid "not running as root: ignoring user/group settings" +msgstr "executando como não-root: ignorando configurações de usuário/grupo" + +#: dicod/server.c:603 +msgid "dicod started without full file name" +msgstr "dicod inciado sem nome de arquivo completo" + +#: dicod/server.c:604 dicod/server.c:608 +msgid "restart (SIGHUP) will not work" +msgstr "reinício (SIGHUP) não vai funcionar" + +#: dicod/server.c:607 +msgid "configuration file is not given with a full file name" +msgstr "arquivo de configuração não fornecido com um nome de arquivo completo" + +#: dicod/server.c:615 +msgid "Cannot become a daemon" +msgstr "Não é possível se tornar um daemon" + +#: dicod/server.c:632 +#, c-format +msgid "Exit code = %d, last error status" +msgstr "Código de saída = %d, último status de erro" + +#: dicod/server.c:640 +#, c-format +msgid "%s restarting" +msgstr "%s reinciando" + +#: dicod/server.c:644 +msgid "Cannot restart" +msgstr "Não foi possível reiniciar" + +#: dicod/server.c:646 +#, c-format +msgid "%s terminating" +msgstr "%s terminando" + +#: dicod/ident.c:200 +msgid "Incorrect length of IDENT DES packet" +msgstr "Tamanho incorreto do pacote IDENT DES" + +#: dicod/ident.c:207 +#, c-format +msgid "Cannot open file %s" +msgstr "Não foi possível abrir o arquivo %s" + +#: dicod/ident.c:388 +msgid "cannot create socket for AUTH identification" +msgstr "não foi possível criar socket para identificação AUTH" + +#: dicod/ident.c:400 +msgid "cannot bind AUTH socket" +msgstr "não foi possível vincular soquete AUTH" + +#: dicod/ident.c:413 dicod/ident.c:464 +#, c-format +msgid "cannot connect to AUTH server %s" +msgstr "não foi possível conectar ao servidor AUTH %s" + +#: dicod/ident.c:437 +#, c-format +msgid "Malformed IDENT response: `%s', from %s" +msgstr "Resposta IDENT malformada: \"%s\", de %s" + +#: dicod/ident.c:442 +msgid "" +"Keyfile for AUTH responses not specified in config; use `ident-keyfile FILE'" +msgstr "" +"Arquivo de chave para respostas AUTH não especificada na configuração; use " +"\"ident-keyfile ARQUIVO\"" + +#: dicod/ident.c:458 +#, c-format +msgid "failure while communicating with AUTH server %s" +msgstr "falha ao comunicar com o servidor AUTH %s" + +#: dicod/ident.c:469 +#, c-format +msgid "no reply from AUTH server %s" +msgstr "nenhuma resposta do servidor AUTH %s" + +#: dicod/ident.c:475 +#, c-format +msgid "I/O error while communicating with AUTH server %s" +msgstr "Erro de E/S enquanto se comunicava com o servidor AUTH %s" + +#: dicod/accesslog.c:487 +#, c-format +msgid "log format error (near char %td): missing terminating `}'" +msgstr "" +"erro de formato de log (próximo ao caractere %td): faltando \"}\" terminador" + +#: dicod/accesslog.c:502 +#, c-format +msgid "log format error (near char %td): unknown format char `%c'" +msgstr "" +"erro de formato de log (próximo ao caractere %td): caractere de formato " +"desconhecido \"%c\"" + +#: dicod/accesslog.c:510 +#, c-format +msgid "" +"log format warning (near char %td): format char `%c' does not take arguments" +msgstr "" +"aviso de formato de log (próximo ao caractere %td): caractere de formato \"%c" +"\" não leva argumentos" + +#: dicod/accesslog.c:553 +#, c-format +msgid "cannot open access log file `%s'" +msgstr "não foi possível abrir arquivo de log de acessoes \"%s\"" + +#: dicod/gsasl.c:84 +#, c-format +msgid "Unexpected input instead of SASLRESP command: %s" +msgstr "Entrada inesperada, em vez do comando SASLRESP: %s" + +#: dicod/gsasl.c:123 +#, c-format +msgid "SASL gsasl_server_start: %s" +msgstr "SASL gsasl_server_start: %s" + +#: dicod/gsasl.c:163 +#, c-format +msgid "GSASL %s: cannot get username" +msgstr "GSASL %s: não foi possível obter o nome de usuário" + +#: dicod/gsasl.c:269 +msgid "user name not supplied" +msgstr "nome de usuário não fornecido" + +#: dicod/gsasl.c:333 +#, c-format +msgid "cannot initialize libgsasl: %s" +msgstr "não foi possível inicializar libgsasl: %s" + +#: modules/dict.org/dictorg.c:83 +#, c-format +msgid "mod_init: cannot stat `%s'" +msgstr "mod_init: não foi possível obter status de %s" + +#: modules/dict.org/dictorg.c:88 +#, c-format +msgid "mod_init: `%s' is not a directory" +msgstr "mod_init: \"%s\" não é um diretório" + +#: modules/dict.org/dictorg.c:93 +#, c-format +msgid "mod_init: `%s' is not readable" +msgstr "mod_init: \"%s\" não é legível" + +#: modules/dict.org/dictorg.c:248 +#, c-format +msgid "%s:%lu: invalid base64 value: `%.*s'" +msgstr "%s:%lu: valor base64 inválido: \"%.*s\"" + +#: modules/dict.org/dictorg.c:263 +#, c-format +msgid "%s:%lu: malformed entry" +msgstr "%s:%lu: entrada malformada" + +#: modules/dict.org/dictorg.c:302 +#, c-format +msgid "open_index: cannot stat `%s'" +msgstr "open_index: não foi possível obter status de \"%s\"" + +#: modules/dict.org/dictorg.c:306 +#, c-format +msgid "open_index: `%s' is not a regular file" +msgstr "open_index: \"%s\" não é um arquivo comum" + +#: modules/dict.org/dictorg.c:315 modules/dict.org/dictorg.c:412 +#: modules/gcide/gcide.c:316 modules/gcide/gcide.c:725 +#, c-format +msgid "cannot create stream `%s'" +msgstr "não foi possível criar fluxo para \"%s\"" + +#: modules/dict.org/dictorg.c:321 modules/dict.org/dictorg.c:420 +#: modules/gcide/gcide.c:323 modules/gcide/gcide.c:732 +#, c-format +msgid "cannot open stream `%s': %s" +msgstr "não foi possível abrir fluxo de \"%s\": %s" + +#: modules/dict.org/dictorg.c:430 +#, c-format +msgid "cannot open stream for dictionary `%s'" +msgstr "não foi possível abrir fluxo para o dicionário \"%s\"" + +#: modules/dict.org/dictorg.c:458 +#, c-format +msgid "mod_init_db(%s): database name not given" +msgstr "mod_init_db(%s): nome do banco de dados não fornecido" + +#: modules/dict.org/dictorg.c:468 +#, c-format +msgid "mod_init_db: `%s' is not an absolute file name" +msgstr "mod_init_db: \"%s\" não é um nome de arquivo absoluto" + +#: modules/dict.org/dictorg.c:508 +#, c-format +msgid "mod_init_db(%s): index files in old 8-bit format are not supported" +msgstr "" +"mod_init_db(%s): arquivos de índice no formato antigo de 8 bits sem suporte" + +#: modules/dict.org/dictorg.c:810 modules/dict.org/dictorg.c:993 +#: modules/gcide/gcide.c:756 +#, c-format +msgid "%s: read error: %s" +msgstr "%s: erro ao ler: %s" + +#: modules/dict.org/dictorg.c:904 +msgid "_match_all: key initialization failed" +msgstr "_match_all: inicialização de chave falhou" + +#: modules/dict.org/dictorg.c:983 +#, c-format +msgid "%s: seek error: %s" +msgstr "%s: erro de procura: %s" + +#: modules/dict.org/dictstr.c:176 +#, c-format +msgid "cannot initialize inflation engine: %s" +msgstr "não foi possível inicializar o motor de inflação: %s" + +#: modules/dict.org/dictstr.c:198 +#, c-format +msgid "%s:%d: INTERNAL ERROR: inflate did not flush (%d pending, %d avail)" +msgstr "%s:%d: ERRO INTERNO: inflação não foi purgada (%d pendente, %d dispo.)" + +#: modules/dict.org/dictstr.c:286 +#, c-format +msgid "%s:%d: INTERNAL ERROR: cannot shut down inflation engine: %s" +msgstr "%s:%d: ERRO INTERNO: não foi possível desligar o motor de inflação: %s" + +#: modules/dict.org/dictstr.c:437 +#, c-format +msgid "file position (%lu) != header length + 1 (%lu)" +msgstr "posição de arquivo (%lu) != tamanho do cabeçalho + 1 (%lu)" + +#: modules/dict.org/dictstr.c:475 +msgid "unknown dictionary format" +msgstr "formato de dicionário desconhecido" + +#: modules/dict.org/dictstr.c:478 +msgid "unsupported dictionary format" +msgstr "sem suporte ao formato de dicionário" + +#: modules/dict.org/dictstr.c:481 +msgid "unsupported dictionary version" +msgstr "não há suporte à versão de dicionário" + +#: modules/dict.org/dictstr.c:484 +msgid "malformed header" +msgstr "cabeçalho malformado" + +#: modules/dict.org/dictstr.c:487 +msgid "cannot seek on pure gzip format files" +msgstr "não foi possível procurar em arquivos de formato gzip puro" + +#: modules/dict.org/dictstr.c:490 +msgid "error decompressing stream" +msgstr "erro ao descomprimir o fluxo" + +#: modules/guile/guile.c:151 +#, c-format +msgid "%s: not enough memory" +msgstr "%s: memória insuficiente" + +#: modules/guile/guile.c:164 +#, c-format +msgid "%s: invalid return type" +msgstr "%s: tipo de retorno inválido" + +#: modules/guile/guile.c:184 +#, c-format +msgid "procedure `%s' failed: see error output for details" +msgstr "procedimento \"%s\" falhou: veja a saída de erro para mais detalhes" + +#: modules/guile/guile.c:735 +#, c-format +msgid "%s: %s: unknown virtual function" +msgstr "%s: %s: função virtual desconhecida" + +#: modules/guile/guile.c:794 +msgid "mod_init: cannot initialize error port" +msgstr "mod_init: não foi possível inicializar a porta de erro" + +#: modules/guile/guile.c:802 modules/guile/guile.c:836 +#, c-format +msgid "mod_init: cannot load init script %s" +msgstr "mod_init: não foi possível carregar o script de inicialização %s" + +#: modules/guile/guile.c:862 +#, c-format +msgid "%s: %s: void virtual function" +msgstr "%s: %s: função virtual vazia" + +#: modules/guile/guile.c:1084 +msgid "mod_match: key initialization failed" +msgstr "mod_match: inicialização de chave falhou" + +#: modules/outline/outline.c:476 +msgid "outline_open: wrong number of arguments" +msgstr "outline_open: número incorreto de argumentos" + +#: modules/outline/outline.c:482 modules/gcide/idxgcide.l:269 +#, c-format +msgid "cannot open file %s" +msgstr "não foi possível abrir o arquivo %s" + +#: modules/outline/outline.c:642 +msgid "outline_lang: not enough memory" +msgstr "outline_lang: memória insuficiente" + +#: modules/outline/outline.c:681 +msgid "outline_match_all: not enough memory" +msgstr "outline_match_all: memória insuficiente" + +#: modules/outline/outline.c:686 +msgid "outline_match_all: key initialization failed" +msgstr "outline_match_all: inicialização de chave falhou" + +#: modules/ldap/ldap.c:60 +#, c-format +msgid "cannot set LBER_OPT_DEBUG_LEVEL %d" +msgstr "não foi possível definir LBER_OPT_DEBUG_LEVEL %d" + +#: modules/ldap/ldap.c:65 +#, c-format +msgid "could not set LDAP_OPT_DEBUG_LEVEL %d" +msgstr "não foi possível definir LBER_OPT_DEBUG_LEVEL %d" + +#: modules/ldap/ldap.c:73 +#, c-format +msgid "cannot create LDAP session handle for URI=%s (%d): %s" +msgstr "não foi possível criar manipulador de sessão LDAP para URI=%s (%d): %s" + +#: modules/ldap/ldap.c:81 +#, c-format +msgid "ldap_start_tls failed: %s" +msgstr "ldap_start_tls falhou: %s" + +#: modules/ldap/ldap.c:199 +#, c-format +msgid "cannot parse options `%s': %s" +msgstr "não foi possível analisar as opções \"%s\": %s" + +#: modules/ldap/ldap.c:215 +msgid "cannot allocate handle" +msgstr "não foi possível alocar o manipulador" + +#: modules/ldap/ldap.c:255 +#, c-format +msgid "cannot expand query `%s': %s" +msgstr "não foi possível expandir a consulta \"%s\": %s" + +#: modules/gcide/gcide.c:85 +#, c-format +msgid "gcide: cannot stat `%s'" +msgstr "gcide: não foi possível obter status de \"%s\"" + +#: modules/gcide/gcide.c:89 +#, c-format +msgid "gcide: `%s' is not a directory" +msgstr "gcide: \"%s\" não é um diretório" + +#: modules/gcide/gcide.c:93 modules/gcide/gcide.c:158 +#, c-format +msgid "gcide: `%s' is not readable" +msgstr "gcide: \"%s\" não é legível" + +#: modules/gcide/gcide.c:113 +#, c-format +msgid "gcide_open_idx: creating index %s" +msgstr "gcide_open_idx: criando índice %s" + +#: modules/gcide/gcide.c:116 +#, c-format +msgid "gcide_open_idx: cannot run %s" +msgstr "gcide_open_idx: não foi possível executar %s" + +#: modules/gcide/gcide.c:125 +msgid "gcide_open_idx: fork failed" +msgstr "gcide_open_idx: fork falhou" + +#: modules/gcide/gcide.c:129 modules/gcide/gcide.c:134 +#, c-format +msgid "gcide_open_idx: %s failed" +msgstr "gcide_open_idx: %s falhou" + +#: modules/gcide/gcide.c:141 +#, c-format +msgid "gcide_open_idx: %s exited with status %d" +msgstr "gcide_open_idx: %s saiu com status %d" + +#: modules/gcide/gcide.c:162 modules/gcide/gcide.c:182 +#, c-format +msgid "gcide: can't stat `%s'" +msgstr "gcide: não foi possível obter status de \"%s\"" + +#: modules/gcide/gcide.c:188 +msgid "gcide: index file older than database, reindexing" +msgstr "gcide: arquivo de índice mais antigo que o banco de dados, reindexando" + +#: modules/gcide/gcide.c:190 +#, c-format +msgid "gcide_open_idx: cannot access %s" +msgstr "gcide_open_idx: não foi possível acessar %s" + +#: modules/gcide/gcide.c:249 +msgid "gcide_init_db: database directory not given" +msgstr "gcide_init_db: diretório de banco de dados não fornecido" + +#: modules/gcide/gcide.c:335 modules/gcide/gcide.c:354 +#, c-format +msgid "read error in stream `%s': %s" +msgstr "erro de leitura no fluxo \"%s\": %s" + +#: modules/gcide/gcide.c:344 +#, c-format +msgid "cannot get size of stream `%s': %s" +msgstr "não foi possível obter o fluxo de \"%s\": %s" + +#: modules/gcide/gcide.c:351 +msgid "cannot allocate dictionary information buffer" +msgstr "não foi possível alocar o buffer de informação do dicionário" + +#: modules/gcide/gcide.c:518 modules/wordnet/wordnet.c:617 +#, c-format +msgid "%s: key initialization failed" +msgstr "%s: inicialização de chave falhou" + +#: modules/gcide/gcide.c:742 +#, c-format +msgid "seek error on `%s' while positioning to %lu: %s" +msgstr "erro de procura em \"%s\" ao posicionar em %lu: %s" + +#: modules/gcide/idx.c:68 +#, c-format +msgid "error reading from `%s'" +msgstr "erro ao ler de \"%s\"" + +#: modules/gcide/idx.c:71 +#, c-format +msgid "short read while reading from `%s'" +msgstr "leitura curta ao ler de \"%s\"" + +#: modules/gcide/idx.c:91 +#, c-format +msgid "file `%s' is not a valid gcide index file" +msgstr "o arquivo \"%s\" não é um arquivo de índice gcide válido" + +#: modules/gcide/idx.c:103 +#, c-format +msgid "index file `%s' is corrupted" +msgstr "o arquivo de índice \"%s\" está corrompido" + +#: modules/gcide/idx.c:128 +#, c-format +msgid "cannot open index file `%s'" +msgstr "não foi possível abrir o arquivo de índice \"%s\"" + +#: modules/gcide/idx.c:246 +#, c-format +msgid "seek error on `%s' while positioning to %lu" +msgstr "erro de procura em \"%s\" ao posicionar em %lu" + +#: modules/gcide/idxgcide-cli.opt:62 +#, c-format +msgid "not a valid size: %s" +msgstr "não é um tamanho válido: %s" + +#: modules/gcide/idxgcide.l:77 +msgid "page too small, aborting" +msgstr "página pequena demais, abortando" + +#: modules/gcide/idxgcide.l:120 +msgid "Sorting references" +msgstr "Referências de ordenação" + +#: modules/gcide/idxgcide.l:124 +msgid "Writing references" +msgstr "Referências de escrita" + +#: modules/gcide/idxgcide.l:217 +#, c-format +msgid "%s:%u: unknown or illegible character in a headword" +msgstr "%s:%u: caractere desconhecido ou ilegível em um verbete" + +#: modules/gcide/idxgcide.l:221 +#, c-format +msgid "%s:%u: unrecognized entity: %s" +msgstr "%s:%u: entidade não reconhecida: %s" + +#: modules/gcide/idxgcide.l:236 +#, c-format +msgid "%s:%u: unknown character sequence %s" +msgstr "%s:%u: sequência de caracteres desconhecida %s" + +#: modules/gcide/idxgcide.l:266 +#, c-format +msgid "Indexing %s" +msgstr "Indexando %s" + +#: modules/gcide/idxgcide.l:302 +msgid "page size too small" +msgstr "tamanho de página pequeno demais" + +#: modules/gcide/idxgcide.l:311 +msgid "bad number of arguments" +msgstr "número de argumentos inválido" + +#: modules/gcide/idxgcide.l:335 +#, c-format +msgid "cannot create index file `%s'" +msgstr "não foi possível criar o arquivo de índice \"%s\"" + +#: modules/gcide/idxgcide.l:356 +#, c-format +msgid "headwords=%lu, definitions=%lu, refs per page=%lu, pages=%lu" +msgstr "verbetes=%lu, definições=%lu, refs por página=%lu, páginas=%lu" + +#: modules/gcide/markup.l:148 +#, c-format +msgid "cannot parse line %.*s: %s" +msgstr "não foi possível analisar linha %.*s: %s" + +#: modules/gcide/markup.l:300 +#, c-format +msgid "%u: unrecognized entity: %s" +msgstr "%u: entidade não reconhecida: %s" + +#: modules/gcide/markup.l:312 +#, c-format +msgid "%u: unknown character sequence %s" +msgstr "%u: sequência de caracteres desconhecida %s" + +#: modules/wordnet/wordnet.c:79 +msgid "cannot open wordnet database" +msgstr "não foi possível abrir o banco de dados do wordnet" + +#: modules/wordnet/wordnet.c:232 +#, c-format +msgid "wordnet: unknown option %s" +msgstr "wordnet: opção desconhecida %s" + +#: modules/wordnet/wordnet.c:239 +#, c-format +msgid "wordnet: option %s is not yet supported" +msgstr "wordnet: a opção %s sem suporte ainda" + +#: grecs/src/cidr.c:129 grecs/src/cidr.c:179 grecs/src/cidr.c:186 +#, c-format +msgid "invalid network mask: %s" +msgstr "máscara de rede inválida: %s" + +#: grecs/src/cidr.c:142 grecs/src/cidr.c:149 grecs/src/cidr.c:160 +#, c-format +msgid "unrecognized address family: %s" +msgstr "família de endereço não reconhecida: %s" + +#: grecs/src/cidr.c:153 +#, c-format +msgid "invalid network address: %s" +msgstr "endereço de rede inválido: %s" + +#: grecs/src/format.c:33 +msgid "void" +msgstr "" + +#: grecs/src/format.c:36 grecs/src/tree.c:69 +#, fuzzy +msgid "string" +msgstr "url: texto" + +#: grecs/src/format.c:46 +#, fuzzy +msgid "number" +msgstr "len: número" + +#: grecs/src/format.c:49 +msgid "time" +msgstr "" + +#: grecs/src/format.c:52 +#, fuzzy +msgid "boolean" +msgstr "bool" + +#: grecs/src/format.c:55 +msgid "IPv4" +msgstr "" + +#: grecs/src/format.c:58 +msgid "CIDR" +msgstr "" + +#: grecs/src/format.c:61 +#, fuzzy +msgid "hostname" +msgstr "nome" + +#: grecs/src/format.c:64 +#, fuzzy +msgid "sockaddr" +msgstr "endereço" + +#: grecs/src/format.c:67 +#, fuzzy +msgid "section" +msgstr "Seleção de servidor" + +#: grecs/src/format.c:70 +msgid "null" +msgstr "" + +#: grecs/src/format.c:133 +msgid "Disabled;" +msgstr "Desabilitado;" + +#: grecs/src/grecs-lex.l:186 +#, c-format +msgid "stray character %c" +msgstr "caractere %c disperso" + +#: grecs/src/grecs-lex.l:189 +#, c-format +msgid "stray character \\%03o" +msgstr "caractere \\%03o disperso" + +#: grecs/src/grecs-lex.l:219 grecs/src/preproc.c:480 +#, c-format +msgid "Cannot open `%s'" +msgstr "Não foi possível abrir \"%s\"" + +#: grecs/src/grecs-lex.l:227 grecs/src/preproc.c:698 +#, c-format +msgid "Unable to start external preprocessor `%s'" +msgstr "Não foi possível iniciar preprocessador externo \"%s\"" + +#: grecs/src/grecs-lex.l:394 grecs/src/grecs-lex.l:431 +#, c-format +msgid "cannot parse #line line: %s" +msgstr "não foi possível analisar linha #line: %s" + +#: grecs/src/grecs-lex.l:415 grecs/src/grecs-lex.l:435 +msgid "invalid #line statement" +msgstr "declaração de #line inválida" + +#: grecs/src/grecs-lex.l:418 grecs/src/grecs-lex.l:439 +msgid "malformed #line statement" +msgstr "declaração de #line malformada" + +#: grecs/src/lineacc.c:70 +#, c-format +msgid "unknown escape sequence: '\\%c'" +msgstr "sequência de escape desconhecida: \"\\%c\"" + +#: grecs/src/opthelp.c:123 grecs/src/opthelp.c:269 +msgid "Usage:" +msgstr "Uso:" + +#: grecs/src/opthelp.c:127 +msgid "OPTION" +msgstr "OPÇÃO" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Aliases" +msgstr "Apelidos" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Alias" +msgstr "Alias" + +#: grecs/src/opthelp.c:186 +msgid "" +"Mandatory or optional arguments to long options are also mandatory or " +"optional for any corresponding short options." +msgstr "" +"Argumentos obrigatórios ou opcionais para opções longas também o são para " +"quaisquer opções curtas correspondentes." + +#. TRANSLATORS: The placeholder indicates the bug-reporting +#. address for this package. Please add _another line_ saying +#. "Report translation bugs to <...>\n" with the address for +#. translation bugs (typically your translation team's web or +#. email address). +#: grecs/src/opthelp.c:202 +#, c-format +msgid "Report bugs to %s.\n" +msgstr "" +"Relate erros de tradução para: \n" +"Relate erros para %s.\n" + +#: grecs/src/opthelp.c:205 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Página do %s: <%s>\n" + +#. TRANSLATORS: Translate "(C)" to the copyright symbol +#. (C-in-a-circle), if this symbol is available in the user's +#. locale. Otherwise, do not translate "(C)"; leave it as-is. +#: grecs/src/opthelp.c:457 +msgid "(C)" +msgstr "(C)" + +#: grecs/src/opthelp.c:466 +msgid "" +"License GPLv3+: GNU GPL version 3 or later \n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +"\n" +msgstr "" +"Licença GPLv3+: GNU GPL versão 3 ou posterior .\n" +"Este é um software livre: você é livre para alterá-lo e redistribuí-lo.\n" +"NÃO HÁ GARANTIAS, na máxima extensão permitida por lei.\n" +"\n" + +#: grecs/src/opthelp.c:483 +msgid "Written by " +msgstr "Escrito por " + +#. TRANSLATORS: This string is used as a delimiter between +#. authors' names as in: +#. +#. Written by Winnie the Pooh, Piglet ... +#. +#: grecs/src/opthelp.c:489 +msgid ", " +msgstr ", " + +#. TRANSLATORS: This string acts as a delimiter before the +#. last author's names, e.g.: +#. +#. Written by Winnie the Pooh, Piglet and Christopher Robin. +#. +#: grecs/src/opthelp.c:495 +msgid " and " +msgstr " e " + +#: grecs/src/path-parser.c:62 +#, c-format +msgid "cannot open `%s'" +msgstr "não foi possível abrir \"%s\"" + +#: grecs/src/path-parser.c:108 grecs/src/path-parser.c:123 +msgid "unexpected end of file" +msgstr "fim de arquivo inesperado" + +#: grecs/src/path-parser.c:143 +msgid "parse error" +msgstr "erro de análise" + +#: grecs/src/preproc.c:448 grecs/src/preproc.c:470 +#, c-format +msgid "Cannot stat `%s'" +msgstr "Não foi possível obter status de \"%s\"" + +#: grecs/src/preproc.c:453 grecs/src/preproc.c:458 +msgid "Recursive inclusion" +msgstr "Inclusão recursiva" + +#: grecs/src/preproc.c:461 +#, c-format +msgid "`%s' already included here" +msgstr "\"%s\" já incluso aqui" + +#: grecs/src/preproc.c:465 +#, c-format +msgid "`%s' already included at top level" +msgstr "\"%s\" já incluso no nível superior" + +#: grecs/src/preproc.c:595 +msgid "Cannot parse include line" +msgstr "Não foi possível analisar a linha incluída" + +#: grecs/src/preproc.c:598 +msgid "invalid include statement" +msgstr "declaração inclusa inválida" + +#: grecs/src/preproc.c:624 +msgid "read error" +msgstr "erro de leitura" + +#: grecs/src/preproc.c:632 +#, c-format +msgid "%s: No such file or directory" +msgstr "%s: Arquivo ou diretório não encontrados" + +#: grecs/src/preproc.c:773 grecs/src/preproc.c:793 +#, c-format +msgid "Cannot run `%s'" +msgstr "Não foi possível executar \"%s\"" + +#: grecs/src/sockaddr.c:67 +#, c-format +msgid "socket path name too long: %s" +msgstr "nome de caminho do soquete longo demais: %s" + +#: grecs/src/sockaddr.c:120 +#, c-format +msgid "%s: garbage near %s" +msgstr "%s: lixo próximo a %s" + +#: grecs/src/sockaddr.c:159 +#, c-format +msgid "service not specified: %s" +msgstr "serviço não especificado: %s" + +#: grecs/src/sockaddr.c:176 +#, c-format +msgid "%s: cannot parse address: %s" +msgstr "%s: não foi possível analisar o endereço: %s" + +#: grecs/src/sockaddr.c:269 +#, c-format +msgid "unknown or unsupported scheme: %s" +msgstr "esquema desconhecida ou sem suporte: %s" + +#: grecs/src/sockaddr.c:278 +#, c-format +msgid "%s: UNIX socket must be an absolute file name" +msgstr "%s: soquete UNIX deve ser um nome de arquivo absoluto" + +#: grecs/src/symtab.c:236 +msgid "element not found in table" +msgstr "elemento não encontrado na tabela" + +#: grecs/src/symtab.c:238 +msgid "symbol table is full" +msgstr "tabela de símbolos está completa" + +#: grecs/src/tree.c:70 +msgid "list" +msgstr "" + +#: grecs/src/tree.c:71 +#, fuzzy +msgid "one or more arguments" +msgstr "número excessivo de argumentos" + +#: grecs/src/tree.c:75 +msgid "unrecognized type; please report" +msgstr "" + +#: grecs/src/tree.c:320 +msgid "section keyword used as a scalar" +msgstr "" + +#: grecs/src/tree.c:322 +msgid "scalar keyword used as a section" +msgstr "" + +#: grecs/src/tree.c:325 +#, fuzzy +msgid "unknown keyword" +msgstr "Palavra-chave desconhecida" + +#: grecs/src/tree.c:360 +#, c-format +msgid "%s: not a valid boolean value" +msgstr "%s: não é um valor booleano válido" + +#: grecs/src/tree.c:420 grecs/src/tree.c:644 +#, c-format +msgid "%s: not a valid IP address or hostname" +msgstr "%s: não é um endereço de IP ou nome de máquina válidos" + +#: grecs/src/tree.c:444 +#, c-format +msgid "%s: not a valid port number" +msgstr "%s: não é um número de porta válido" + +#: grecs/src/tree.c:452 +msgid "missing port number" +msgstr "faltando número de porta" + +#: grecs/src/tree.c:501 +msgid "numeric overflow" +msgstr "estouro numérico" + +#: grecs/src/tree.c:506 +msgid "value out of allowed range" +msgstr "valor fora do intervalo permitido" + +#: grecs/src/tree.c:541 grecs/src/tree.c:571 +#, c-format +msgid "not a number (stopped near `%s')" +msgstr "não é um número (parou perto de \"%s\")" + +#: grecs/src/tree.c:635 +#, c-format +msgid "%s: not a valid IP address" +msgstr "%s: não é um endereço IP válido" + +#: grecs/src/tree.c:774 +#, c-format +msgid "too many arguments to `%s'; missing semicolon?" +msgstr "argumentos demais para \"%s\"; faltando ponto-e-vírgula?" + +#: grecs/src/tree.c:788 grecs/src/tree.c:836 +#, c-format +msgid "INTERNAL ERROR at %s:%d: unhandled data type %d" +msgstr "ERRO INTERNO em %s:%d: tipo de dados não lidado %d" + +#: grecs/src/tree.c:803 +#, c-format +msgid "%s: incompatible data type in list item #%d" +msgstr "%s: tipo de dados incompatível na item de lista #%d" + +#: grecs/src/tree.c:823 +#, c-format +msgid "incompatible data type for `%s'" +msgstr "tipo de dados incompatível para \"%s\"" + +#: grecs/wordsplit/wordsplit.c:130 +msgid "memory exhausted while trying to store error context" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:881 +msgid "Restarting" +msgstr "Reinciando" + +#: grecs/wordsplit/wordsplit.c:1607 +#, c-format +msgid "%.*s: variable null or not set" +msgstr "%.*s: variável nula ou não inicializada" + +#: grecs/wordsplit/wordsplit.c:1637 +#, c-format +msgid "warning: undefined variable `%.*s'" +msgstr "aviso: variável não definida \"%.*s\"" + +#: grecs/wordsplit/wordsplit.c:2138 +#, c-format +msgid "no files match pattern %s" +msgstr "nenhum arquivo corresponde ao padrão %s" + +#: grecs/wordsplit/wordsplit.c:2599 +msgid "WS trimming" +msgstr "Aparar alterações" + +#: grecs/wordsplit/wordsplit.c:2601 +msgid "command substitution" +msgstr "substituição de comando" + +#: grecs/wordsplit/wordsplit.c:2603 grecs/wordsplit/wordsplit.c:2611 +msgid "coalesce list" +msgstr "lista de coalescência" + +#: grecs/wordsplit/wordsplit.c:2605 +msgid "tilde expansion" +msgstr "expansão de ~" + +#: grecs/wordsplit/wordsplit.c:2607 +msgid "variable expansion" +msgstr "expansão de variável" + +#: grecs/wordsplit/wordsplit.c:2609 +msgid "quote removal" +msgstr "remoção de aspas" + +#: grecs/wordsplit/wordsplit.c:2613 +msgid "path expansion" +msgstr "expansão de caminho" + +#: grecs/wordsplit/wordsplit.c:2638 +#, c-format +msgid "(%02d) Input:%.*s;" +msgstr "(%02d) Entrada:%.*s;" + +#: grecs/wordsplit/wordsplit.c:2664 +msgid "Initial list:" +msgstr "Lista inicial:" + +#: grecs/wordsplit/wordsplit.c:2679 +msgid "Coalesced list:" +msgstr "Lista coalescida:" + +#: grecs/wordsplit/wordsplit.c:2849 +msgid "no error" +msgstr "nenhum erro" + +#: grecs/wordsplit/wordsplit.c:2850 +msgid "missing closing quote" +msgstr "faltando fechar aspas" + +#: grecs/wordsplit/wordsplit.c:2852 +msgid "invalid wordsplit usage" +msgstr "uso inválido de separação de palavra" + +#: grecs/wordsplit/wordsplit.c:2853 +msgid "unbalanced curly brace" +msgstr "chave \"{}\" não balanceada" + +#: grecs/wordsplit/wordsplit.c:2854 +msgid "undefined variable" +msgstr "variável não definida" + +#: grecs/wordsplit/wordsplit.c:2855 +msgid "input exhausted" +msgstr "entrada esgotada" + +#: grecs/wordsplit/wordsplit.c:2856 +msgid "unbalanced parenthesis" +msgstr "parênteses não balanceados" + +#: grecs/wordsplit/wordsplit.c:2857 +msgid "globbing error" +msgstr "erro de casamento de padrões (globbing)" + +#: grecs/wordsplit/wordsplit.c:2858 +#, fuzzy +msgid "user-defined error" +msgstr "erro de leitura" + +#: grecs/wordsplit/wordsplit.c:2859 +msgid "invalid parameter number in assignment" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2871 +msgid "unknown error" +msgstr "erro desconhecido" + +#: grecs/wordsplit/wordsplit.c:2880 +#, c-format +msgid "missing closing %c (start near #%lu)" +msgstr "faltando fechar %c (início próximo a #%lu)" + +#~ msgid "%s: option '--%s' doesn't allow an argument\n" +#~ msgstr "%s: a opção \"--%s\" não permite um argumento\n" + +#~ msgid "%s: unrecognized option '--%s'\n" +#~ msgstr "%s: opção desconhecida \"--%s\"\n" + +#~ msgid "%s: option '-W %s' doesn't allow an argument\n" +#~ msgstr "%s: a opção \"-W %s\" não permite um argumento\n" + +#~ msgid "%s: option '-W %s' requires an argument\n" +#~ msgstr "%s: a opção \"-W %s\" exige um argumento\n" + +#~ msgid "%s: unknown keyword" +#~ msgstr "%s: palavra-chave desconhecida" + +#~ msgid "" +#~ "cannot initialize database `%s': module `%s' does not support databases" +#~ msgstr "" +#~ "não foi possível inicializar o banco de dados \"%s\": o módulo \"%s\" não " +#~ "oferece suporte a bancos de dados" + +#~ msgid "cannot initialize database `%s'" +#~ msgstr "não foi possível inicializar o banco de dados \"%s\"" + +#~ msgid "cannot open database `%s'" +#~ msgstr "não foi possível abrir o banco de dados \"%s\"" + +#~ msgid "gcide_match_all: key initialization failed" +#~ msgstr "gcide_match_all: inicialização de chave falhou" + +#~ msgid "write error" +#~ msgstr "erro de escrita" + +#~ msgid "not enough memory" +#~ msgstr "memória insuficiente" + +#~ msgid "wn_foreach: key initialization failed" +#~ msgstr "wn_foreach: inicialização de chave falhou" + +#~ msgid "(%02d) Restart:%.*s;" +#~ msgstr "(%02d) Reiniciar:%.*s;" + +#~ msgid "read this configuration file." +#~ msgstr "lê este arquivo de configuração." Binary files /tmp/tmpzBUTb6/GFUWpBukhc/dico-2.9/po/sr.gmo and /tmp/tmpzBUTb6/cwmgEPIKlI/dico-2.10/po/sr.gmo differ diff -Nru dico-2.9/po/sr.po dico-2.10/po/sr.po --- dico-2.9/po/sr.po 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/po/sr.po 2020-09-04 04:06:48.000000000 +0000 @@ -0,0 +1,2986 @@ +# Serbian translation of dico. +# Copyright © 2020 Free Software Foundation, Inc. +# This file is distributed under the same license as the dico package. +# Мирослав Николић , 2016–2020. +msgid "" +msgstr "" +"Project-Id-Version: dico-2.7\n" +"Report-Msgid-Bugs-To: bug-dico@gnu.org\n" +"POT-Creation-Date: 2020-09-04 07:06+0300\n" +"PO-Revision-Date: 2020-03-31 17:53+0200\n" +"Last-Translator: Мирослав Николић \n" +"Language-Team: Serbian <(nothing)>\n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Virtaal 0.7.1\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" + +#: xdico/userprivs.c:40 +msgid "Refusing to run as root" +msgstr "Одбијам да покренем као администратор" + +#: xdico/userprivs.c:58 +#, c-format +msgid "setgroups(1, %lu) failed" +msgstr "„setgroups(1, %lu)“ није успело" + +#: xdico/userprivs.c:69 +#, c-format +msgid "setegid(%lu) failed" +msgstr "„setegid(%lu)“ није успело" + +#: xdico/userprivs.c:73 +#, c-format +msgid "setregid(%lu,%lu) failed" +msgstr "„setregid(%lu,%lu)“ није успело" + +#: xdico/userprivs.c:77 +#, c-format +msgid "setresgid(%lu,%lu,%lu) failed" +msgstr "„setresgid(%lu,%lu,%lu)“ није успело" + +#: xdico/userprivs.c:85 +#, c-format +msgid "setgid(%lu) failed" +msgstr "„setgid(%lu)“ није успело" + +#: xdico/userprivs.c:88 +#, c-format +msgid "Cannot set effective gid to %lu" +msgstr "Не могу да подесим стварни гиб на %lu" + +#: xdico/userprivs.c:106 +#, c-format +msgid "setreuid(%lu,-1) failed" +msgstr "„setreuid(%lu,-1)“ није успело" + +#: xdico/userprivs.c:111 +#, c-format +msgid "second setuid(%lu) failed" +msgstr "други „setuid(%lu)“ није успело" + +#: xdico/userprivs.c:118 +#, c-format +msgid "setuid(%lu) failed" +msgstr "„setuid(%lu)“ није успело" + +#: xdico/userprivs.c:126 +msgid "seteuid(0) succeeded when it should not" +msgstr "„seteuid(0)“ је успело када није требало" + +#: xdico/userprivs.c:129 +msgid "Cannot drop non-root setuid privileges" +msgstr "Не могу да одбацим не-административна „setuid“ овлашћења" + +#: xdico/xstream.c:41 +msgid "not enough memory while formatting reply message" +msgstr "нестало је меморије приликом форматирања поруке одговора" + +#. TRANSLATORS: +#. Get translations for open and closing quotation marks. +#. The message catalog should translate "`" to a left +#. quotation mark suitable for the locale, and similarly for +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. +#. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. +#. +#. If you don't know what to put here, please see +#. +#. and use glyphs suitable for your language. +#: xdico/gnu/quotearg.c:362 +msgid "`" +msgstr "„" + +#: xdico/gnu/quotearg.c:363 +msgid "'" +msgstr "“" + +#: xdico/gnu/obstack.c:338 xdico/gnu/obstack.c:340 +#: grecs/wordsplit/wordsplit.c:76 grecs/wordsplit/wordsplit.c:2851 +msgid "memory exhausted" +msgstr "нема више меморије" + +#: xdico/gnu/getopt.c:278 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous\n" +msgstr "%s: опција „-W %s“ је нејасна\n" + +#: xdico/gnu/getopt.c:284 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous; possibilities:" +msgstr "%s: опција „%s“ је нејасна; могућности:" + +#: xdico/gnu/getopt.c:319 +#, fuzzy, c-format +msgid "%s: unrecognized option '%s%s'\n" +msgstr "%s: непозната опција „%c%s“\n" + +#: xdico/gnu/getopt.c:345 +#, fuzzy, c-format +msgid "%s: option '%s%s' doesn't allow an argument\n" +msgstr "%s: опција „%c%s“ не дозвољава аргумент\n" + +#: xdico/gnu/getopt.c:360 +#, fuzzy, c-format +msgid "%s: option '%s%s' requires an argument\n" +msgstr "%s: опција „%s“ захтева аргумент\n" + +#: xdico/gnu/getopt.c:621 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: неисправна опција — %c\n" + +#: xdico/gnu/getopt.c:636 xdico/gnu/getopt.c:682 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: опција захтева аргумент — %c\n" + +#: lib/parseopt.c:116 +#, c-format +msgid "%s: %s: unknown option" +msgstr "%s: %s: непозната опција" + +#: lib/parseopt.c:127 +#, c-format +msgid "%s: %s: %s is not a valid number" +msgstr "%s: %s: „%s“ није исправан број" + +#: lib/parseopt.c:168 +#, c-format +msgid "%s: %s: invalid value %s" +msgstr "%s: %s: неисправна вредност „%s“" + +#: lib/iostr.c:91 +msgid "No error" +msgstr "Нема грешака" + +#: dico/shell.c:34 +msgid "WORD" +msgstr "РЕЧ" + +#: dico/shell.c:34 +msgid "Define WORD." +msgstr "Одређује РЕЧ." + +#: dico/shell.c:35 +msgid "/WORD" +msgstr "/РЕЧ" + +#: dico/shell.c:35 +msgid "Match WORD." +msgstr "Поклапа РЕЧ." + +#: dico/shell.c:36 +msgid "Redisplay previous matches." +msgstr "Поново приказује претходна поклапања." + +#: dico/shell.c:37 cmdline.opt:131 +msgid "NUMBER" +msgstr "БРОЈ" + +#: dico/shell.c:37 +msgid "Define NUMBERth match." +msgstr "Одређује БРОЈ. поклапање." + +#: dico/shell.c:39 +msgid "Edit NUMBERth previous command." +msgstr "Уређује БРОЈ. претходни наредбу." + +#: dico/shell.c:45 +msgid "[HOST [PORT]]" +msgstr "[ДОМАЋИН [ПРИКЉУЧНИК]]" + +#: dico/shell.c:46 +msgid "Connect to a DICT server." +msgstr "Повезује се на сервер РЕЧНИКА." + +#: dico/shell.c:50 +msgid "Close the connection." +msgstr "Затвара везу." + +#: dico/shell.c:53 dico/shell.c:57 +msgid "[NAME]" +msgstr "[НАЗИВ]" + +#: dico/shell.c:54 +msgid "Set or display current database name." +msgstr "Подешава или приказује текући назив базе података." + +#: dico/shell.c:58 +msgid "Set or display current strategy." +msgstr "Подешава или приказује текућу стратегију." + +#: dico/shell.c:61 +msgid "[NUM]" +msgstr "[БРОЈ]" + +#: dico/shell.c:62 +msgid "Set or query Levenshtein distance (server-dependent)." +msgstr "Подешава или пропитује Левенштајново растојање (зависно од сервера)." + +#: dico/shell.c:66 +msgid "List available matching strategies" +msgstr "Исписује доступне стратегије упоређивања" + +#: dico/shell.c:70 +msgid "List all accessible databases" +msgstr "Исписује све доступне базе података" + +#: dico/shell.c:73 +msgid "[DB]" +msgstr "[БП]" + +#: dico/shell.c:74 +msgid "Display the information about the database." +msgstr "Приказује податке о бази података." + +#: dico/shell.c:77 +msgid "[CHAR]" +msgstr "[ЗНАК]" + +#: dico/shell.c:78 +msgid "Set or display command prefix." +msgstr "Подешава или приказује префикс наредбе." + +#: dico/shell.c:81 dico/shell.c:101 +msgid "[BOOL]" +msgstr "[ЛОГИКА]" + +#: dico/shell.c:82 +msgid "Set or display session transcript mode." +msgstr "Подешава или приказује режим преписа сесије." + +#: dico/shell.c:85 +msgid "[NUMBER]" +msgstr "[БРОЈ]" + +#: dico/shell.c:86 +msgid "Set or display verbosity level." +msgstr "Подешава или приказује ниво опширности." + +#: dico/shell.c:89 dico/shell.c:93 cmdline.opt:158 cmdline.opt:170 +msgid "STRING" +msgstr "НИСКА" + +#: dico/shell.c:90 +msgid "Change command line prompt." +msgstr "Мења упит линије наредби." + +#: dico/shell.c:94 +msgid "Change or display pager settings." +msgstr "Подешава или приказује подешавања страничника." + +#: dico/shell.c:97 +msgid "[FILE]" +msgstr "[ДАТОТЕКА]" + +#: dico/shell.c:98 +msgid "Set or display autologin file name." +msgstr "Подешава или приказује назив датотеке самопријављивања." + +#: dico/shell.c:102 +msgid "Enable SASL authentication." +msgstr "Укључује САСЛ потврђивање идентитета." + +#: dico/shell.c:107 +msgid "Display command history." +msgstr "Приказује историјат наредби." + +#: dico/shell.c:112 +msgid "Display this help text." +msgstr "Приказује текст ове помоћи." + +#: dico/shell.c:116 +msgid "Print program version." +msgstr "Исписује издање програма." + +#: dico/shell.c:120 +msgid "Print copyright statement." +msgstr "Исписује изјаву ауторских права." + +#: dico/shell.c:128 +msgid "Quit the shell." +msgstr "Напушта љуску." + +#: dico/shell.c:149 +#, c-format +msgid "Command prefix is %c\n" +msgstr "Префикс наредбе је „%c“\n" + +#: dico/shell.c:151 +msgid "Expected a single punctuation character" +msgstr "Очекиван је знак једне тачке" + +#: dico/shell.c:229 +msgid "warning: " +msgstr "упозорење: " + +#: dico/shell.c:342 +msgid "unknown command" +msgstr "непозната наредба" + +#: dico/shell.c:352 +msgid "not enough arguments" +msgstr "нема довољно аргумената" + +#: dico/shell.c:355 dicod/main.c:170 dicod/main.c:232 dicod/main.c:584 +#: dicod/main.c:793 +msgid "too many arguments" +msgstr "превише аргумената" + +#: dico/shell.c:398 +#, c-format +msgid "Cannot open init file %s" +msgstr "Не могу да отворим полазну датотеку „%s“" + +#: dico/connect.c:89 dico/connect.c:404 +msgid "No reply from server" +msgstr "Нема одговора са сервера" + +#: dico/connect.c:110 +msgid "Attempting APOP authentication\n" +msgstr "Покушавам АПОП потврђивање идентитета\n" + +#: dico/connect.c:117 dico/saslauth.c:338 +msgid "Not enough credentials for authentication" +msgstr "Нема довољно уверења за потврђивање идентитета" + +#: dico/connect.c:121 dico/saslauth.c:343 +msgid "Skipping authentication\n" +msgstr "Прескачем протврђивање идентитета\n" + +#: dico/connect.c:204 +msgid "Obtained authentication credentials from the command line\n" +msgstr "Набавио сам уверења потврђивања идентитета са линије наредби\n" + +#: dico/connect.c:211 +#, c-format +msgid "File %s does not exist" +msgstr "Не постоји датотека „%s“" + +#: dico/connect.c:228 +msgid "Password:" +msgstr "Лозинка:" + +#: dico/connect.c:244 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot get stream transport" +msgstr "УНУТРАШЊА ГРЕШКА на %s:%d: не могу да добавим пренос тока" + +#: dico/connect.c:252 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot set stream transport" +msgstr "УНУТРАШЊА ГРЕШКА на %s:%d: не могу да подесим пренос тока" + +#: dico/connect.c:303 +#, c-format +msgid "Connecting to %s\n" +msgstr "Повезујем се на „%s“\n" + +#: dico/connect.c:311 +#, c-format +msgid "bad source address: %s" +msgstr "лоша адреса извора: %s" + +#: dico/connect.c:326 +msgid "can't bind to the source address" +msgstr "не могу да свежем за адресу извора" + +#: dico/connect.c:339 +#, c-format +msgid "%s: can't get address: %s" +msgstr "%s: не могу да добавим адресу: %s" + +#: dico/connect.c:347 grecs/src/tree.c:391 +#, c-format +msgid "%s: UNIX socket name too long" +msgstr "%s: назив ЈУНИКС прикључнице је предуг" + +#: dico/connect.c:373 +msgid "cannot create dict socket" +msgstr "не могу да направим прикључницу речника" + +#: dico/connect.c:383 +#, c-format +msgid "%s: cannot connect" +msgstr "%s: не могу да се повежем" + +#: dico/connect.c:394 +#, c-format +msgid "cannot create dict stream: %s" +msgstr "не могу да направим ток речника: %s" + +#: dico/connect.c:408 +msgid "Invalid reply from server" +msgstr "Неисправан одговор са сервера" + +#: dico/connect.c:413 +msgid "Sending client information\n" +msgstr "Шаљем податке клијента\n" + +#: dico/connect.c:418 +#, c-format +msgid "Unexpected reply to CLIENT command: `%s'" +msgstr "Неочекивани одговор наредби КЛИЈЕНТА: „%s“" + +#: dico/connect.c:424 +msgid "Authentication failed" +msgstr "Потврђивање идентитета није успело" + +#: dico/connect.c:497 +#, c-format +msgid "Sending query for word \"%s\" in database \"%s\"\n" +msgstr "Шаљем упит за реч „%s“ у бази података „%s“\n" + +#: dico/connect.c:508 +#, c-format +msgid "Reading %lu definition\n" +msgid_plural "Reading %lu definitions\n" +msgstr[0] "Читам %lu одредницу\n" +msgstr[1] "Читам %lu одреднице\n" +msgstr[2] "Читам %lu одредница\n" + +#: dico/connect.c:515 +#, c-format +msgid "Unexpected reply in place of definition %lu" +msgstr "Неочекивани одговор на месту дефиниције %lu" + +#: dico/connect.c:538 +msgid "Setting Levenshtein threshold\n" +msgstr "Подешавам Левенштајнов померај\n" + +#: dico/connect.c:544 +msgid "Server rejected XLEV command" +msgstr "Сервер је одбацио „XLEV“ наредбу" + +#: dico/connect.c:545 +#, c-format +msgid "Server reply: %s" +msgstr "Одговор сервера: %s" + +#: dico/connect.c:548 +#, c-format +msgid "Sending query to match word \"%s\" in database \"%s\", using \"%s\"\n" +msgstr "Шаљем упит да поклопим реч „%s“ у бази података „%s“, користећи „%s“\n" + +#: dico/connect.c:561 +#, c-format +msgid "Reading %lu match\n" +msgid_plural "Reading %lu matches\n" +msgstr[0] "Читам „%lu“ поклапање\n" +msgstr[1] "Читам „%lu“ поклапања\n" +msgstr[2] "Читам „%lu“ поклапања\n" + +#: dico/connect.c:639 +msgid "Not enough data in the result" +msgstr "Нема довољно података у резултату" + +#: dico/connect.c:706 +msgid "Freeing unlinked result" +msgstr "Ослобађам неповезани резултат" + +#: dico/dico.c:80 +msgid "extra command line arguments ignored" +msgstr "посебни аргументи линије наредби су занемарени" + +#: dico/dico.c:88 +msgid "you should give a word to look for or an URL" +msgstr "треба да дате реч за тражење или адресу" + +#: dico/dico.c:107 +msgid "Database name not specified" +msgstr "Није наведен назив базе података" + +#: dico/func.c:33 dicod/main.c:1120 +msgid "Expected boolean value" +msgstr "Очекивах логичку вредност" + +#: dico/func.c:67 +#, c-format +msgid "Cannot get listing: %s" +msgstr "Не могу да добавим списак: %s" + +#: dico/func.c:104 dico/func.c:138 +msgid "Please specify server name or IP address" +msgstr "Наведите назив сервера или ИП адресу" + +#: dico/func.c:109 +msgid "Cannot connect to the server" +msgstr "Не могу да се повежем са сервером" + +#: dico/func.c:112 +msgid "Getting list of databases\n" +msgstr "Добављам списак база података\n" + +#: dico/func.c:114 +msgid "Getting list of strategies\n" +msgstr "Добављам списак база стратегија\n" + +#: dico/func.c:116 +msgid "Finished getting server information\n" +msgstr "Заврших са добављањем података о серверу\n" + +#: dico/func.c:150 +msgid "Nothing to close" +msgstr "Ништа за затварање" + +#: dico/func.c:160 +msgid "No autologin file." +msgstr "Нема датотеке самопријављивања." + +#: dico/func.c:177 dico/func.c:268 +msgid "on" +msgstr "укљ." + +#: dico/func.c:177 dico/func.c:268 +msgid "off" +msgstr "искљ." + +#: dico/func.c:258 dico/func.c:366 +msgid "invalid number" +msgstr "неисправан број" + +#: dico/func.c:268 +#, c-format +msgid "transcript is %s\n" +msgstr "препис је „%s“\n" + +#: dico/func.c:309 dico/func.c:325 +msgid "No previous match" +msgstr "Нема претходног поклапања" + +#: dico/func.c:329 +msgid "Invalid match number. Type / to see the matches." +msgstr "Неисправан број поклапања. Упишите / да видите поклапања." + +#: dico/func.c:344 +#, c-format +msgid "Server does not support XLEV extension" +msgstr "Сервер не подржава ИксЛЕВ проширење" + +#: dico/func.c:350 +#, c-format +msgid "Reported Levenshtein distance:%s\n" +msgstr "Левенштајново растојање:%s\n" + +#: dico/func.c:353 +msgid "Cannot query Levenshtein distance. Server responded:" +msgstr "Не могу да пропитам Левенштајново растојање. Сервер је одговорио:" + +#: dico/func.c:358 +#, c-format +msgid "No distance configured\n" +msgstr "Нема подешеног растојања\n" + +#: dico/func.c:360 +#, c-format +msgid "Configured Levenshtein distance: %u\n" +msgstr "Подешено Левенштајново растојање: %u\n" + +#: dico/func.c:395 +#, c-format +msgid "" +"Search all of the databases until a match is found,\n" +"and display all matches in that database.\n" +msgstr "" +"Претражује све базе података све док не нађе поклапање,\n" +"и приказује сва поклапања у тој бази података.\n" + +#: dico/func.c:398 +#, c-format +msgid "Search all of the databases and display all matches." +msgstr "Претражује све базе података и приказује сва поклапања." + +#: dico/autologin.c:151 +#, c-format +msgid "Found matching line %d\n" +msgstr "Нађох одговарајући ред: %d\n" + +#: dico/autologin.c:160 +#, c-format +msgid "Found default line %d\n" +msgstr "Нађох основни ред %d\n" + +#: dico/autologin.c:192 +#, c-format +msgid "Cannot open autologin file %s" +msgstr "Не могу да отворим датотеку самопријављивања „%s“" + +#: dico/autologin.c:197 +#, c-format +msgid "Reading autologin file %s...\n" +msgstr "Читам датотеку самопријављивања „%s“...\n" + +#: dico/autologin.c:218 +#, c-format +msgid "failed to parse command `%s': %s" +msgstr "нисам успео да обрадим наредбу „%s“: %s" + +#: dico/autologin.c:229 +#, c-format +msgid "failed to add line marker: %s" +msgstr "нисам успео да додам обележје реда: %s" + +#: dico/autologin.c:251 +msgid "No matching line found\n" +msgstr "Нисам нашао одговарајући ред\n" + +#: dico/autologin.c:269 +#, c-format +msgid "%s:%d: unknown keyword" +msgstr "%s:%d: непозната кључна реч" + +#: dico/autologin.c:277 +#, c-format +msgid "%s:%d: %s without argument" +msgstr "%s:%d: „%s“ без аргумента" + +#: dico/autologin.c:335 +#, c-format +msgid "%s:%d: failed to parse line: %s" +msgstr "%s:%d: нисам успео да обрадим ред: %s" + +#: cmdline.opt:29 +msgid "Server selection" +msgstr "Избор сервера" + +#: cmdline.opt:45 +msgid "SERVER" +msgstr "СЕРВЕР" + +#: cmdline.opt:45 +msgid "connect to this server" +msgstr "повезује се са овим сервером" + +#: cmdline.opt:51 +msgid "SERVICE" +msgstr "УСЛУГА" + +#: cmdline.opt:51 +msgid "specify port to connect to" +msgstr "наводи прикључник за повезивање" + +#: cmdline.opt:57 cmdline.opt:77 cmdline.opt:151 cmdline.opt:164 +msgid "NAME" +msgstr "НАЗИВ" + +#: cmdline.opt:57 +msgid "select a database to search" +msgstr "бира базу података за тражење" + +#: cmdline.opt:63 +msgid "ADDR" +msgstr "АДРЕСА" + +#: cmdline.opt:63 +msgid "set a source address for TCP connections" +msgstr "подешава изворну адресу за ТЦП везе" + +#: cmdline.opt:55 +msgid "Operation modes" +msgstr "Начини рада" + +#: cmdline.opt:71 +msgid "match instead of define" +msgstr "поклапање уместо дефиниције" + +#: cmdline.opt:77 +msgid "select a strategy for matching; implies --match" +msgstr "бира стратегију за поклапање; подразумева „--match“" + +#: cmdline.opt:85 +msgid "N" +msgstr "Не" + +#: cmdline.opt:85 +msgid "set maximum Levenshtein distance" +msgstr "подешава највеће Левенштајново растојање" + +#: cmdline.opt:94 +msgid "show available databases" +msgstr "приказује доступне базе података" + +#: cmdline.opt:100 +msgid "show available search strategies" +msgstr "приказује доступне стратегије претраге" + +#: cmdline.opt:106 +msgid "show server help" +msgstr "приказује помоћ сервера" + +#: cmdline.opt:112 +msgid "DBNAME" +msgstr "НАЗИВ_БП" + +#: cmdline.opt:112 +msgid "show information about database DBNAME" +msgstr "приказује податке о бази података „НАЗИВ_БП“" + +#: cmdline.opt:119 +msgid "show information about the server" +msgstr "приказује податке о серверу" + +#: cmdline.opt:125 +msgid "do not print the normal dico welcome" +msgstr "не исписује обичну добродошлицу речкоа" + +#: cmdline.opt:117 +msgid "Authentication" +msgstr "Потврђивање идентитета" + +#: cmdline.opt:133 +msgid "disable authentication" +msgstr "искључује потврђивање идентитета" + +#: cmdline.opt:139 +msgid "enable SASL authentication (default)" +msgstr "укључује САСЛ потврђивање идентитета (основно)" + +#: cmdline.opt:145 +msgid "disable SASL authentication" +msgstr "искључује САСЛ потврђивање идентитета" + +#: cmdline.opt:151 +msgid "set user name for authentication" +msgstr "подешава корисника за потврђивање идентитета" + +#: cmdline.opt:158 +msgid "set shared secret for authentication" +msgstr "подешава дељену тајну за потврђивање идентитета" + +#: cmdline.opt:164 +msgid "set the name of autologin file to use" +msgstr "подешава назив датотеке самопријављивања" + +#: cmdline.opt:170 +msgid "additional text for client command" +msgstr "додатни текст за наредбу клијента" + +#: cmdline.opt:162 cmdline.opt:103 +msgid "Debugging" +msgstr "Уклањање грешака" + +#: cmdline.opt:177 cmdline.opt:119 +msgid "enable session transcript" +msgstr "укључује препис сесије" + +#: cmdline.opt:183 +msgid "increase debugging verbosity level" +msgstr "повећава ниво опширности прочишћавања" + +#: cmdline.opt:189 +msgid "include time stamp in the debugging output" +msgstr "укључује временску ознаку у излазу прочишћавања" + +#: cmdline.opt:196 cmdline.opt:138 +msgid "include source line information in the debugging output" +msgstr "укључује податке изворног реда у излазу прочишћавања" + +#: cmdline.opt:188 +msgid "Other options" +msgstr "Остале опције" + +#: cmdline.opt:200 +msgid "Give this help list" +msgstr "Приказује овај списак помоћи" + +#: cmdline.opt:200 +msgid "Give a short usage message" +msgstr "Приказује кратку поруку коришћења" + +#: cmdline.opt:200 +msgid "Print program version" +msgstr "Исписује издање програма" + +#: cmdline.opt:37 +msgid "GNU dictionary client program" +msgstr "Клијент програм Гнуовог речника" + +#: cmdline.opt:39 +msgid "[URL-or-WORD]" +msgstr "[АДРЕСА-или-РЕЧ]" + +#: cmdline.opt:81 +#, c-format +msgid "%s: invalid number" +msgstr "%s: неисправан број" + +#: cmdline.opt:230 +msgid "Type ? for help summary" +msgstr "Укуцајте ? за сажетак помоћи" + +#: dico/lookup.c:23 +msgid "No match" +msgstr "Нема поклапања" + +#: dico/lookup.c:65 dico/lookup.c:175 +#, c-format +msgid "From %s, %s:\n" +msgstr "Од %s, %s:\n" + +#: dico/lookup.c:137 +msgid "(no description available)" +msgstr "(није доступан опис)" + +#: dico/lookup.c:209 +#, c-format +msgid "%s:%d: INTERNAL ERROR: unexpected request type" +msgstr "%s:%d: УНУТРАШЊА ГРЕШКА: неочекивана врста захтева" + +#: dico/lookup.c:229 dico/lookup.c:296 +msgid "Server name or IP not specified" +msgstr "Није наведен назив сервера или ИП" + +#: dico/lookup.c:238 +msgid "Quitting\n" +msgstr "Излазим\n" + +#: dico/saslauth.c:39 dicod/gsasl.c:370 +#, c-format +msgid "cannot get list of available SASL mechanisms: %s" +msgstr "не могу да добавим списак доступних САСЛ механизама: %s" + +#: dico/saslauth.c:110 +#, c-format +msgid "Unknown callback property %d" +msgstr "Непознато својство %d опозива" + +#: dico/saslauth.c:121 dico/saslauth.c:127 +msgid "GSASL handshake aborted" +msgstr "Прекинуто је руковање ГСАСЛ-а" + +#: dico/saslauth.c:168 +#, c-format +msgid "GSASL handshake aborted: unexpected reply: %s" +msgstr "Прекинуто је руковање ГСАСЛ-а: неочекивани одговор: %s" + +#: dico/saslauth.c:186 dicod/gsasl.c:148 +#, c-format +msgid "GSASL error: %s" +msgstr "Грешка ГСАСЛ-а: %s" + +#: dico/saslauth.c:233 +msgid "Initializing SASL\n" +msgstr "Покрећем САСЛ\n" + +#: dico/saslauth.c:236 +#, c-format +msgid "Cannot initialize libgsasl: %s" +msgstr "Не могу да покренем либгсасл: %s" + +#: dico/saslauth.c:281 +msgid "Trying SASL\n" +msgstr "Покушавам САСЛ\n" + +#: dico/saslauth.c:291 +msgid "No suitable SASL mechanism found" +msgstr "Нисам нашао одговарајући САСЛ механизам" + +#: dico/saslauth.c:300 +#, c-format +msgid "Selected authentication mechanism %s" +msgstr "Изабрани механизам потврђивања идентитета „%s“" + +#: dico/saslauth.c:310 +msgid "SASL authentication succeeded" +msgstr "САСЛ потврђивање идентитета је успело" + +#: dico/saslauth.c:311 +msgid "SASL authentication failed" +msgstr "САСЛ потврђивање идентитета није успело" + +#: dico/saslauth.c:374 +msgid "Dico compiled without SASL support" +msgstr "Речко је преведен без САСЛ подршке" + +#: dicod/regex.c:46 +#, c-format +msgid "Regex error: %s" +msgstr "Грешка региз-а: %s" + +#: dicod/dicod.c:119 dicod/dicod.c:137 dicod/main.c:1572 +#, c-format +msgid "removing database %s" +msgstr "уклањам базу података „%s“" + +#: dicod/dicod.c:153 +#, c-format +msgid "error closing database %s" +msgstr "грешка затварања базе података „%s“" + +#: dicod/dicod.c:291 +#, c-format +msgid "error freeing database %s" +msgstr "грешка ослобађања базе података „%s“" + +#: dicod/dicod.c:345 +msgid "connection from" +msgstr "веза са" + +#: dicod/dicod.c:364 +msgid "session finished:" +msgstr "сесија је завршена:" + +#: dicod/acl.c:69 +msgid "expected string" +msgstr "очекивах ниску" + +#: dicod/acl.c:116 +msgid "expected string but found list" +msgstr "очекивах ниску али нађох списак" + +#: dicod/acl.c:129 +#, c-format +msgid "socket name too long: `%s'" +msgstr "назив прикључнице је предуг „%s“" + +#: dicod/acl.c:157 +msgid "expected `from', but found list" +msgstr "очекивах „са“ али нађох списак" + +#: dicod/acl.c:160 +#, c-format +msgid "expected `from', but found `%s'" +msgstr "очекивах „са“ али нађох „%s“" + +#: dicod/acl.c:169 +msgid "unexpected end of statement after `from'" +msgstr "неочекивани крај изјаве након „са“" + +#: dicod/acl.c:195 +msgid "junk after `from' list" +msgstr "смеће након списка „са“" + +#: dicod/acl.c:211 +msgid "expected ACL name, but found end of statement" +msgstr "очекивах АЦЛ назив, али нађох крај изјаве" + +#: dicod/acl.c:217 +msgid "expected string, but found list" +msgstr "очекивах ниску, али нађох списак" + +#: dicod/acl.c:224 +#, c-format +msgid "ACL not defined: `%s'" +msgstr "АЦЛ није дефинисан: „%s“" + +#: dicod/acl.c:242 +msgid "expected group list, but found end of statement" +msgstr "очекивах списак групе, али нађох крај изјаве" + +#: dicod/acl.c:255 +msgid "expected group list, but found array" +msgstr "очекивах списак групе, али нађох низ" + +#: dicod/acl.c:268 +msgid "expected string value" +msgstr "очекивах вредност ниске" + +#: dicod/acl.c:290 +#, c-format +msgid "unknown word `%s'" +msgstr "непозната реч „%s“" + +#: dicod/acl.c:302 +msgid "unexpected list" +msgstr "неочекивани списак" + +#. TRANSLATORS: `MATCHES' is the verb `match' in 2nd person. +#. E.g., in French: CONCORD AVEC +#: dicod/acl.c:400 +msgid "MATCHES" +msgstr "ПОКЛАПАЊА" + +#: dicod/acl.c:400 +msgid "does not match" +msgstr "не одговара" + +#: dicod/dbtext.c:28 +#, c-format +msgid "cannot get path from URL `%s'" +msgstr "не могу да добавим путању са адресе „%s“" + +#: dicod/dbtext.c:33 +#, c-format +msgid "cannot stat directory `%s'" +msgstr "не могу да добавим податке директоријума „%s“" + +#: dicod/dbtext.c:39 +#, c-format +msgid "%s: not a directory" +msgstr "%s: није директоријум" + +#: dicod/dbtext.c:55 +#, c-format +msgid "cannot open file `%s'" +msgstr "не могу да отворим датотеку „%s“" + +#: dicod/auth.c:46 dicod/gsasl.c:190 +msgid "failed to open user database" +msgstr "не могу да отворим корисничку базу података" + +#: dicod/auth.c:51 dicod/gsasl.c:240 dicod/gsasl.c:276 +#, c-format +msgid "failed to get password for `%s' from the database" +msgstr "нисам успео да добавим лозинку за „%s“ из базе података" + +#: dicod/auth.c:55 +#, c-format +msgid "no such user `%s'" +msgstr "нема таквог корисника „%s“" + +#: dicod/auth.c:61 +#, c-format +msgid "authentication failed for `%s'" +msgstr "потврђивање идентитета није успело за „%s“" + +#: dicod/main.c:161 +msgid "list element must be a string" +msgstr "елемент списка мора бити ниска" + +#: dicod/main.c:215 +msgid "list element must be a socket specification" +msgstr "елемент списка мора бити одредница прикључнице" + +#: dicod/main.c:248 dicod/main.c:264 dicod/main.c:332 dicod/main.c:358 +#: dicod/main.c:407 dicod/main.c:460 dicod/main.c:503 dicod/main.c:665 +#: dicod/main.c:721 dicod/main.c:742 dicod/main.c:786 dicod/main.c:977 +#: dicod/main.c:1111 dicod/main.c:1150 dicod/main.c:1171 +msgid "Unexpected block statement" +msgstr "Неочекивана изјава блока" + +#: dicod/main.c:284 +msgid "ACL name must be a string" +msgstr "АЦЛ назив мора бити ниска" + +#: dicod/main.c:286 +msgid "missing ACL name" +msgstr "недостаје АЦЛ назив" + +#: dicod/main.c:292 +#, c-format +msgid "redefinition of ACL %s" +msgstr "поновно дефинисање АЦЛ-а „%s“" + +#: dicod/main.c:295 +msgid "location of the previous definition" +msgstr "место претходне дефиниције" + +#: dicod/main.c:311 dicod/main.c:315 +msgid "[all|authenticated|group ] [from ]" +msgstr "[све|аутентификовано|група <грп: списак>] [са <адр: списак>]" + +#: dicod/main.c:312 +msgid "Allow access" +msgstr "Дозволи приступ" + +#: dicod/main.c:316 +msgid "Deny access" +msgstr "Забрани приступ" + +#: dicod/main.c:336 dicod/main.c:747 dicod/main.c:822 +msgid "expected scalar value" +msgstr "очекивах скаларну вредност" + +#: dicod/main.c:340 +#, c-format +msgid "no such ACL: `%s'" +msgstr "нема таквог АЦЛ-а: „%s“" + +#: dicod/main.c:363 dicod/main.c:465 dicod/main.c:507 dicod/main.c:670 +msgid "expected scalar value but found list" +msgstr "очекивах скаларну вредност али нађох списак" + +#: dicod/main.c:371 +#, c-format +msgid "not a valid UID number: %s" +msgstr "није исправан УИД број: %s" + +#: dicod/main.c:378 +#, c-format +msgid "%s: no such user" +msgstr "%s: нема таквог корисника" + +#: dicod/main.c:426 +#, c-format +msgid "not a valid GID number: %s" +msgstr "није исправан ГИД број: %s" + +#: dicod/main.c:433 +#, c-format +msgid "%s: unknown group" +msgstr "%s: непозната група" + +#: dicod/main.c:469 +msgid "unknown mode" +msgstr "непознат режим" + +#: dicod/main.c:514 +msgid "unknown syslog facility" +msgstr "непознат помоћник системског дневника" + +#: dicod/main.c:533 dicod/main.c:559 +msgid "tag must be a string" +msgstr "ознака мора бити ниска" + +#: dicod/main.c:535 dicod/main.c:561 +msgid "missing tag" +msgstr "недостаје ознака" + +#: dicod/main.c:624 +msgid "database name not supplied" +msgstr "није дат назив базе података" + +#: dicod/main.c:630 +msgid "no handler defined for the database" +msgstr "није одређен руковалац за базу података" + +#: dicod/main.c:648 grecs/src/tree.c:665 +msgid "invalid use of block statement" +msgstr "неисправна употреба изјаве блока" + +#: dicod/main.c:675 dicod/loader.c:120 +#, c-format +msgid "cannot parse command line `%s': %s" +msgstr "не могу да обрадим наредбу „%s“: %s" + +#: dicod/main.c:691 +#, c-format +msgid "%s: handler not declared" +msgstr "%s: руковалац није објављен" + +#: dicod/main.c:727 +#, c-format +msgid "unknown capability: %s" +msgstr "непозната могућност: %s" + +#: dicod/main.c:752 +#, c-format +msgid "cannot parse headers: %s" +msgstr "не могу да обрадим заглавља: %s" + +#: dicod/main.c:759 +#, c-format +msgid "unknown encoding type: %s" +msgstr "непозната врста кодирања: %s" + +#: dicod/main.c:766 dicod/main.c:840 dicod/main.c:844 dicod/main.c:849 +#: dicod/main.c:853 dicod/main.c:896 dicod/main.c:899 dicod/main.c:903 +#: dicod/main.c:1029 dicod/main.c:1318 dicod/main.c:1327 dicod/main.c:1330 +#: dicod/main.c:1332 dicod/main.c:1337 dicod/main.c:1346 dicod/main.c:1368 +#: dicod/main.c:1383 grecs/src/format.c:141 +msgid "arg" +msgstr "арг" + +#: dicod/main.c:766 +msgid "Command line." +msgstr "Линија наредбе." + +#: dicod/main.c:798 +msgid "first argument must be string" +msgstr "први аргумент мора бити ниска" + +#: dicod/main.c:804 +msgid "second argument must be string" +msgstr "други аргумент мора бити ниска" + +#: dicod/main.c:812 +msgid "condition must be mime or nomime" +msgstr "услов мора бити „mime“ или „nomime“" + +#: dicod/main.c:837 +msgid "word" +msgstr "реч" + +#: dicod/main.c:837 +msgid "Dictionary name (a single word)." +msgstr "Назив речника (једна реч)." + +#: dicod/main.c:841 +msgid "Short description, to be shown in reply to SHOW DB command." +msgstr "Кратак опис, за приказивање у одговору за наредбу „ПРИКАЖИ БП“." + +#: dicod/main.c:845 +msgid "" +"Full description of the database, to be shown in reply to SHOW INFO command." +msgstr "" +"Потпуни опис базе података, за приказивање у одговору на наредбу ПРИКАЖИ " +"ПОДАТКЕ." + +#: dicod/main.c:850 +msgid "List of languages this database translates from." +msgstr "Списак језика са којих ова база података преводи." + +#: dicod/main.c:854 +msgid "List of languages this database translates to." +msgstr "Списак језика на које ова база података преводи." + +#: dicod/main.c:857 dicod/main.c:1023 dicod/main.c:1026 dicod/main.c:1302 +#: dicod/main.c:1305 dicod/main.c:1324 dicod/main.c:1343 dicod/main.c:1348 +#: dicod/main.c:1366 dicod/main.c:1380 +msgid "name" +msgstr "назив" + +#: dicod/main.c:857 +msgid "Name of the handler for this database." +msgstr "Назив руковаоца за ову базу података." + +#: dicod/main.c:860 dicod/main.c:1315 dicod/main.c:1387 dicod/main.c:1390 +msgid "arg: acl" +msgstr "арг: ацл" + +#: dicod/main.c:861 +msgid "ACL controlling visibility of this database" +msgstr "АЦЛ који контролише видљивост ове базе података" + +#: dicod/main.c:864 dicod/main.c:1312 dicod/main.c:1359 dicod/main.c:1362 +msgid "text" +msgstr "текст" + +#: dicod/main.c:865 +msgid "Additional MIME headers" +msgstr "Додатна МИМЕ заглавља" + +#: dicod/main.c:869 +msgid "bool" +msgstr "логичка" + +#: dicod/main.c:870 +msgid "Set database visibility" +msgstr "Подесите видљивост базе података" + +#: dicod/main.c:873 +msgid " [mime|nomime]" +msgstr "<назив: ниска> [mime|nomime]" + +#: dicod/main.c:874 +msgid "" +"For virtual database only: name of the member database. Optional mime|nomime " +"specifies the condition under which the database is to be used." +msgstr "" +"Само за виртуелну базу података: назив члана базе података. Изборно „mime|" +"nomime“ наводи услов под којим се користи база података." + +#: dicod/main.c:896 +msgid "Password file or query." +msgstr "Датотека лозинке или упит." + +#: dicod/main.c:900 +msgid "File containing user group information or a query to retrieve it." +msgstr "" +"Датотека која садржи податке корисничке групе или упит за њено налажење." + +#: dicod/main.c:904 +msgid "Implementation-dependent options" +msgstr "Опције зависне од имплементације" + +#: dicod/main.c:926 dicod/main.c:942 +msgid "URL must be a string" +msgstr "Адреса мора бити ниска" + +#: dicod/main.c:928 dicod/main.c:944 +msgid "empty URL" +msgstr "празна адреса" + +#: dicod/main.c:959 +msgid "cannot create user database" +msgstr "не могу да направим корисничку базу података" + +#: dicod/main.c:981 +msgid "Not enough arguments for alias" +msgstr "Нема довољно аргумената за алијас" + +#: dicod/main.c:988 +#, c-format +msgid "argument %d has wrong type" +msgstr "аргумент „%d“ има погрешну врсту" + +#: dicod/main.c:1008 +msgid "expected boolean value but found list" +msgstr "очекивах логичку вредност али нађох списак" + +#: dicod/main.c:1017 dicod/main.c:1020 +msgid "mech: list" +msgstr "мхнзм: списак" + +#: dicod/main.c:1018 +msgid "Disable SASL mechanisms listed in ." +msgstr "Искључује САСЛ механизме наведене у <мхнзм>." + +#: dicod/main.c:1021 +msgid "Enable SASL mechanisms listed in ." +msgstr "Укључује САСЛ механизме наведене у <мхнзм>." + +#: dicod/main.c:1024 +msgid "Set service name for GSSAPI and Kerberos." +msgstr "Подешава назив услуге за ГССАПИ и Керберос." + +#: dicod/main.c:1027 +msgid "Set realm name for GSSAPI and Kerberos." +msgstr "Подешава назив подручја за ГССАПИ и Керберос." + +#: dicod/main.c:1030 +msgid "Define groups for anonymous users." +msgstr "Дефинише групе за анонимне кориснике." + +#: dicod/main.c:1069 +msgid "Section name must be a string" +msgstr "Назив одељка мора бити ниска" + +#: dicod/main.c:1071 +msgid "missing section name" +msgstr "недостаје назив одељка" + +#: dicod/main.c:1096 +msgid "Unexpected statement" +msgstr "Неочекивана изјава" + +#: dicod/main.c:1133 +msgid "Expected string value" +msgstr "Очекивах вредност ниске" + +#: dicod/main.c:1159 +msgid "expected list or string" +msgstr "очекивах списак или ниску" + +#: dicod/main.c:1182 +msgid "Expected number" +msgstr "Очекивах број" + +#: dicod/main.c:1253 +msgid "arg: bool" +msgstr "арг: логика" + +#: dicod/main.c:1253 +msgid "Deny all * and ! look ups" +msgstr "Забрањује сва тражења * и !" + +#: dicod/main.c:1257 +msgid "cond" +msgstr "услов" + +#: dicod/main.c:1257 +msgid "Deny * and ! look-ups on these words." +msgstr "Забрањује тражење * и ! у овим речима." + +#: dicod/main.c:1262 dicod/main.c:1268 dicod/main.c:1274 dicod/main.c:1280 +#: dicod/main.c:1286 dicod/main.c:1292 +msgid "len: number" +msgstr "дужина: број" + +#: dicod/main.c:1263 +msgid "Deny * and ! look-ups on words with length < ." +msgstr "Забрањује тражење * и ! у речима са дужином < <дужине>." + +#: dicod/main.c:1269 +msgid "Deny * and ! look-ups on words with length <= ." +msgstr "Забрањује тражење * и ! у речима са дужином <= <дужине>." + +#: dicod/main.c:1275 +msgid "Deny * and ! look-ups on words with length > ." +msgstr "Забрањује тражење * и ! у речима са дужином > <дужине>." + +#: dicod/main.c:1281 +msgid "Deny * and ! look-ups on words with length >= ." +msgstr "Забрањује тражење * и ! у речима са дужином >= <дужине>." + +#: dicod/main.c:1287 +msgid "Deny * and ! look-ups on words with length == ." +msgstr "Забрањује тражење * и ! у речима са дужином == <дужине>." + +#: dicod/main.c:1293 +msgid "Deny * and ! look-ups on words with length != ." +msgstr "Забрањује тражење * и ! у речима са дужином != <дужине>." + +#: dicod/main.c:1302 +msgid "Run with these user privileges." +msgstr "Покреће се са привилегијама овог корисника." + +#: dicod/main.c:1306 +msgid "Supplementary group to retain with the user privileges." +msgstr "Додатна група за задржавање са привилегијама корисника." + +#: dicod/main.c:1309 +msgid "arg: [daemon|inetd]" +msgstr "арг: [демон|инетд]" + +#: dicod/main.c:1309 +msgid "Operation mode." +msgstr "Начин рада." + +#: dicod/main.c:1313 +msgid "Server description to be shown in reply to SHOW SERVER command." +msgstr "Опис сервера за приказивање у одговору за наредбу „SHOW SERVER“." + +#: dicod/main.c:1316 +msgid "Show system information if arg matches." +msgstr "Приказује податке система ако арг одговара." + +#: dicod/main.c:1319 +msgid "Enable identification check using AUTH protocol (RFC 1413)" +msgstr "Укључује проверу препознавања користећи протокол АУТЕНТ (РФЦ 1413)" + +#: dicod/main.c:1321 +msgid "val" +msgstr "вред" + +#: dicod/main.c:1322 +msgid "Set timeout for AUTH I/O operations." +msgstr "Подешава време истека за АУТЕНТ У/И радње." + +#: dicod/main.c:1325 +msgid "Name of the file containing the keys for decrypting AUTH replies." +msgstr "Назив датотеке која садржи кључеве за дешифровање АТЕНТ одговора." + +#: dicod/main.c:1328 +msgid "Maximum number of children running simultaneously." +msgstr "Највећи број истовремено покренутих потпроцеса." + +#: dicod/main.c:1330 +msgid "Tag syslog diagnostics with this tag." +msgstr "Означава поруке системског дневника овом ознаком." + +#: dicod/main.c:1333 +msgid "" +"Set syslog facility. Arg is one of the following: user, daemon, auth, " +"authpriv, mail, cron, local0 through local7 (case-insensitive), or a " +"facility number." +msgstr "" +"Подешава помоћника системског дневника. Аргумент може бити: user, daemon, " +"auth, authpriv, mail, cron, од local0 до local7 (не разликује величину " +"слова), или број помоћника." + +#: dicod/main.c:1338 +msgid "Prefix diagnostics messages with their severity." +msgstr "Ставља приоритет сваке поруке као префикс." + +#: dicod/main.c:1340 +msgid "fmt" +msgstr "формат" + +#: dicod/main.c:1341 +msgid "Set format string for access log file." +msgstr "Подешава ниску формата за приступ датотеци дневника." + +#: dicod/main.c:1344 +msgid "Set access log file name." +msgstr "Подешава приступ називу датотеке дневника." + +#: dicod/main.c:1346 +msgid "Log session transcript." +msgstr "Записује препис сесије." + +#: dicod/main.c:1349 +msgid "Store PID of the master process in this file." +msgstr "Смешта ПИД главног процеса у ову датотеку." + +#: dicod/main.c:1351 dicod/main.c:1354 +msgid "seconds" +msgstr "секунде" + +#: dicod/main.c:1352 +msgid "Wait this number of seconds for all children to terminate." +msgstr "Време у секундама које чека на потпроцес да заврши." + +#: dicod/main.c:1355 +msgid "Set inactivity timeout." +msgstr "Подешава време истека неактивности." + +#: dicod/main.c:1357 +msgid "addr" +msgstr "адреса" + +#: dicod/main.c:1357 +msgid "Listen on these addresses." +msgstr "Ослушкује на овим адресама." + +#: dicod/main.c:1360 +msgid "Display this text in the initial 220 banner" +msgstr "Приказује овај текст у почетној 220 врпци" + +#: dicod/main.c:1363 +msgid "" +"Display this text in reply to the HELP command. If text begins with a +, " +"usual command summary is displayed before it." +msgstr "" +"Приказује овај текст у одговору на наредбу ПОМОЋ, Ако текст почиње +, " +"уобичајени сажетак наредбе је приказан пре овога." + +#: dicod/main.c:1366 +msgid "Override the host name." +msgstr "Преписује назив домаћина." + +#: dicod/main.c:1368 +msgid "Request additional capabilities." +msgstr "Захтева додатне могућности." + +#: dicod/main.c:1371 dicod/main.c:1375 +msgid "path" +msgstr "путања" + +#: dicod/main.c:1372 +msgid "List of directories searched for database modules." +msgstr "Списак тражених директоријума за модуле базе података." + +#: dicod/main.c:1376 +msgid "" +"List of directories searched for database modules prior to the default " +"module directory" +msgstr "" +"Списак тражених директоријума за модуле базе података пре основног " +"директоријума модула" + +#: dicod/main.c:1381 +msgid "Set the name of the default matching strategy." +msgstr "Подешава назив основне стратегије поклапања." + +#: dicod/main.c:1384 +msgid "Provide timing information after successful completion of an operation." +msgstr "Обезбеђује податке о временисању након успешног завршетка радње." + +#: dicod/main.c:1388 +msgid "Set ACL to control visibility of all databases." +msgstr "Подешава АЦЛ за управљање видљивошћу свих база података." + +#: dicod/main.c:1391 +msgid "Apply this ACL to incoming connections." +msgstr "Примењује овај АЦЛ долазним везама." + +#: dicod/main.c:1393 +msgid "Define a dictionary database." +msgstr "Дефинише базу података речника." + +#: dicod/main.c:1397 dicod/main.c:1406 dicod/main.c:1412 dicod/main.c:1419 +msgid "name: string" +msgstr "назив: ниска" + +#: dicod/main.c:1398 +msgid "" +"Load a module instance.\n" +"If is the same as in command, it can be simplified as:\n" +" load-module ;\n" +"Furthermore, several simplified forms can be combined into one\n" +"by using a list of names as its argument, as in:\n" +" load-module (stratall,word);\n" +msgstr "" +"Учитава примерак модула.\n" +"Ако је <назив> исти као <арг> у наредби, може бити поједностављен као:\n" +" load-module <назив: ниска>;\n" +"Штавише, неколико поједностављених облика може бити комбиновано у један\n" +"користећи списак назива као његов аргумент, као у:\n" +" load-module (нискаусвему,реч);\n" + +#: dicod/main.c:1406 +msgid "Define an ACL." +msgstr "Дефинише АЦЛ." + +#: dicod/main.c:1408 +msgid "url: string" +msgstr "адреса: ниска" + +#: dicod/main.c:1409 +msgid "Define user database for authentication." +msgstr "Дефинише корисничку базу података за потврђивање идентитета." + +#: dicod/main.c:1412 +msgid "Define a command alias." +msgstr "Дефинише алијас наредбе." + +#: dicod/main.c:1416 +msgid "Control SASL authentication." +msgstr "Управља САСЛ потврђивањем идентитета." + +#: dicod/main.c:1420 +msgid "Additional configuration for strategy " +msgstr "Додатно подешавање за стратегију <назив>" + +#: dicod/main.c:1459 +msgid "" +"Configuration file structure for dicod.\n" +"For more information, use `info dico configuration'." +msgstr "" +"Структура датотеке подешавања за дикод.\n" +"За више података, користите „info dico configuration“." + +#: dicod/main.c:1788 +msgid "unknown strategy" +msgstr "непозната стратегија" + +#: cmdline.opt:36 +msgid "Select program mode" +msgstr "Изаберите режим програма" + +#: cmdline.opt:51 +msgid "preprocess configuration file and exit" +msgstr "обрађује датотеку подешавања и излази" + +#: cmdline.opt:57 +msgid "check configuration file syntax and exit" +msgstr "проверава синтаксу датотеке подешавања и излази" + +#: cmdline.opt:63 +msgid "inetd mode" +msgstr "режим инетд-а" + +#: cmdline.opt:69 +msgid "" +"run unit tests for module; subsequent arguments are treated as module name " +"and unit test arguments; the -- marker introduces module initialization " +"arguments" +msgstr "" +"покреће тестове јединице за модул; следећи аргументи се сматрају називом " +"модула и аргументима теста јединице; маркер „--“ уводи аргументе покретања " +"модула" + +#: cmdline.opt:63 +msgid "Modifiers" +msgstr "Измењивачи" + +#: cmdline.opt:79 +msgid "FILE" +msgstr "ДАТОТЕКА" + +#: cmdline.opt:79 +msgid "read this configuration file" +msgstr "чита ову датотеку подешавања" + +#: cmdline.opt:85 +msgid "operate in foreground" +msgstr "ради у позадини" + +#: cmdline.opt:91 +msgid "output diagnostic to stderr" +msgstr "шаље дијагнозу на стандардну грешку" + +#: cmdline.opt:97 +msgid "output diagnostic to syslog (default)" +msgstr "шаље дијагнозу у системски дневник (основно)" + +#: cmdline.opt:103 +msgid "single-process mode" +msgstr "режим једног процеса" + +#: cmdline.opt:109 cmdline.opt:179 +msgid "DIR" +msgstr "ДИР" + +#: cmdline.opt:109 +msgid "prepend DIR to the module load path" +msgstr "додаје ДИР путањи учитавања модула" + +#: cmdline.opt:125 +msgid "disable session transcript" +msgstr "искључује препис сесије" + +#: cmdline.opt:131 +msgid "set debug verbosity level" +msgstr "поставља ниво опширности прочишћавања" + +#: cmdline.opt:144 +msgid "trace parsing of configuration file" +msgstr "зацртава обраду датотека подешавања" + +#: cmdline.opt:150 +msgid "trace config file lexer" +msgstr "зацртава лексера датотеке подешавања" + +#: cmdline.opt:142 +msgid "Additional help" +msgstr "Додатна помоћ" + +#: cmdline.opt:158 +msgid "show configuration file summary" +msgstr "приказује сажетак датотеке подешавања" + +#: cmdline.opt:151 +msgid "Preprocessor control" +msgstr "Управљање препроцесором" + +#: cmdline.opt:167 +msgid "PROG" +msgstr "ПРОГРАМ" + +#: cmdline.opt:167 +msgid "use PROG as a preprocessor for config file" +msgstr "користи ПРОГРАМ као препроцесор за датотеку подешавања" + +#: cmdline.opt:173 +msgid "do not use external preprocessor" +msgstr "не користи спољног препроцесор" + +#: cmdline.opt:179 +msgid "" +"add the directory DIR to the list of directories to be searched for " +"preprocessor include files" +msgstr "" +"додаје директоријум ДИР на списак директоријума у којима ће бити тражене " +"датотеке укључивања препроцесора" + +#: cmdline.opt:185 +msgid "SYMBOL[=VALUE]" +msgstr "СИМБОЛ[=ВРЕДНОСТ]" + +#: cmdline.opt:185 +msgid "define a preprocessor symbol" +msgstr "дефинише симбол претпроцесора" + +#: cmdline.opt:43 +msgid "GNU dictionary server" +msgstr "сервер Гнуовог речника" + +#: dicod/loader.c:38 +#, c-format +msgid "%s: faulty module: (%s) failed" +msgstr "%s: модул неуспеха: (%s) није успео" + +#: dicod/loader.c:67 +#, c-format +msgid "%s: initialization failed" +msgstr "%s: покретања није успео" + +#: dicod/loader.c:83 +#, c-format +msgid "module %s already loaded" +msgstr "модул „%s“ је већ учитан" + +#: dicod/loader.c:96 +#, c-format +msgid "cannot load module %s: %s" +msgstr "не могу да учитам модул „%s“: %s" + +#: dicod/loader.c:505 +msgid "no module name" +msgstr "нема назива модула" + +#: dicod/loader.c:524 +msgid "module does not define dico_run_test function" +msgstr "модул не дефинише функцију дико_покрени_тест" + +#: dicod/alias.c:68 +#, c-format +msgid "alias `%s' already defined" +msgstr "алијас „%s“ је већ дефинисан" + +#: dicod/alias.c:70 +msgid "this is the location of the previous definition" +msgstr "ово је место претходне одреднице" + +#: dicod/server.c:103 +#, c-format +msgid "file %s exists but cannot be stat'd" +msgstr "датотека „%s“ постоји али не могу бити добављени подаци" + +#: dicod/server.c:110 +#, c-format +msgid "file %s is not a socket" +msgstr "датотека „%s“ није прикључница" + +#: dicod/server.c:116 +#, c-format +msgid "cannot unlink file %s" +msgstr "не могу да развежем датотеку „%s“" + +#: dicod/server.c:131 +#, c-format +msgid "unsupported address family: %d" +msgstr "неподржана породица адресе: %d" + +#: dicod/server.c:163 +msgid "No sockets opened" +msgstr "Није отворена ниједна прикључница" + +#: dicod/server.c:206 +#, c-format +msgid "%lu exited successfully" +msgstr "%lu је успешно изашао" + +#: dicod/server.c:211 +#, c-format +msgid "%lu timed out" +msgstr "истекло је време %lu" + +#: dicod/server.c:216 +#, c-format +msgid "%lu failed with status %d" +msgstr "%lu није успео са стањем „%d“" + +#: dicod/server.c:227 +#, c-format +msgid "%lu terminated on signal %d" +msgstr "%lu је окончан на сигналу %d" + +#: dicod/server.c:230 +#, c-format +msgid "%lu stopped on signal %d" +msgstr "%lu је заустављен на сигналу %d" + +#: dicod/server.c:234 +#, c-format +msgid "%lu dumped core" +msgstr "%lu је избацио језгро" + +#: dicod/server.c:237 +#, c-format +msgid "%lu terminated with unrecognized status" +msgstr "%lu је окончан са непознатим стањем" + +#: dicod/server.c:305 +#, c-format +msgid "Cannot open pidfile `%s'" +msgstr "Не могу да отворим датотеку пиб-а „%s“" + +#: dicod/server.c:308 +#, c-format +msgid "Cannot get pid from pidfile `%s'" +msgstr "Не могу да добавим пиб из датотеке пиб-а „%s“" + +#: dicod/server.c:314 +#, c-format +msgid "%s appears to run with pid %lu. If it does not, remove `%s' and retry." +msgstr "" +"„%s“ изгледа да ради са пид-ом %lu. Ако не, уклоните „%s“ и покушајте поново." + +#: dicod/server.c:324 dicod/server.c:343 +#, c-format +msgid "Cannot unlink pidfile `%s'" +msgstr "Не могу да поништим везу са датотеком пиб-а „%s“" + +#: dicod/server.c:334 +#, c-format +msgid "Cannot create pidfile `%s'" +msgstr "Не могу да створим датотеку пиб-а „%s“" + +#: dicod/server.c:402 +#, c-format +msgid "connection from %s denied" +msgstr "веза са „%s“ је забрањена" + +#: dicod/server.c:459 +msgid "fork failed" +msgstr "гранање процеса није извршено" + +#: dicod/server.c:475 +msgid "refusing to restart due to errors in configuration file" +msgstr "одбијам да се покренем поново улсед грешака у датотеци подешавања" + +#: dicod/server.c:481 +msgid "" +"refusing to restart due to unexpected return status of configuration checker" +msgstr "" +"одбијам да се поново покренем услед неочекиваног стања резилтата проверавача " +"подешавања" + +#: dicod/server.c:489 +msgid "" +"refusing to restart: configuration checker did not exit within 5 seconds" +msgstr "" +"одбијам да се поново покренем: проверавач подешавања није изашао у року од 5 " +"секунде" + +#: dicod/server.c:498 +msgid "waitpid failed" +msgstr "чекај_пид није успело" + +#: dicod/server.c:499 +msgid "refusing to restart" +msgstr "одбијам да се поново покренем" + +#: dicod/server.c:539 +#, c-format +msgid "too many children (%lu)" +msgstr "превише потпроцеса (%lu)" + +#: dicod/server.c:557 +msgid "select error" +msgstr "грешка бирања" + +#: dicod/server.c:585 +#, c-format +msgid "%s started" +msgstr "„%s“ је покренут" + +#: dicod/server.c:590 +msgid "not running as root: ignoring user/group settings" +msgstr "не ради као администратор: занемарујем подешавања корисника/групе" + +#: dicod/server.c:603 +msgid "dicod started without full file name" +msgstr "речкод је започет без пуног назива датотеке" + +#: dicod/server.c:604 dicod/server.c:608 +msgid "restart (SIGHUP) will not work" +msgstr "поновно покретање (СИГНГОРЕ) неће радити" + +#: dicod/server.c:607 +msgid "configuration file is not given with a full file name" +msgstr "датотека подешавања није дата са пуним називом датотеке" + +#: dicod/server.c:615 +msgid "Cannot become a daemon" +msgstr "Не могу постати демон" + +#: dicod/server.c:632 +#, c-format +msgid "Exit code = %d, last error status" +msgstr "Излазна шифра = %d, последње стање грешке" + +#: dicod/server.c:640 +#, c-format +msgid "%s restarting" +msgstr "„%s“ се поново покреће" + +#: dicod/server.c:644 +msgid "Cannot restart" +msgstr "Не могу поново да се покренем" + +#: dicod/server.c:646 +#, c-format +msgid "%s terminating" +msgstr "„%s“ завршава" + +#: dicod/ident.c:200 +msgid "Incorrect length of IDENT DES packet" +msgstr "Нетачна дужина пакета ИДЕНТ ОПИС" + +#: dicod/ident.c:207 +#, c-format +msgid "Cannot open file %s" +msgstr "Не могу да отворим датотеку „%s“" + +#: dicod/ident.c:388 +msgid "cannot create socket for AUTH identification" +msgstr "не могу да направим утичницу за АУТЕНТ препознавање" + +#: dicod/ident.c:400 +msgid "cannot bind AUTH socket" +msgstr "не могу да свежем АУТЕНТ прикључницу" + +#: dicod/ident.c:413 dicod/ident.c:464 +#, c-format +msgid "cannot connect to AUTH server %s" +msgstr "не могу да се повежем са АУТЕНТ сервером „%s“" + +#: dicod/ident.c:437 +#, c-format +msgid "Malformed IDENT response: `%s', from %s" +msgstr "Лош ИДЕНТ одговор: %s, од „%s“" + +#: dicod/ident.c:442 +msgid "" +"Keyfile for AUTH responses not specified in config; use `ident-keyfile FILE'" +msgstr "" +"Датотека кључа за АУТЕНТ одговоре није наведена у подешавањима; користите " +"„ident-keyfile ДАТОТЕКА“" + +#: dicod/ident.c:458 +#, c-format +msgid "failure while communicating with AUTH server %s" +msgstr "неуспех приликом комуницирања са АТЕНТ сервером „%s“" + +#: dicod/ident.c:469 +#, c-format +msgid "no reply from AUTH server %s" +msgstr "нема одговора са АУТЕНТ сервера „%s“" + +#: dicod/ident.c:475 +#, c-format +msgid "I/O error while communicating with AUTH server %s" +msgstr "Грешка приликом комуницирања са АТЕНТ сервером „%s“" + +#: dicod/accesslog.c:487 +#, c-format +msgid "log format error (near char %td): missing terminating `}'" +msgstr "грешка формата дневника (близу знака %td): недостаје завршна }" + +#: dicod/accesslog.c:502 +#, c-format +msgid "log format error (near char %td): unknown format char `%c'" +msgstr "грешка формата дневника (близу знака %td): непознат знак формата „%c“" + +#: dicod/accesslog.c:510 +#, c-format +msgid "" +"log format warning (near char %td): format char `%c' does not take arguments" +msgstr "" +"упозорење формата дневника (близу знака %td): знак формата „%c“ не прихвата " +"аргументе" + +#: dicod/accesslog.c:553 +#, c-format +msgid "cannot open access log file `%s'" +msgstr "не могу да отворим датотеку приступа дневнику „%s“" + +#: dicod/gsasl.c:84 +#, c-format +msgid "Unexpected input instead of SASLRESP command: %s" +msgstr "Неочекивани улаз уместо наредбе САСЛ_ОДГОВОР: %s" + +#: dicod/gsasl.c:123 +#, c-format +msgid "SASL gsasl_server_start: %s" +msgstr "САСЛ покретање_сервера_гсасл-а: %s" + +#: dicod/gsasl.c:163 +#, c-format +msgid "GSASL %s: cannot get username" +msgstr "ГСАСЛ „%s“: не могу да добавим корисничко име" + +#: dicod/gsasl.c:269 +msgid "user name not supplied" +msgstr "није дато име корисника" + +#: dicod/gsasl.c:333 +#, c-format +msgid "cannot initialize libgsasl: %s" +msgstr "не могу да покренем либгсасл: %s" + +#: modules/dict.org/dictorg.c:83 +#, c-format +msgid "mod_init: cannot stat `%s'" +msgstr "почетак_режима: не могу да добавим податке за „%s“" + +#: modules/dict.org/dictorg.c:88 +#, c-format +msgid "mod_init: `%s' is not a directory" +msgstr "почетак_режима: „%s“ није директоријум" + +#: modules/dict.org/dictorg.c:93 +#, c-format +msgid "mod_init: `%s' is not readable" +msgstr "почетак_режима: „%s“ није читљива" + +#: modules/dict.org/dictorg.c:248 +#, c-format +msgid "%s:%lu: invalid base64 value: `%.*s'" +msgstr "%s:%lu: неисправна вредност основе64: „%.*s“" + +#: modules/dict.org/dictorg.c:263 +#, c-format +msgid "%s:%lu: malformed entry" +msgstr "%s:%lu: лош унос" + +#: modules/dict.org/dictorg.c:302 +#, c-format +msgid "open_index: cannot stat `%s'" +msgstr "отвори_индекс: не могу да добавим податке за „%s“" + +#: modules/dict.org/dictorg.c:306 +#, c-format +msgid "open_index: `%s' is not a regular file" +msgstr "отвори_индекс: „%s“ није обична датотека" + +#: modules/dict.org/dictorg.c:315 modules/dict.org/dictorg.c:412 +#: modules/gcide/gcide.c:316 modules/gcide/gcide.c:725 +#, c-format +msgid "cannot create stream `%s'" +msgstr "не могу да створим ток „%s“" + +#: modules/dict.org/dictorg.c:321 modules/dict.org/dictorg.c:420 +#: modules/gcide/gcide.c:323 modules/gcide/gcide.c:732 +#, c-format +msgid "cannot open stream `%s': %s" +msgstr "не могу да отворим ток „%s“: %s" + +#: modules/dict.org/dictorg.c:430 +#, c-format +msgid "cannot open stream for dictionary `%s'" +msgstr "не могу да отворим ток за директоријум „%s“" + +#: modules/dict.org/dictorg.c:458 +#, c-format +msgid "mod_init_db(%s): database name not given" +msgstr "почетак_режима_бп(%s): није дат назив базе података" + +#: modules/dict.org/dictorg.c:468 +#, c-format +msgid "mod_init_db: `%s' is not an absolute file name" +msgstr "почетак_режима_бп: „%s“ није апсолутан назив датотеке" + +#: modules/dict.org/dictorg.c:508 +#, c-format +msgid "mod_init_db(%s): index files in old 8-bit format are not supported" +msgstr "" +"mod_init_db(%s): датотеке индекса у старом 8-битном запису нису подржане" + +#: modules/dict.org/dictorg.c:810 modules/dict.org/dictorg.c:993 +#: modules/gcide/gcide.c:756 +#, c-format +msgid "%s: read error: %s" +msgstr "%s: грешка читања: %s" + +#: modules/dict.org/dictorg.c:904 +msgid "_match_all: key initialization failed" +msgstr "_поклопи_све: покретање кључа није успело" + +#: modules/dict.org/dictorg.c:983 +#, c-format +msgid "%s: seek error: %s" +msgstr "%s: грешка пребацивања: %s" + +#: modules/dict.org/dictstr.c:176 +#, c-format +msgid "cannot initialize inflation engine: %s" +msgstr "Не могу да покренем погон инфлације: %s" + +#: modules/dict.org/dictstr.c:198 +#, c-format +msgid "%s:%d: INTERNAL ERROR: inflate did not flush (%d pending, %d avail)" +msgstr "" +"%s:%d: УНУТРАШЊА ГРЕШКА: инфлација није пресута (на чекању: %d, доступних: " +"%d)" + +#: modules/dict.org/dictstr.c:286 +#, c-format +msgid "%s:%d: INTERNAL ERROR: cannot shut down inflation engine: %s" +msgstr "%s:%d: УНУТРАШЊА ГРЕШКА: не могу да угасим погон инфлације: %s" + +#: modules/dict.org/dictstr.c:437 +#, c-format +msgid "file position (%lu) != header length + 1 (%lu)" +msgstr "положај датотеке (%lu) != дужини заглавља + 1 (%lu)" + +#: modules/dict.org/dictstr.c:475 +msgid "unknown dictionary format" +msgstr "непознат формат речника" + +#: modules/dict.org/dictstr.c:478 +msgid "unsupported dictionary format" +msgstr "неподржан формат речника" + +#: modules/dict.org/dictstr.c:481 +msgid "unsupported dictionary version" +msgstr "неподржано издање речника" + +#: modules/dict.org/dictstr.c:484 +msgid "malformed header" +msgstr "лоше заглавље" + +#: modules/dict.org/dictstr.c:487 +msgid "cannot seek on pure gzip format files" +msgstr "не могу да премотавам на датотекама чистог гзип формата" + +#: modules/dict.org/dictstr.c:490 +msgid "error decompressing stream" +msgstr "грешка распакивања тока" + +#: modules/guile/guile.c:151 +#, c-format +msgid "%s: not enough memory" +msgstr "%s: нема довољно меморије" + +#: modules/guile/guile.c:164 +#, c-format +msgid "%s: invalid return type" +msgstr "%s: неисправна врста одговора" + +#: modules/guile/guile.c:184 +#, c-format +msgid "procedure `%s' failed: see error output for details" +msgstr "поступак „%s“ није успео: видите излаз грешке за детаље" + +#: modules/guile/guile.c:735 +#, c-format +msgid "%s: %s: unknown virtual function" +msgstr "%s: %s: непозната виртуелна функција" + +#: modules/guile/guile.c:794 +msgid "mod_init: cannot initialize error port" +msgstr "почетак_режима: не могу да започнем прикључник грешке" + +#: modules/guile/guile.c:802 modules/guile/guile.c:836 +#, c-format +msgid "mod_init: cannot load init script %s" +msgstr "почетак_режима: не могу да учитам скрипту почетка „%s“" + +#: modules/guile/guile.c:862 +#, c-format +msgid "%s: %s: void virtual function" +msgstr "%s: %s: поништена виртуелна функција" + +#: modules/guile/guile.c:1084 +msgid "mod_match: key initialization failed" +msgstr "поклапање_режима: покретање кључа није успело" + +#: modules/outline/outline.c:476 +msgid "outline_open: wrong number of arguments" +msgstr "отвори_контуру: погрешан број аргумената" + +#: modules/outline/outline.c:482 modules/gcide/idxgcide.l:269 +#, c-format +msgid "cannot open file %s" +msgstr "не могу да отворим датотеку „%s“" + +#: modules/outline/outline.c:642 +msgid "outline_lang: not enough memory" +msgstr "језик_контуре: нема довољно меморије" + +#: modules/outline/outline.c:681 +msgid "outline_match_all: not enough memory" +msgstr "контура_поклопи_све: нема довољно меморије" + +#: modules/outline/outline.c:686 +msgid "outline_match_all: key initialization failed" +msgstr "контура_поклопи_све: покретање кључа није успело" + +#: modules/ldap/ldap.c:60 +#, c-format +msgid "cannot set LBER_OPT_DEBUG_LEVEL %d" +msgstr "не могу да подесим ЛБЕР_ОПЦ_ПРОЧИШЋАВАЊА_НИВО %d" + +#: modules/ldap/ldap.c:65 +#, c-format +msgid "could not set LDAP_OPT_DEBUG_LEVEL %d" +msgstr "не могу да подесим ЛДАП_ОПЦ_ПРОЧИШЋАВАЊА_НИВО %d" + +#: modules/ldap/ldap.c:73 +#, c-format +msgid "cannot create LDAP session handle for URI=%s (%d): %s" +msgstr "не могу да направим ручку ЛДАП сесије за путању=%s (%d): %s" + +#: modules/ldap/ldap.c:81 +#, c-format +msgid "ldap_start_tls failed: %s" +msgstr "лдап_покрени_тлс није успело: %s" + +#: modules/ldap/ldap.c:199 +#, c-format +msgid "cannot parse options `%s': %s" +msgstr "не могу да обрадим опције „%s“: %s" + +#: modules/ldap/ldap.c:215 +msgid "cannot allocate handle" +msgstr "не могу да доделим ручку" + +#: modules/ldap/ldap.c:255 +#, c-format +msgid "cannot expand query `%s': %s" +msgstr "не могу да раширим упит „%s“: %s" + +#: modules/gcide/gcide.c:85 +#, c-format +msgid "gcide: cannot stat `%s'" +msgstr "гциде: не могу да добавим податке за „%s“" + +#: modules/gcide/gcide.c:89 +#, c-format +msgid "gcide: `%s' is not a directory" +msgstr "гциде: „%s“ није директоријум" + +#: modules/gcide/gcide.c:93 modules/gcide/gcide.c:158 +#, c-format +msgid "gcide: `%s' is not readable" +msgstr "гциде: „%s“ није читљиво" + +#: modules/gcide/gcide.c:113 +#, c-format +msgid "gcide_open_idx: creating index %s" +msgstr "гциде_отвори_индекс: правим индекс „%s“" + +#: modules/gcide/gcide.c:116 +#, c-format +msgid "gcide_open_idx: cannot run %s" +msgstr "гциде_отвори_индекс: не могу да покренем „%s“" + +#: modules/gcide/gcide.c:125 +msgid "gcide_open_idx: fork failed" +msgstr "гциде_отвори_индекс: није успело рачвање" + +#: modules/gcide/gcide.c:129 modules/gcide/gcide.c:134 +#, c-format +msgid "gcide_open_idx: %s failed" +msgstr "гциде_отвори_индекс: није успело „%s“" + +#: modules/gcide/gcide.c:141 +#, c-format +msgid "gcide_open_idx: %s exited with status %d" +msgstr "гциде_отвори_индекс: %s је изашао са стањем %d" + +#: modules/gcide/gcide.c:162 modules/gcide/gcide.c:182 +#, c-format +msgid "gcide: can't stat `%s'" +msgstr "гциде: не могу да добавим податке „%s“" + +#: modules/gcide/gcide.c:188 +msgid "gcide: index file older than database, reindexing" +msgstr "гциде: датотека индекса је старија од базе података, поново индексирам" + +#: modules/gcide/gcide.c:190 +#, c-format +msgid "gcide_open_idx: cannot access %s" +msgstr "гциде_отвори_индекс: не могу да приступим „%s“" + +#: modules/gcide/gcide.c:249 +msgid "gcide_init_db: database directory not given" +msgstr "гциде_покрени_бп: директоријум базе података није дат" + +#: modules/gcide/gcide.c:335 modules/gcide/gcide.c:354 +#, c-format +msgid "read error in stream `%s': %s" +msgstr "грешка читања у току „%s“: %s" + +#: modules/gcide/gcide.c:344 +#, c-format +msgid "cannot get size of stream `%s': %s" +msgstr "не могу да добавим величину тока за „%s“: %s" + +#: modules/gcide/gcide.c:351 +msgid "cannot allocate dictionary information buffer" +msgstr "не могу да доделим међумеморију података речника" + +#: modules/gcide/gcide.c:518 modules/wordnet/wordnet.c:617 +#, c-format +msgid "%s: key initialization failed" +msgstr "%s: покретање кључа није успело" + +#: modules/gcide/gcide.c:742 +#, c-format +msgid "seek error on `%s' while positioning to %lu: %s" +msgstr "грешка премотавања на „%s“ приликом позиционирања на %lu: %s" + +#: modules/gcide/idx.c:68 +#, c-format +msgid "error reading from `%s'" +msgstr "грешка читања из „%s“" + +#: modules/gcide/idx.c:71 +#, c-format +msgid "short read while reading from `%s'" +msgstr "кратко читање током читања из „%s“" + +#: modules/gcide/idx.c:91 +#, c-format +msgid "file `%s' is not a valid gcide index file" +msgstr "датотека „%s“ није исправна гциде датотека индекса" + +#: modules/gcide/idx.c:103 +#, c-format +msgid "index file `%s' is corrupted" +msgstr "датотека индекса „%s“ је оштећена" + +#: modules/gcide/idx.c:128 +#, c-format +msgid "cannot open index file `%s'" +msgstr "не могу да отворим датотеку индекса „%s“" + +#: modules/gcide/idx.c:246 +#, c-format +msgid "seek error on `%s' while positioning to %lu" +msgstr "грешка премотавања на „%s“ приликом позиционирања на %lu" + +#: modules/gcide/idxgcide-cli.opt:62 +#, c-format +msgid "not a valid size: %s" +msgstr "неисправна величина: %s" + +#: modules/gcide/idxgcide.l:77 +msgid "page too small, aborting" +msgstr "страница је премала, прекидам" + +#: modules/gcide/idxgcide.l:120 +msgid "Sorting references" +msgstr "Ређам упуте" + +#: modules/gcide/idxgcide.l:124 +msgid "Writing references" +msgstr "Пишем упуте" + +#: modules/gcide/idxgcide.l:217 +#, c-format +msgid "%s:%u: unknown or illegible character in a headword" +msgstr "%s:%u: непознат или нечитљив знак у главној речи" + +#: modules/gcide/idxgcide.l:221 +#, c-format +msgid "%s:%u: unrecognized entity: %s" +msgstr "%s:%u: непознат ентитет: %s" + +#: modules/gcide/idxgcide.l:236 +#, c-format +msgid "%s:%u: unknown character sequence %s" +msgstr "%s:%u: непознат низ знакова „%s“" + +#: modules/gcide/idxgcide.l:266 +#, c-format +msgid "Indexing %s" +msgstr "Индексирам „%s“" + +#: modules/gcide/idxgcide.l:302 +msgid "page size too small" +msgstr "величина странице је премала" + +#: modules/gcide/idxgcide.l:311 +msgid "bad number of arguments" +msgstr "лош број аргумената" + +#: modules/gcide/idxgcide.l:335 +#, c-format +msgid "cannot create index file `%s'" +msgstr "не могу да створим датотеку индекса „%s“" + +#: modules/gcide/idxgcide.l:356 +#, c-format +msgid "headwords=%lu, definitions=%lu, refs per page=%lu, pages=%lu" +msgstr "главних речи=%lu, дефиниција=%lu, упута по страници=%lu, страница=%lu" + +#: modules/gcide/markup.l:148 +#, c-format +msgid "cannot parse line %.*s: %s" +msgstr "не могу да обрадим ред %.*s: %s" + +#: modules/gcide/markup.l:300 +#, c-format +msgid "%u: unrecognized entity: %s" +msgstr "%u: непознат ентитет: %s" + +#: modules/gcide/markup.l:312 +#, c-format +msgid "%u: unknown character sequence %s" +msgstr "%u: непознат низ знакова „%s“" + +#: modules/wordnet/wordnet.c:79 +msgid "cannot open wordnet database" +msgstr "не могу да отворим базу података ворднета" + +#: modules/wordnet/wordnet.c:232 +#, c-format +msgid "wordnet: unknown option %s" +msgstr "ворднет: непозната опција „%s“" + +#: modules/wordnet/wordnet.c:239 +#, c-format +msgid "wordnet: option %s is not yet supported" +msgstr "ворднет: опција „%s“ још није подржана" + +#: grecs/src/cidr.c:129 grecs/src/cidr.c:179 grecs/src/cidr.c:186 +#, c-format +msgid "invalid network mask: %s" +msgstr "неисправна маска мреже: %s" + +#: grecs/src/cidr.c:142 grecs/src/cidr.c:149 grecs/src/cidr.c:160 +#, c-format +msgid "unrecognized address family: %s" +msgstr "непозната породица адресе: %s" + +#: grecs/src/cidr.c:153 +#, c-format +msgid "invalid network address: %s" +msgstr "неисправна адреса мреже: %s" + +#: grecs/src/format.c:33 +msgid "void" +msgstr "" + +#: grecs/src/format.c:36 grecs/src/tree.c:69 +#, fuzzy +msgid "string" +msgstr "адреса: ниска" + +#: grecs/src/format.c:46 +#, fuzzy +msgid "number" +msgstr "дужина: број" + +#: grecs/src/format.c:49 +msgid "time" +msgstr "" + +#: grecs/src/format.c:52 +#, fuzzy +msgid "boolean" +msgstr "логичка" + +#: grecs/src/format.c:55 +msgid "IPv4" +msgstr "" + +#: grecs/src/format.c:58 +msgid "CIDR" +msgstr "" + +#: grecs/src/format.c:61 +#, fuzzy +msgid "hostname" +msgstr "назив" + +#: grecs/src/format.c:64 +#, fuzzy +msgid "sockaddr" +msgstr "адреса" + +#: grecs/src/format.c:67 +#, fuzzy +msgid "section" +msgstr "Избор сервера" + +#: grecs/src/format.c:70 +msgid "null" +msgstr "" + +#: grecs/src/format.c:133 +msgid "Disabled;" +msgstr "Искључен;" + +#: grecs/src/grecs-lex.l:186 +#, c-format +msgid "stray character %c" +msgstr "залутали знак: %c" + +#: grecs/src/grecs-lex.l:189 +#, c-format +msgid "stray character \\%03o" +msgstr "залутали знак \\%03o" + +#: grecs/src/grecs-lex.l:219 grecs/src/preproc.c:480 +#, c-format +msgid "Cannot open `%s'" +msgstr "Не могу да отворим „%s“" + +#: grecs/src/grecs-lex.l:227 grecs/src/preproc.c:698 +#, c-format +msgid "Unable to start external preprocessor `%s'" +msgstr "Не могу да покренем спољног предобрађивача „%s“" + +#: grecs/src/grecs-lex.l:394 grecs/src/grecs-lex.l:431 +#, c-format +msgid "cannot parse #line line: %s" +msgstr "не могу да обрадим #line ред: %s" + +#: grecs/src/grecs-lex.l:415 grecs/src/grecs-lex.l:435 +msgid "invalid #line statement" +msgstr "неисправна #line изјава" + +#: grecs/src/grecs-lex.l:418 grecs/src/grecs-lex.l:439 +msgid "malformed #line statement" +msgstr "лоша #line изјава" + +#: grecs/src/lineacc.c:70 +#, c-format +msgid "unknown escape sequence: '\\%c'" +msgstr "непозната секвенца избегавања: „\\%c“" + +#: grecs/src/opthelp.c:123 grecs/src/opthelp.c:269 +msgid "Usage:" +msgstr "Употреба:" + +#: grecs/src/opthelp.c:127 +msgid "OPTION" +msgstr "ОПЦИЈА" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Aliases" +msgstr "Надимци" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Alias" +msgstr "Надимак" + +#: grecs/src/opthelp.c:186 +msgid "" +"Mandatory or optional arguments to long options are also mandatory or " +"optional for any corresponding short options." +msgstr "" +"Обавезни или изборни аргументи за дуге опције су такође обавезни или изборни " +"за сваку одговарајућу кратку опцију." + +#. TRANSLATORS: The placeholder indicates the bug-reporting +#. address for this package. Please add _another line_ saying +#. "Report translation bugs to <...>\n" with the address for +#. translation bugs (typically your translation team's web or +#. email address). +#: grecs/src/opthelp.c:202 +#, c-format +msgid "Report bugs to %s.\n" +msgstr "Грешке пријавите на „%s“.\n" + +#: grecs/src/opthelp.c:205 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Матична страница „%s“: <%s>\n" + +#. TRANSLATORS: Translate "(C)" to the copyright symbol +#. (C-in-a-circle), if this symbol is available in the user's +#. locale. Otherwise, do not translate "(C)"; leave it as-is. +#: grecs/src/opthelp.c:457 +msgid "(C)" +msgstr "©" + +#: grecs/src/opthelp.c:466 +msgid "" +"License GPLv3+: GNU GPL version 3 or later \n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +"\n" +msgstr "" +"Дозвола ОЈЛи3+: Гнуова ОЈЛ издање 3 или касније \n" +"Ово је слободан софтвер: слободни сте да га мењате и расподељујете.\n" +"Нема НИКАКВЕ ГАРАНЦИЈЕ, у обиму допуштеном законом.\n" +"\n" + +#: grecs/src/opthelp.c:483 +msgid "Written by " +msgstr "Написао" + +#. TRANSLATORS: This string is used as a delimiter between +#. authors' names as in: +#. +#. Written by Winnie the Pooh, Piglet ... +#. +#: grecs/src/opthelp.c:489 +msgid ", " +msgstr ", " + +#. TRANSLATORS: This string acts as a delimiter before the +#. last author's names, e.g.: +#. +#. Written by Winnie the Pooh, Piglet and Christopher Robin. +#. +#: grecs/src/opthelp.c:495 +msgid " and " +msgstr " и " + +#: grecs/src/path-parser.c:62 +#, c-format +msgid "cannot open `%s'" +msgstr "не могу да отворим „%s“" + +#: grecs/src/path-parser.c:108 grecs/src/path-parser.c:123 +msgid "unexpected end of file" +msgstr "неочекивани крај датотеке" + +#: grecs/src/path-parser.c:143 +msgid "parse error" +msgstr "грешка обраде" + +#: grecs/src/preproc.c:448 grecs/src/preproc.c:470 +#, c-format +msgid "Cannot stat `%s'" +msgstr "Не могу да добавим податке за „%s“" + +#: grecs/src/preproc.c:453 grecs/src/preproc.c:458 +msgid "Recursive inclusion" +msgstr "Дубинско укључивање" + +#: grecs/src/preproc.c:461 +#, c-format +msgid "`%s' already included here" +msgstr "„%s“ је већ укључено овде" + +#: grecs/src/preproc.c:465 +#, c-format +msgid "`%s' already included at top level" +msgstr "„%s“ је већ укључено на највишем нивоу" + +#: grecs/src/preproc.c:595 +msgid "Cannot parse include line" +msgstr "Не могу да обрадим ред укључивања" + +#: grecs/src/preproc.c:598 +msgid "invalid include statement" +msgstr "неисправна изјава укључивања" + +#: grecs/src/preproc.c:624 +msgid "read error" +msgstr "грешка читања" + +#: grecs/src/preproc.c:632 +#, c-format +msgid "%s: No such file or directory" +msgstr "%s: Нема такве датотеке или директоријума" + +#: grecs/src/preproc.c:773 grecs/src/preproc.c:793 +#, c-format +msgid "Cannot run `%s'" +msgstr "Не могу да покренем „%s“" + +#: grecs/src/sockaddr.c:67 +#, c-format +msgid "socket path name too long: %s" +msgstr "назив путање прикључнице је предуг: „%s“" + +#: grecs/src/sockaddr.c:120 +#, c-format +msgid "%s: garbage near %s" +msgstr "%s: ђубре близу „%s“" + +#: grecs/src/sockaddr.c:159 +#, c-format +msgid "service not specified: %s" +msgstr "услуга није наведена: %s" + +#: grecs/src/sockaddr.c:176 +#, c-format +msgid "%s: cannot parse address: %s" +msgstr "%s: не могу да обрадим адресу: %s" + +#: grecs/src/sockaddr.c:269 +#, c-format +msgid "unknown or unsupported scheme: %s" +msgstr "непозната или неподржана шема: %s" + +#: grecs/src/sockaddr.c:278 +#, c-format +msgid "%s: UNIX socket must be an absolute file name" +msgstr "%s: ЈУНИКС прикључница мора бити апсолутни назив датотеке" + +#: grecs/src/symtab.c:236 +msgid "element not found in table" +msgstr "нисам нашао елемент у табели" + +#: grecs/src/symtab.c:238 +msgid "symbol table is full" +msgstr "табела симбола је пуна" + +#: grecs/src/tree.c:70 +msgid "list" +msgstr "" + +#: grecs/src/tree.c:71 +#, fuzzy +msgid "one or more arguments" +msgstr "превише аргумената" + +#: grecs/src/tree.c:75 +msgid "unrecognized type; please report" +msgstr "" + +#: grecs/src/tree.c:320 +msgid "section keyword used as a scalar" +msgstr "" + +#: grecs/src/tree.c:322 +msgid "scalar keyword used as a section" +msgstr "" + +#: grecs/src/tree.c:325 +#, fuzzy +msgid "unknown keyword" +msgstr "Непозната кључна реч" + +#: grecs/src/tree.c:360 +#, c-format +msgid "%s: not a valid boolean value" +msgstr "%s: није исправна логичка вредност" + +#: grecs/src/tree.c:420 grecs/src/tree.c:644 +#, c-format +msgid "%s: not a valid IP address or hostname" +msgstr "%s: није исправна ИП адреса или назив домаћина" + +#: grecs/src/tree.c:444 +#, c-format +msgid "%s: not a valid port number" +msgstr "%s: није исправан број прикључника" + +#: grecs/src/tree.c:452 +msgid "missing port number" +msgstr "недостаје број прикључника" + +#: grecs/src/tree.c:501 +msgid "numeric overflow" +msgstr "прекорачење бројева" + +#: grecs/src/tree.c:506 +msgid "value out of allowed range" +msgstr "вредност је изван дозвољеног опсега" + +#: grecs/src/tree.c:541 grecs/src/tree.c:571 +#, c-format +msgid "not a number (stopped near `%s')" +msgstr "није број (стадох близу „%s“)" + +#: grecs/src/tree.c:635 +#, c-format +msgid "%s: not a valid IP address" +msgstr "%s: није исправна ИП адреса" + +#: grecs/src/tree.c:774 +#, c-format +msgid "too many arguments to `%s'; missing semicolon?" +msgstr "превише аргумената за „%s“; недостаје запетачка?" + +#: grecs/src/tree.c:788 grecs/src/tree.c:836 +#, c-format +msgid "INTERNAL ERROR at %s:%d: unhandled data type %d" +msgstr "УНУТРАШЊА ГРЕШКА на „%s“:%d: непозната врста података „%d“" + +#: grecs/src/tree.c:803 +#, c-format +msgid "%s: incompatible data type in list item #%d" +msgstr "%s: несагласна врста података у %d. ставци списка" + +#: grecs/src/tree.c:823 +#, c-format +msgid "incompatible data type for `%s'" +msgstr "несагласна врста података за „%s“" + +#: grecs/wordsplit/wordsplit.c:130 +msgid "memory exhausted while trying to store error context" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:881 +msgid "Restarting" +msgstr "Поновно покрећем" + +#: grecs/wordsplit/wordsplit.c:1607 +#, c-format +msgid "%.*s: variable null or not set" +msgstr "%.*s: променљива је ништавна или није подешена" + +#: grecs/wordsplit/wordsplit.c:1637 +#, c-format +msgid "warning: undefined variable `%.*s'" +msgstr "упозорење: неодређена променљива „%.*s“" + +#: grecs/wordsplit/wordsplit.c:2138 +#, c-format +msgid "no files match pattern %s" +msgstr "нема датотека које одговарају обрасцу „%s“" + +#: grecs/wordsplit/wordsplit.c:2599 +msgid "WS trimming" +msgstr "Поправљање поделе речи" + +#: grecs/wordsplit/wordsplit.c:2601 +msgid "command substitution" +msgstr "замена наредбе" + +#: grecs/wordsplit/wordsplit.c:2603 grecs/wordsplit/wordsplit.c:2611 +msgid "coalesce list" +msgstr "списак спајања" + +#: grecs/wordsplit/wordsplit.c:2605 +msgid "tilde expansion" +msgstr "ширење тилде" + +#: grecs/wordsplit/wordsplit.c:2607 +msgid "variable expansion" +msgstr "ширење променљиве" + +#: grecs/wordsplit/wordsplit.c:2609 +msgid "quote removal" +msgstr "уклањање наводника" + +#: grecs/wordsplit/wordsplit.c:2613 +msgid "path expansion" +msgstr "ширење путање" + +#: grecs/wordsplit/wordsplit.c:2638 +#, c-format +msgid "(%02d) Input:%.*s;" +msgstr "(%02d) Улаз:%.*s;" + +#: grecs/wordsplit/wordsplit.c:2664 +msgid "Initial list:" +msgstr "Почетни списак:" + +#: grecs/wordsplit/wordsplit.c:2679 +msgid "Coalesced list:" +msgstr "Списак спајања:" + +#: grecs/wordsplit/wordsplit.c:2849 +msgid "no error" +msgstr "нема грешке" + +#: grecs/wordsplit/wordsplit.c:2850 +msgid "missing closing quote" +msgstr "недостају затварајући наводници" + +#: grecs/wordsplit/wordsplit.c:2852 +msgid "invalid wordsplit usage" +msgstr "неисправна употреба поделе речи" + +#: grecs/wordsplit/wordsplit.c:2853 +msgid "unbalanced curly brace" +msgstr "неуравнотежена витичаста заграда" + +#: grecs/wordsplit/wordsplit.c:2854 +msgid "undefined variable" +msgstr "неодређена променљива" + +#: grecs/wordsplit/wordsplit.c:2855 +msgid "input exhausted" +msgstr "нема више улаза" + +#: grecs/wordsplit/wordsplit.c:2856 +msgid "unbalanced parenthesis" +msgstr "неуравнотежени наводници" + +#: grecs/wordsplit/wordsplit.c:2857 +msgid "globbing error" +msgstr "грешка шаблонирања" + +#: grecs/wordsplit/wordsplit.c:2858 +#, fuzzy +msgid "user-defined error" +msgstr "грешка читања" + +#: grecs/wordsplit/wordsplit.c:2859 +msgid "invalid parameter number in assignment" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2871 +msgid "unknown error" +msgstr "непозната грешка" + +#: grecs/wordsplit/wordsplit.c:2880 +#, c-format +msgid "missing closing %c (start near #%lu)" +msgstr "недостаје затварајућа %c (почиње близу #%lu)" + +#~ msgid "%s: option '--%s' doesn't allow an argument\n" +#~ msgstr "%s: опција „--%s“ не дозвољава аргумент\n" + +#~ msgid "%s: unrecognized option '--%s'\n" +#~ msgstr "%s: непозната опција „--%s“\n" + +#~ msgid "%s: option '-W %s' doesn't allow an argument\n" +#~ msgstr "%s: опција „-W %s“ не дозвољава аргумент\n" + +#~ msgid "%s: option '-W %s' requires an argument\n" +#~ msgstr "%s: опција „-W %s“ захтева аргумент\n" + +#~ msgid "%s: unknown keyword" +#~ msgstr "%s: непозната кључна реч" + +#~ msgid "" +#~ "cannot initialize database `%s': module `%s' does not support databases" +#~ msgstr "" +#~ "не могу да покренем базу података „%s“: модул „%s“ не подржава базе " +#~ "података" + +#~ msgid "cannot initialize database `%s'" +#~ msgstr "не могу да покренем базу података „%s“" + +#~ msgid "cannot open database `%s'" +#~ msgstr "не могу да отворим базу података „%s“" + +#~ msgid "gcide_match_all: key initialization failed" +#~ msgstr "гциде_поклопи_све: покретање кључа није успело" + +#~ msgid "write error" +#~ msgstr "грешка писања" + +#~ msgid "not enough memory" +#~ msgstr "нема довољно меморије" + +#~ msgid "wn_foreach: key initialization failed" +#~ msgstr "вн_засвако: покретање кључа није успело" + +#~ msgid "(%02d) Restart:%.*s;" +#~ msgstr "(%02d) Поновно покретање:%.*s;" Binary files /tmp/tmpzBUTb6/GFUWpBukhc/dico-2.9/po/sv.gmo and /tmp/tmpzBUTb6/cwmgEPIKlI/dico-2.10/po/sv.gmo differ diff -Nru dico-2.9/po/sv.po dico-2.10/po/sv.po --- dico-2.9/po/sv.po 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/po/sv.po 2020-09-04 04:06:48.000000000 +0000 @@ -0,0 +1,2950 @@ +# dico Swedish translation. +# Copyright (C) 2019 Free Software Foundation, Inc. +# This file is distributed under the same license as the dico package. +# Josef Andersson , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: dico-2.7\n" +"Report-Msgid-Bugs-To: bug-dico@gnu.org\n" +"POT-Creation-Date: 2020-09-04 07:06+0300\n" +"PO-Revision-Date: 2019-06-24 15:11+0200\n" +"Last-Translator: Josef Andersson \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.2.1\n" + +#: xdico/userprivs.c:40 +msgid "Refusing to run as root" +msgstr "Nekar att köra som root" + +#: xdico/userprivs.c:58 +#, c-format +msgid "setgroups(1, %lu) failed" +msgstr "misslyckades med setgroups(1, %lu)" + +#: xdico/userprivs.c:69 +#, c-format +msgid "setegid(%lu) failed" +msgstr "misslyckades med setgid(%lu)" + +#: xdico/userprivs.c:73 +#, c-format +msgid "setregid(%lu,%lu) failed" +msgstr "misslyckades med setregid(%lu,%lu)" + +#: xdico/userprivs.c:77 +#, c-format +msgid "setresgid(%lu,%lu,%lu) failed" +msgstr "misslyckades med setregid(%lu,%lu,%lu)" + +#: xdico/userprivs.c:85 +#, c-format +msgid "setgid(%lu) failed" +msgstr "misslyckades med setgid(%lu)" + +#: xdico/userprivs.c:88 +#, c-format +msgid "Cannot set effective gid to %lu" +msgstr "Det går inte att sätta effektiv gid till %lu" + +#: xdico/userprivs.c:106 +#, c-format +msgid "setreuid(%lu,-1) failed" +msgstr "misslyckades med setregid(%lu,-1)" + +#: xdico/userprivs.c:111 +#, c-format +msgid "second setuid(%lu) failed" +msgstr "misslyckades med andra setuid(%lu)" + +#: xdico/userprivs.c:118 +#, c-format +msgid "setuid(%lu) failed" +msgstr "misslyckades med setuid(%lu)" + +#: xdico/userprivs.c:126 +msgid "seteuid(0) succeeded when it should not" +msgstr "seteuid(0) lyckades fast den borde misslyckas" + +#: xdico/userprivs.c:129 +msgid "Cannot drop non-root setuid privileges" +msgstr "Det går inte att förkasta setuid-privilegier" + +#: xdico/xstream.c:41 +msgid "not enough memory while formatting reply message" +msgstr "inte nog med minne under formatering av svarsmeddelande" + +#. TRANSLATORS: +#. Get translations for open and closing quotation marks. +#. The message catalog should translate "`" to a left +#. quotation mark suitable for the locale, and similarly for +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. +#. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. +#. +#. If you don't know what to put here, please see +#. +#. and use glyphs suitable for your language. +#: xdico/gnu/quotearg.c:362 +msgid "`" +msgstr "`" + +#: xdico/gnu/quotearg.c:363 +msgid "'" +msgstr "'" + +#: xdico/gnu/obstack.c:338 xdico/gnu/obstack.c:340 +#: grecs/wordsplit/wordsplit.c:76 grecs/wordsplit/wordsplit.c:2851 +msgid "memory exhausted" +msgstr "slut på minne" + +#: xdico/gnu/getopt.c:278 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous\n" +msgstr "%s: flaggan ”-W %s” är tvetydig\n" + +#: xdico/gnu/getopt.c:284 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous; possibilities:" +msgstr "%s: flaggan ”%s” är tvetydig; val:" + +#: xdico/gnu/getopt.c:319 +#, fuzzy, c-format +msgid "%s: unrecognized option '%s%s'\n" +msgstr "%s: okänd flagga ”%c%s”\n" + +#: xdico/gnu/getopt.c:345 +#, fuzzy, c-format +msgid "%s: option '%s%s' doesn't allow an argument\n" +msgstr "%s: flaggan ”%c%s” tar inte argument\n" + +#: xdico/gnu/getopt.c:360 +#, fuzzy, c-format +msgid "%s: option '%s%s' requires an argument\n" +msgstr "%s: flaggan ”--%s” kräver ett argument\n" + +#: xdico/gnu/getopt.c:621 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: ogiltig flagga -- ”%c”\n" + +#: xdico/gnu/getopt.c:636 xdico/gnu/getopt.c:682 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: flaggan kräver ett argument -- ”%c”\n" + +#: lib/parseopt.c:116 +#, c-format +msgid "%s: %s: unknown option" +msgstr "%s: %s: okänd flagga" + +#: lib/parseopt.c:127 +#, c-format +msgid "%s: %s: %s is not a valid number" +msgstr "%s: %s: %s är inte ett giltigt tal" + +#: lib/parseopt.c:168 +#, c-format +msgid "%s: %s: invalid value %s" +msgstr "%s: %s: ogiltigt värde %s" + +#: lib/iostr.c:91 +msgid "No error" +msgstr "Inget fel" + +#: dico/shell.c:34 +msgid "WORD" +msgstr "ORD" + +#: dico/shell.c:34 +msgid "Define WORD." +msgstr "Definiera ORD." + +#: dico/shell.c:35 +msgid "/WORD" +msgstr "ORD" + +#: dico/shell.c:35 +msgid "Match WORD." +msgstr "Matcha ORD." + +#: dico/shell.c:36 +msgid "Redisplay previous matches." +msgstr "Visa om tidigare matchningar." + +#: dico/shell.c:37 cmdline.opt:131 +msgid "NUMBER" +msgstr "NUMMER" + +#: dico/shell.c:37 +msgid "Define NUMBERth match." +msgstr "Definiera träff-NUMMER." + +#: dico/shell.c:39 +msgid "Edit NUMBERth previous command." +msgstr "Redigera tidigare träff-NUMMER." + +#: dico/shell.c:45 +msgid "[HOST [PORT]]" +msgstr "[VÄRD [PORT]]" + +#: dico/shell.c:46 +msgid "Connect to a DICT server." +msgstr "Anslut till en DICT-server." + +#: dico/shell.c:50 +msgid "Close the connection." +msgstr "Stäng anslutningen." + +#: dico/shell.c:53 dico/shell.c:57 +msgid "[NAME]" +msgstr "[NAMN]" + +#: dico/shell.c:54 +msgid "Set or display current database name." +msgstr "Tilldela eller visa aktuellt databasnamn." + +#: dico/shell.c:58 +msgid "Set or display current strategy." +msgstr "Tilldela eller visa aktuell strategi." + +#: dico/shell.c:61 +msgid "[NUM]" +msgstr "[NUM]" + +#: dico/shell.c:62 +msgid "Set or query Levenshtein distance (server-dependent)." +msgstr "Tilldela eller fråga efter Levenshteinavstånd (server-beroende)." + +#: dico/shell.c:66 +msgid "List available matching strategies" +msgstr "Lista tillgängliga matchningsstrategier" + +#: dico/shell.c:70 +msgid "List all accessible databases" +msgstr "Lista alla åtkomstbara databaser" + +#: dico/shell.c:73 +msgid "[DB]" +msgstr "[DB]" + +#: dico/shell.c:74 +msgid "Display the information about the database." +msgstr "Visa information om databasen." + +#: dico/shell.c:77 +msgid "[CHAR]" +msgstr "[TECK]" + +#: dico/shell.c:78 +msgid "Set or display command prefix." +msgstr "Sätt eller visa kommandoprefix." + +#: dico/shell.c:81 dico/shell.c:101 +msgid "[BOOL]" +msgstr "BOOL]" + +#: dico/shell.c:82 +msgid "Set or display session transcript mode." +msgstr "Sätt eller visa utskriftläge för session." + +#: dico/shell.c:85 +msgid "[NUMBER]" +msgstr "[NUMMER]" + +#: dico/shell.c:86 +msgid "Set or display verbosity level." +msgstr "Sätt eller visa pratighetsnivå." + +#: dico/shell.c:89 dico/shell.c:93 cmdline.opt:158 cmdline.opt:170 +msgid "STRING" +msgstr "STRÃNG" + +#: dico/shell.c:90 +msgid "Change command line prompt." +msgstr "Ãndra kommandoradsprompt." + +#: dico/shell.c:94 +msgid "Change or display pager settings." +msgstr "Ändra eller visa pager-inställningar." + +#: dico/shell.c:97 +msgid "[FILE]" +msgstr "[FIL]" + +#: dico/shell.c:98 +msgid "Set or display autologin file name." +msgstr "Sätt eller visa filnamn för automatisk inloggning." + +#: dico/shell.c:102 +msgid "Enable SASL authentication." +msgstr "Aktivera SASL-autentisering." + +#: dico/shell.c:107 +msgid "Display command history." +msgstr "Visa kommanodohistoriken." + +#: dico/shell.c:112 +msgid "Display this help text." +msgstr "Visa denna hjälptext." + +#: dico/shell.c:116 +msgid "Print program version." +msgstr "Skriv ut programversion." + +#: dico/shell.c:120 +msgid "Print copyright statement." +msgstr "Skriv ut upphovsrättsinformation." + +#: dico/shell.c:128 +msgid "Quit the shell." +msgstr "Avsluta skalet." + +#: dico/shell.c:149 +#, c-format +msgid "Command prefix is %c\n" +msgstr "Kommandoprefix är %c\n" + +#: dico/shell.c:151 +msgid "Expected a single punctuation character" +msgstr "Förväntade sig ett punkttecken" + +#: dico/shell.c:229 +msgid "warning: " +msgstr "varning: " + +#: dico/shell.c:342 +msgid "unknown command" +msgstr "okänt kommando" + +#: dico/shell.c:352 +msgid "not enough arguments" +msgstr "för få argument" + +#: dico/shell.c:355 dicod/main.c:170 dicod/main.c:232 dicod/main.c:584 +#: dicod/main.c:793 +msgid "too many arguments" +msgstr "för många argument" + +#: dico/shell.c:398 +#, c-format +msgid "Cannot open init file %s" +msgstr "Det går inte att öppna filen %s" + +#: dico/connect.c:89 dico/connect.c:404 +msgid "No reply from server" +msgstr "Inget svar från servern" + +#: dico/connect.c:110 +msgid "Attempting APOP authentication\n" +msgstr "Tillåter APOP-autentisering\n" + +#: dico/connect.c:117 dico/saslauth.c:338 +msgid "Not enough credentials for authentication" +msgstr "Inte nog med användaruppgifter för autentisering" + +#: dico/connect.c:121 dico/saslauth.c:343 +msgid "Skipping authentication\n" +msgstr "Hoppar över autentisering\n" + +#: dico/connect.c:204 +msgid "Obtained authentication credentials from the command line\n" +msgstr "Erhöll autentiseringsuppgifter från kommandoraden\n" + +#: dico/connect.c:211 +#, c-format +msgid "File %s does not exist" +msgstr "Filen %s existerar inte" + +#: dico/connect.c:228 +msgid "Password:" +msgstr "Lösenord:" + +#: dico/connect.c:244 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot get stream transport" +msgstr "INTERNT FEL vid %s:%d: det går inte att hämta strömtransport" + +#: dico/connect.c:252 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot set stream transport" +msgstr "INTERNT FEL vid %s:%d: det går inte att sätta strömtransport" + +#: dico/connect.c:303 +#, c-format +msgid "Connecting to %s\n" +msgstr "Ansluter till %s\n" + +#: dico/connect.c:311 +#, c-format +msgid "bad source address: %s" +msgstr "dålig källadress: %s" + +#: dico/connect.c:326 +msgid "can't bind to the source address" +msgstr "det går inte att binda mot källadressen" + +#: dico/connect.c:339 +#, c-format +msgid "%s: can't get address: %s" +msgstr "%s: det går inte att hämta adressen: %s" + +#: dico/connect.c:347 grecs/src/tree.c:391 +#, c-format +msgid "%s: UNIX socket name too long" +msgstr "%s: UNIX-uttag har för långt namn" + +#: dico/connect.c:373 +msgid "cannot create dict socket" +msgstr "det går inte att skapa uttag" + +#: dico/connect.c:383 +#, c-format +msgid "%s: cannot connect" +msgstr "%s: det går inte att ansluta" + +#: dico/connect.c:394 +#, c-format +msgid "cannot create dict stream: %s" +msgstr "det går inte att skapa dict-ström: %s" + +#: dico/connect.c:408 +msgid "Invalid reply from server" +msgstr "Ogiltigt svar från server" + +#: dico/connect.c:413 +msgid "Sending client information\n" +msgstr "Skickar klientinformation\n" + +#: dico/connect.c:418 +#, c-format +msgid "Unexpected reply to CLIENT command: `%s'" +msgstr "Oväntat svar på CLIENT-kommandot: ”%s”" + +#: dico/connect.c:424 +msgid "Authentication failed" +msgstr "Autentisering misslyckades" + +#: dico/connect.c:497 +#, c-format +msgid "Sending query for word \"%s\" in database \"%s\"\n" +msgstr "Skickar fråga för ordet ”%s” i databasen ”%s”\n" + +#: dico/connect.c:508 +#, c-format +msgid "Reading %lu definition\n" +msgid_plural "Reading %lu definitions\n" +msgstr[0] "Läser %lu-definitionen\n" +msgstr[1] "Läser %lu-definitionerna\n" + +#: dico/connect.c:515 +#, c-format +msgid "Unexpected reply in place of definition %lu" +msgstr "Oväntat svar istället för definitionen %lu" + +#: dico/connect.c:538 +msgid "Setting Levenshtein threshold\n" +msgstr "Sätter Levenshtein-tröskel\n" + +#: dico/connect.c:544 +msgid "Server rejected XLEV command" +msgstr "Server avvisade XLEV-kommando" + +#: dico/connect.c:545 +#, c-format +msgid "Server reply: %s" +msgstr "Serversvar: %s" + +#: dico/connect.c:548 +#, c-format +msgid "Sending query to match word \"%s\" in database \"%s\", using \"%s\"\n" +msgstr "Skickar fråga för att match ord ”%s” i databasen ”%s”, använder ”%s”\n" + +#: dico/connect.c:561 +#, c-format +msgid "Reading %lu match\n" +msgid_plural "Reading %lu matches\n" +msgstr[0] "Läser %lu-match\n" +msgstr[1] "Läser %lu-matchningar\n" + +#: dico/connect.c:639 +msgid "Not enough data in the result" +msgstr "Inte nog med data i resultatet" + +#: dico/connect.c:706 +msgid "Freeing unlinked result" +msgstr "Frigör olänkat resultat" + +#: dico/dico.c:80 +msgid "extra command line arguments ignored" +msgstr "ignorerar extra kommandoradsargument" + +#: dico/dico.c:88 +msgid "you should give a word to look for or an URL" +msgstr "du måste ange ett ord eller en URL att söka efter" + +#: dico/dico.c:107 +msgid "Database name not specified" +msgstr "Databasnamnet specificeras inte" + +#: dico/func.c:33 dicod/main.c:1120 +msgid "Expected boolean value" +msgstr "Förväntade sig ett booleskt värde" + +#: dico/func.c:67 +#, c-format +msgid "Cannot get listing: %s" +msgstr "Det går inte att hämta listning: %s" + +#: dico/func.c:104 dico/func.c:138 +msgid "Please specify server name or IP address" +msgstr "Specificera servernamn eller IP-adress" + +#: dico/func.c:109 +msgid "Cannot connect to the server" +msgstr "Det går inte ansluta till servern" + +#: dico/func.c:112 +msgid "Getting list of databases\n" +msgstr "Hämtar databaslista\n" + +#: dico/func.c:114 +msgid "Getting list of strategies\n" +msgstr "Hämtar strategilista\n" + +#: dico/func.c:116 +msgid "Finished getting server information\n" +msgstr "Färdig med hämtning av serverinformation\n" + +#: dico/func.c:150 +msgid "Nothing to close" +msgstr "Ingenting att stänga" + +#: dico/func.c:160 +msgid "No autologin file." +msgstr "Ingen autoinloggningsfil." + +#: dico/func.c:177 dico/func.c:268 +msgid "on" +msgstr "på" + +#: dico/func.c:177 dico/func.c:268 +msgid "off" +msgstr "av" + +#: dico/func.c:258 dico/func.c:366 +msgid "invalid number" +msgstr "ogiltig siffra" + +#: dico/func.c:268 +#, c-format +msgid "transcript is %s\n" +msgstr "utskriften är %s\n" + +#: dico/func.c:309 dico/func.c:325 +msgid "No previous match" +msgstr "Ingen tidigare matchning" + +#: dico/func.c:329 +msgid "Invalid match number. Type / to see the matches." +msgstr "Ogiltigt antal träffar. Skriv / för att se träffar." + +#: dico/func.c:344 +#, c-format +msgid "Server does not support XLEV extension" +msgstr "Servern stöder inte XLEV-tillägg" + +#: dico/func.c:350 +#, c-format +msgid "Reported Levenshtein distance:%s\n" +msgstr "Rapporterade Levenshteinavstånd:%s\n" + +#: dico/func.c:353 +msgid "Cannot query Levenshtein distance. Server responded:" +msgstr "Det går inte att fråga Levenshteinavstånd. Server svarade:" + +#: dico/func.c:358 +#, c-format +msgid "No distance configured\n" +msgstr "Ingen avståndskonfiguration\n" + +#: dico/func.c:360 +#, c-format +msgid "Configured Levenshtein distance: %u\n" +msgstr "Konfigurerade Levenshteinavstånd: %u\n" + +#: dico/func.c:395 +#, c-format +msgid "" +"Search all of the databases until a match is found,\n" +"and display all matches in that database.\n" +msgstr "" +"Söker igenom alla databaser tills ett resultat inträffat,\n" +"och visar alla träffar i databasen.\n" + +#: dico/func.c:398 +#, c-format +msgid "Search all of the databases and display all matches." +msgstr "Söker igenom alla databaser och visar alla sökträffar." + +#: dico/autologin.c:151 +#, c-format +msgid "Found matching line %d\n" +msgstr "Hittar matchande rad %d\n" + +#: dico/autologin.c:160 +#, c-format +msgid "Found default line %d\n" +msgstr "Hittade standardrad %d\n" + +#: dico/autologin.c:192 +#, c-format +msgid "Cannot open autologin file %s" +msgstr "Det går inte att öppna autoinloggningsfilen %s" + +#: dico/autologin.c:197 +#, c-format +msgid "Reading autologin file %s...\n" +msgstr "Läser autoinloggningsfilen %s...\n" + +#: dico/autologin.c:218 +#, c-format +msgid "failed to parse command `%s': %s" +msgstr "misslyckades med att tolka kommandot ”%s”: %s" + +#: dico/autologin.c:229 +#, c-format +msgid "failed to add line marker: %s" +msgstr "misslyckades med att lägga till radmarkören: %s" + +#: dico/autologin.c:251 +msgid "No matching line found\n" +msgstr "Ingen matchande rad funnen\n" + +#: dico/autologin.c:269 +#, c-format +msgid "%s:%d: unknown keyword" +msgstr "%s:%d: okänt nyckelord" + +#: dico/autologin.c:277 +#, c-format +msgid "%s:%d: %s without argument" +msgstr "%s:%d %s utan argument" + +#: dico/autologin.c:335 +#, c-format +msgid "%s:%d: failed to parse line: %s" +msgstr "%s:%d: misslyckades med att tolka rad: %s" + +#: cmdline.opt:29 +msgid "Server selection" +msgstr "Serverval" + +#: cmdline.opt:45 +msgid "SERVER" +msgstr "SERVER" + +#: cmdline.opt:45 +msgid "connect to this server" +msgstr "anslut till denna server" + +#: cmdline.opt:51 +msgid "SERVICE" +msgstr "SERVICE" + +#: cmdline.opt:51 +msgid "specify port to connect to" +msgstr "specificera port att ansluta till" + +#: cmdline.opt:57 cmdline.opt:77 cmdline.opt:151 cmdline.opt:164 +msgid "NAME" +msgstr "NAMN" + +#: cmdline.opt:57 +msgid "select a database to search" +msgstr "välj en databas att söka igenom" + +#: cmdline.opt:63 +msgid "ADDR" +msgstr "ADDR" + +#: cmdline.opt:63 +msgid "set a source address for TCP connections" +msgstr "ange en källadress för TCP-anslutningar" + +#: cmdline.opt:55 +msgid "Operation modes" +msgstr "Åtgärdslägen" + +#: cmdline.opt:71 +msgid "match instead of define" +msgstr "matcha istället för att definiera" + +#: cmdline.opt:77 +msgid "select a strategy for matching; implies --match" +msgstr "välj en strategi för matchning; implicerar --match" + +#: cmdline.opt:85 +msgid "N" +msgstr "N" + +#: cmdline.opt:85 +msgid "set maximum Levenshtein distance" +msgstr "ange maximalt Levenshteinavstånd" + +#: cmdline.opt:94 +msgid "show available databases" +msgstr "visa tillgängliga databaser" + +#: cmdline.opt:100 +msgid "show available search strategies" +msgstr "visa tillgängliga sökstrategier" + +#: cmdline.opt:106 +msgid "show server help" +msgstr "visa serverhjälp" + +#: cmdline.opt:112 +msgid "DBNAME" +msgstr "DBNAMN" + +#: cmdline.opt:112 +msgid "show information about database DBNAME" +msgstr "visa information om databasen DBNAMN" + +#: cmdline.opt:119 +msgid "show information about the server" +msgstr "visa serverinformation" + +#: cmdline.opt:125 +msgid "do not print the normal dico welcome" +msgstr "skriv ej ut den vanliga dico-hälsningen" + +#: cmdline.opt:117 +msgid "Authentication" +msgstr "Autentisering" + +#: cmdline.opt:133 +msgid "disable authentication" +msgstr "inaktivera autentisering" + +#: cmdline.opt:139 +msgid "enable SASL authentication (default)" +msgstr "aktivera SASL-autentisering (standard)" + +#: cmdline.opt:145 +msgid "disable SASL authentication" +msgstr "inaktivera SASL-autentisering" + +#: cmdline.opt:151 +msgid "set user name for authentication" +msgstr "ange användarnamn för autentisering" + +#: cmdline.opt:158 +msgid "set shared secret for authentication" +msgstr "ange delad hemlighet för autentisering" + +#: cmdline.opt:164 +msgid "set the name of autologin file to use" +msgstr "ange namnet på autoinloggningsfilen att använda" + +#: cmdline.opt:170 +msgid "additional text for client command" +msgstr "ytterligare text för klientkommando" + +#: cmdline.opt:162 cmdline.opt:103 +msgid "Debugging" +msgstr "Felsökning" + +#: cmdline.opt:177 cmdline.opt:119 +msgid "enable session transcript" +msgstr "aktivera sessionsutskrift" + +#: cmdline.opt:183 +msgid "increase debugging verbosity level" +msgstr "öka pratighetsnivå för felsökning" + +#: cmdline.opt:189 +msgid "include time stamp in the debugging output" +msgstr "inkludera tidsstämpel i felsökningsutmatning" + +#: cmdline.opt:196 cmdline.opt:138 +msgid "include source line information in the debugging output" +msgstr "inkludera information om källkodsrad i felsökningsutmatningen" + +#: cmdline.opt:188 +msgid "Other options" +msgstr "Andra flaggor" + +#: cmdline.opt:200 +msgid "Give this help list" +msgstr "Visa denna hjälplista" + +#: cmdline.opt:200 +msgid "Give a short usage message" +msgstr "Visa ett kort användningsmeddelande" + +#: cmdline.opt:200 +msgid "Print program version" +msgstr "Skriv ut programversion" + +#: cmdline.opt:37 +msgid "GNU dictionary client program" +msgstr "Klientprogram för GNU-ordbok" + +#: cmdline.opt:39 +msgid "[URL-or-WORD]" +msgstr "[URL-eller-ORD]" + +#: cmdline.opt:81 +#, c-format +msgid "%s: invalid number" +msgstr "%s: ogiltigt tal" + +#: cmdline.opt:230 +msgid "Type ? for help summary" +msgstr "Skriv ? för hjälpsammanfattning" + +#: dico/lookup.c:23 +msgid "No match" +msgstr "Ingen träff" + +#: dico/lookup.c:65 dico/lookup.c:175 +#, c-format +msgid "From %s, %s:\n" +msgstr "Från %s, %s:\n" + +#: dico/lookup.c:137 +msgid "(no description available)" +msgstr "(ingen beskrivning tillgänglig)" + +#: dico/lookup.c:209 +#, c-format +msgid "%s:%d: INTERNAL ERROR: unexpected request type" +msgstr "%s:%d: INTERNT FEL: oväntad begärd typ" + +#: dico/lookup.c:229 dico/lookup.c:296 +msgid "Server name or IP not specified" +msgstr "Servernamn eller IP-adress inte angiven" + +#: dico/lookup.c:238 +msgid "Quitting\n" +msgstr "Avslutar\n" + +#: dico/saslauth.c:39 dicod/gsasl.c:370 +#, c-format +msgid "cannot get list of available SASL mechanisms: %s" +msgstr "det går inte att lista alla tillgängliga SASL-mekanismer: %s" + +#: dico/saslauth.c:110 +#, c-format +msgid "Unknown callback property %d" +msgstr "Okänd återuppringningsegenskap %d" + +#: dico/saslauth.c:121 dico/saslauth.c:127 +msgid "GSASL handshake aborted" +msgstr "GSASL-handskakning avbruten" + +#: dico/saslauth.c:168 +#, c-format +msgid "GSASL handshake aborted: unexpected reply: %s" +msgstr "GSASL-handskakning avbruten: oväntat svar: %s" + +#: dico/saslauth.c:186 dicod/gsasl.c:148 +#, c-format +msgid "GSASL error: %s" +msgstr "GSASL-fel: %s" + +#: dico/saslauth.c:233 +msgid "Initializing SASL\n" +msgstr "Initierar SASL\n" + +#: dico/saslauth.c:236 +#, c-format +msgid "Cannot initialize libgsasl: %s" +msgstr "Det går inte att initiera libgsasl: %s" + +#: dico/saslauth.c:281 +msgid "Trying SASL\n" +msgstr "Provar SASL\n" + +#: dico/saslauth.c:291 +msgid "No suitable SASL mechanism found" +msgstr "Ingen passande SASL-mekanism funnen" + +#: dico/saslauth.c:300 +#, c-format +msgid "Selected authentication mechanism %s" +msgstr "Vald autentiseringsmekanism %s" + +#: dico/saslauth.c:310 +msgid "SASL authentication succeeded" +msgstr "SASL-autentisering lyckades" + +#: dico/saslauth.c:311 +msgid "SASL authentication failed" +msgstr "SASL-autentisering misslyckades" + +#: dico/saslauth.c:374 +msgid "Dico compiled without SASL support" +msgstr "Dico kompilerad utan SASL-stöd" + +#: dicod/regex.c:46 +#, c-format +msgid "Regex error: %s" +msgstr "Regex-fel: %s" + +#: dicod/dicod.c:119 dicod/dicod.c:137 dicod/main.c:1572 +#, c-format +msgid "removing database %s" +msgstr "tar bort databas %s" + +#: dicod/dicod.c:153 +#, c-format +msgid "error closing database %s" +msgstr "fel vid stängning av databas %s" + +#: dicod/dicod.c:291 +#, c-format +msgid "error freeing database %s" +msgstr "fel vid frigörande av databas %s" + +#: dicod/dicod.c:345 +msgid "connection from" +msgstr "anslutning från" + +#: dicod/dicod.c:364 +msgid "session finished:" +msgstr "session avslutad:" + +#: dicod/acl.c:69 +msgid "expected string" +msgstr "förväntad sträng" + +#: dicod/acl.c:116 +msgid "expected string but found list" +msgstr "förväntade sig en sträng men fann en lista" + +#: dicod/acl.c:129 +#, c-format +msgid "socket name too long: `%s'" +msgstr "uttagsnamn för lång: ”%s”" + +#: dicod/acl.c:157 +msgid "expected `from', but found list" +msgstr "förväntade sig ”from” men fann list" + +#: dicod/acl.c:160 +#, c-format +msgid "expected `from', but found `%s'" +msgstr "förväntade sig ”from” men fann ”%s”" + +#: dicod/acl.c:169 +msgid "unexpected end of statement after `from'" +msgstr "oväntat slut på uttrycket efter ”from”" + +#: dicod/acl.c:195 +msgid "junk after `from' list" +msgstr "skräp efter ”from” list" + +#: dicod/acl.c:211 +msgid "expected ACL name, but found end of statement" +msgstr "förväntade sig ACL-namn, men fann slut på uttryck" + +#: dicod/acl.c:217 +msgid "expected string, but found list" +msgstr "förväntade sig sträng, men fann list" + +#: dicod/acl.c:224 +#, c-format +msgid "ACL not defined: `%s'" +msgstr "ACL ej definierad: ”%s”" + +#: dicod/acl.c:242 +msgid "expected group list, but found end of statement" +msgstr "förväntade sig grop list, men fann slut på mening" + +#: dicod/acl.c:255 +msgid "expected group list, but found array" +msgstr "förväntade sig group list, men fann en vektor" + +#: dicod/acl.c:268 +msgid "expected string value" +msgstr "förväntade sig ett strängvärde" + +#: dicod/acl.c:290 +#, c-format +msgid "unknown word `%s'" +msgstr "okänt ord ”%s”" + +#: dicod/acl.c:302 +msgid "unexpected list" +msgstr "oväntad list" + +#. TRANSLATORS: `MATCHES' is the verb `match' in 2nd person. +#. E.g., in French: CONCORD AVEC +#: dicod/acl.c:400 +msgid "MATCHES" +msgstr "TRÃFFAR" + +#: dicod/acl.c:400 +msgid "does not match" +msgstr "matchar ej" + +#: dicod/dbtext.c:28 +#, c-format +msgid "cannot get path from URL `%s'" +msgstr "det går inte hämta sökväg från URL ”%s”" + +#: dicod/dbtext.c:33 +#, c-format +msgid "cannot stat directory `%s'" +msgstr "det går inte ta stat på katalog ”%s”" + +#: dicod/dbtext.c:39 +#, c-format +msgid "%s: not a directory" +msgstr "%s: inte en katalog" + +#: dicod/dbtext.c:55 +#, c-format +msgid "cannot open file `%s'" +msgstr "det går inte öppna filen ”%s”" + +#: dicod/auth.c:46 dicod/gsasl.c:190 +msgid "failed to open user database" +msgstr "misslyckades med att öppna användardatabasen" + +#: dicod/auth.c:51 dicod/gsasl.c:240 dicod/gsasl.c:276 +#, c-format +msgid "failed to get password for `%s' from the database" +msgstr "misslyckades med att använda lösenord ”%s” från databasen" + +#: dicod/auth.c:55 +#, c-format +msgid "no such user `%s'" +msgstr "ingen sådan användare ”%s”" + +#: dicod/auth.c:61 +#, c-format +msgid "authentication failed for `%s'" +msgstr "autentisering misslyckades för ”%s”" + +#: dicod/main.c:161 +msgid "list element must be a string" +msgstr "listelement måste vara en sträng" + +#: dicod/main.c:215 +msgid "list element must be a socket specification" +msgstr "listelement måste vara en uttagsspecifikation" + +#: dicod/main.c:248 dicod/main.c:264 dicod/main.c:332 dicod/main.c:358 +#: dicod/main.c:407 dicod/main.c:460 dicod/main.c:503 dicod/main.c:665 +#: dicod/main.c:721 dicod/main.c:742 dicod/main.c:786 dicod/main.c:977 +#: dicod/main.c:1111 dicod/main.c:1150 dicod/main.c:1171 +msgid "Unexpected block statement" +msgstr "Oväntad blocksats" + +#: dicod/main.c:284 +msgid "ACL name must be a string" +msgstr "ACL-namn måste vara en sträng" + +#: dicod/main.c:286 +msgid "missing ACL name" +msgstr "saknar ACL-namn" + +#: dicod/main.c:292 +#, c-format +msgid "redefinition of ACL %s" +msgstr "omdefinition av ACL %s" + +#: dicod/main.c:295 +msgid "location of the previous definition" +msgstr "plats för tidigare definition" + +#: dicod/main.c:311 dicod/main.c:315 +msgid "[all|authenticated|group ] [from ]" +msgstr "[all|authenticated|group ] [from ]" + +#: dicod/main.c:312 +msgid "Allow access" +msgstr "Tillåt åtkomst" + +#: dicod/main.c:316 +msgid "Deny access" +msgstr "Vägra åtkomst" + +#: dicod/main.c:336 dicod/main.c:747 dicod/main.c:822 +msgid "expected scalar value" +msgstr "förväntade sig skalärt värde" + +#: dicod/main.c:340 +#, c-format +msgid "no such ACL: `%s'" +msgstr "ingen sådan ACL: ”%s”" + +#: dicod/main.c:363 dicod/main.c:465 dicod/main.c:507 dicod/main.c:670 +msgid "expected scalar value but found list" +msgstr "förväntad sig skalärt värde men fann list" + +#: dicod/main.c:371 +#, c-format +msgid "not a valid UID number: %s" +msgstr "inte ett giltigt UID-tal: %s" + +#: dicod/main.c:378 +#, c-format +msgid "%s: no such user" +msgstr "%s: ingen sådan användare" + +#: dicod/main.c:426 +#, c-format +msgid "not a valid GID number: %s" +msgstr "inte en giltigt GID-tal: %s" + +#: dicod/main.c:433 +#, c-format +msgid "%s: unknown group" +msgstr "%s: okänd grupp" + +#: dicod/main.c:469 +msgid "unknown mode" +msgstr "okänt läge" + +#: dicod/main.c:514 +msgid "unknown syslog facility" +msgstr "okänd syslog-funktion" + +#: dicod/main.c:533 dicod/main.c:559 +msgid "tag must be a string" +msgstr "tagg måste vara en sträng" + +#: dicod/main.c:535 dicod/main.c:561 +msgid "missing tag" +msgstr "saknad tagg" + +#: dicod/main.c:624 +msgid "database name not supplied" +msgstr "databasnamn måste inte tillhandahållas" + +#: dicod/main.c:630 +msgid "no handler defined for the database" +msgstr "ingen hanterare definierad för databasen" + +#: dicod/main.c:648 grecs/src/tree.c:665 +msgid "invalid use of block statement" +msgstr "ogiltig användning för blocksats" + +#: dicod/main.c:675 dicod/loader.c:120 +#, c-format +msgid "cannot parse command line `%s': %s" +msgstr "det går inte att tolka kommandorad ”%s”: %s" + +#: dicod/main.c:691 +#, c-format +msgid "%s: handler not declared" +msgstr "%s: hanterare inte deklarerad" + +#: dicod/main.c:727 +#, c-format +msgid "unknown capability: %s" +msgstr "okänd förmåga: %s" + +#: dicod/main.c:752 +#, c-format +msgid "cannot parse headers: %s" +msgstr "det går inte att tolka huvuden: %s" + +#: dicod/main.c:759 +#, c-format +msgid "unknown encoding type: %s" +msgstr "okänd kodtyp: %s" + +#: dicod/main.c:766 dicod/main.c:840 dicod/main.c:844 dicod/main.c:849 +#: dicod/main.c:853 dicod/main.c:896 dicod/main.c:899 dicod/main.c:903 +#: dicod/main.c:1029 dicod/main.c:1318 dicod/main.c:1327 dicod/main.c:1330 +#: dicod/main.c:1332 dicod/main.c:1337 dicod/main.c:1346 dicod/main.c:1368 +#: dicod/main.c:1383 grecs/src/format.c:141 +msgid "arg" +msgstr "arg" + +#: dicod/main.c:766 +msgid "Command line." +msgstr "Kommandorad." + +#: dicod/main.c:798 +msgid "first argument must be string" +msgstr "första argumentet måste vara en sträng" + +#: dicod/main.c:804 +msgid "second argument must be string" +msgstr "andra argumentet måste vara en sträng" + +#: dicod/main.c:812 +msgid "condition must be mime or nomime" +msgstr "villkor måste vara mime eller nomime" + +#: dicod/main.c:837 +msgid "word" +msgstr "ord" + +#: dicod/main.c:837 +msgid "Dictionary name (a single word)." +msgstr "Ordboksnamn (ett enstaka ord)." + +#: dicod/main.c:841 +msgid "Short description, to be shown in reply to SHOW DB command." +msgstr "Kort beskrivning, att visa i svaret för kommandot SHOW DB." + +#: dicod/main.c:845 +msgid "" +"Full description of the database, to be shown in reply to SHOW INFO command." +msgstr "" +"Helbeskrivning av databasen, att visa i svaret för kommandot SHOW INFO." + +#: dicod/main.c:850 +msgid "List of languages this database translates from." +msgstr "Språklista denna databas översätter från." + +#: dicod/main.c:854 +msgid "List of languages this database translates to." +msgstr "Språklista denna databas översätter till." + +#: dicod/main.c:857 dicod/main.c:1023 dicod/main.c:1026 dicod/main.c:1302 +#: dicod/main.c:1305 dicod/main.c:1324 dicod/main.c:1343 dicod/main.c:1348 +#: dicod/main.c:1366 dicod/main.c:1380 +msgid "name" +msgstr "namn" + +#: dicod/main.c:857 +msgid "Name of the handler for this database." +msgstr "Namn på databashanteraren." + +#: dicod/main.c:860 dicod/main.c:1315 dicod/main.c:1387 dicod/main.c:1390 +msgid "arg: acl" +msgstr "arg: acl" + +#: dicod/main.c:861 +msgid "ACL controlling visibility of this database" +msgstr "ACL kontrollerar databasens synlighet" + +#: dicod/main.c:864 dicod/main.c:1312 dicod/main.c:1359 dicod/main.c:1362 +msgid "text" +msgstr "text" + +#: dicod/main.c:865 +msgid "Additional MIME headers" +msgstr "Ytterligare MIME-huvuden" + +#: dicod/main.c:869 +msgid "bool" +msgstr "boolesk" + +#: dicod/main.c:870 +msgid "Set database visibility" +msgstr "Ange databassynlighet" + +#: dicod/main.c:873 +msgid " [mime|nomime]" +msgstr " [mime|nomime]" + +#: dicod/main.c:874 +msgid "" +"For virtual database only: name of the member database. Optional mime|nomime " +"specifies the condition under which the database is to be used." +msgstr "" +"Endast för virtuell databas: namn på medlemsdatabas. Valfri mime|nomime " +"specificerar villkoren för under vilka databasen ska användas." + +#: dicod/main.c:896 +msgid "Password file or query." +msgstr "Lösenordsfil eller fråga." + +#: dicod/main.c:900 +msgid "File containing user group information or a query to retrieve it." +msgstr "" +"Filen innehåller användargruppsinformation eller en fråga för att hämta den." + +#: dicod/main.c:904 +msgid "Implementation-dependent options" +msgstr "Implementationsberoende flaggor" + +#: dicod/main.c:926 dicod/main.c:942 +msgid "URL must be a string" +msgstr "URL måste vara en sträng" + +#: dicod/main.c:928 dicod/main.c:944 +msgid "empty URL" +msgstr "tom URL" + +#: dicod/main.c:959 +msgid "cannot create user database" +msgstr "det går inte att skapa användardatabas" + +#: dicod/main.c:981 +msgid "Not enough arguments for alias" +msgstr "Inte nog med argument för alias" + +#: dicod/main.c:988 +#, c-format +msgid "argument %d has wrong type" +msgstr "argument %d har fel typ" + +#: dicod/main.c:1008 +msgid "expected boolean value but found list" +msgstr "förväntad sig booleskt värde men fann list" + +#: dicod/main.c:1017 dicod/main.c:1020 +msgid "mech: list" +msgstr "mech: list" + +#: dicod/main.c:1018 +msgid "Disable SASL mechanisms listed in ." +msgstr "Inaktivera SASL-mekanism listade i ." + +#: dicod/main.c:1021 +msgid "Enable SASL mechanisms listed in ." +msgstr "Inaktivera SASL-mekanismer listade i ." + +#: dicod/main.c:1024 +msgid "Set service name for GSSAPI and Kerberos." +msgstr "Ange servicenamn för GSSAPI och Kerberos." + +#: dicod/main.c:1027 +msgid "Set realm name for GSSAPI and Kerberos." +msgstr "Ange sfärsnamn för GSSAPI och Kerberos." + +#: dicod/main.c:1030 +msgid "Define groups for anonymous users." +msgstr "Definiera grupper för anonyma användare." + +#: dicod/main.c:1069 +msgid "Section name must be a string" +msgstr "Avsnittsnamn måste vara en sträng" + +#: dicod/main.c:1071 +msgid "missing section name" +msgstr "saknar avsnittsnamn" + +#: dicod/main.c:1096 +msgid "Unexpected statement" +msgstr "Oväntad mening" + +#: dicod/main.c:1133 +msgid "Expected string value" +msgstr "Förväntade sig strängvärde" + +#: dicod/main.c:1159 +msgid "expected list or string" +msgstr "förväntade sig lista eller sträng" + +#: dicod/main.c:1182 +msgid "Expected number" +msgstr "Förväntat sig tal" + +#: dicod/main.c:1253 +msgid "arg: bool" +msgstr "arg: bool" + +#: dicod/main.c:1253 +msgid "Deny all * and ! look ups" +msgstr "Neka alla uppslag med * och !" + +#: dicod/main.c:1257 +msgid "cond" +msgstr "cond" + +#: dicod/main.c:1257 +msgid "Deny * and ! look-ups on these words." +msgstr "Neka uppslag med * och ! för dessa ord." + +#: dicod/main.c:1262 dicod/main.c:1268 dicod/main.c:1274 dicod/main.c:1280 +#: dicod/main.c:1286 dicod/main.c:1292 +msgid "len: number" +msgstr "len: tal" + +#: dicod/main.c:1263 +msgid "Deny * and ! look-ups on words with length < ." +msgstr "Neka uppslag med * och ! för ord med längd < ." + +#: dicod/main.c:1269 +msgid "Deny * and ! look-ups on words with length <= ." +msgstr "Neka uppslag med * och ! för ord med längd <= ." + +#: dicod/main.c:1275 +msgid "Deny * and ! look-ups on words with length > ." +msgstr "Neka uppslag med * och ! för ord med längd > ." + +#: dicod/main.c:1281 +msgid "Deny * and ! look-ups on words with length >= ." +msgstr "Neka uppslag med * och ! för ord med längd >= ." + +#: dicod/main.c:1287 +msgid "Deny * and ! look-ups on words with length == ." +msgstr "Neka uppslag * och ! för ord med längder == ." + +#: dicod/main.c:1293 +msgid "Deny * and ! look-ups on words with length != ." +msgstr "Neka uppslag * och ! för ord med längder != ." + +#: dicod/main.c:1302 +msgid "Run with these user privileges." +msgstr "Kör med dessa användarprivilegier." + +#: dicod/main.c:1306 +msgid "Supplementary group to retain with the user privileges." +msgstr "Kompletterande grupp för att behålla användarprivilegier." + +#: dicod/main.c:1309 +msgid "arg: [daemon|inetd]" +msgstr "arg: [daemon|inetd]" + +#: dicod/main.c:1309 +msgid "Operation mode." +msgstr "Åtgärdsläge." + +#: dicod/main.c:1313 +msgid "Server description to be shown in reply to SHOW SERVER command." +msgstr "Serverbeskrivning att visa i svaret till kommandot SHOW SERVER." + +#: dicod/main.c:1316 +msgid "Show system information if arg matches." +msgstr "Visa systeminformationen om arg matchar." + +#: dicod/main.c:1319 +msgid "Enable identification check using AUTH protocol (RFC 1413)" +msgstr "Aktivera identifikationskontroll med AUTH-protokoll (RFC 1413)" + +#: dicod/main.c:1321 +msgid "val" +msgstr "val" + +#: dicod/main.c:1322 +msgid "Set timeout for AUTH I/O operations." +msgstr "Ange tidsgräns för AUTH I/O-åtgärder." + +#: dicod/main.c:1325 +msgid "Name of the file containing the keys for decrypting AUTH replies." +msgstr "Namn på filen innehållandes nycklarna för att dekryptera AUTH-svar." + +#: dicod/main.c:1328 +msgid "Maximum number of children running simultaneously." +msgstr "Högsta antal underordnade som kör samtidigt." + +#: dicod/main.c:1330 +msgid "Tag syslog diagnostics with this tag." +msgstr "Tagga syslog-diagnostik med denna tagg." + +#: dicod/main.c:1333 +msgid "" +"Set syslog facility. Arg is one of the following: user, daemon, auth, " +"authpriv, mail, cron, local0 through local7 (case-insensitive), or a " +"facility number." +msgstr "" +"Ange syslog-funktionalitet. Arg är en av följande: user, daemon, auth, " +"authpriv, mail, cron, local0 till local7 (icke skiftlägeskänsligt) eller ett " +"funktionalitetstal." + +#: dicod/main.c:1338 +msgid "Prefix diagnostics messages with their severity." +msgstr "Diagnostikmeddelanden med dess allvarsgrad som prefix." + +#: dicod/main.c:1340 +msgid "fmt" +msgstr "fmt" + +#: dicod/main.c:1341 +msgid "Set format string for access log file." +msgstr "Ange format-sträng för loggfilen för åtkomst." + +#: dicod/main.c:1344 +msgid "Set access log file name." +msgstr "Ange namn på loggfilen för åtkomst." + +#: dicod/main.c:1346 +msgid "Log session transcript." +msgstr "Logga sessionsåtergivningar." + +#: dicod/main.c:1349 +msgid "Store PID of the master process in this file." +msgstr "Lagra PID för huvudprocessen i denna fil." + +#: dicod/main.c:1351 dicod/main.c:1354 +msgid "seconds" +msgstr "sekunder" + +#: dicod/main.c:1352 +msgid "Wait this number of seconds for all children to terminate." +msgstr "Vänta detta antal sekunder på att alla underordnade ska avslutas." + +#: dicod/main.c:1355 +msgid "Set inactivity timeout." +msgstr "Ange tidsgräns för inaktivitet." + +#: dicod/main.c:1357 +msgid "addr" +msgstr "addr" + +#: dicod/main.c:1357 +msgid "Listen on these addresses." +msgstr "Lyssna på dessa adresser." + +#: dicod/main.c:1360 +msgid "Display this text in the initial 220 banner" +msgstr "Visa denna text i första 220-rubriken" + +#: dicod/main.c:1363 +msgid "" +"Display this text in reply to the HELP command. If text begins with a +, " +"usual command summary is displayed before it." +msgstr "" +"Visa denna i svar för kommandot HELP. Om texten börjar med + visas vanlig " +"kommandosammanfattning före det." + +#: dicod/main.c:1366 +msgid "Override the host name." +msgstr "Åsidosätta värdnamnet." + +#: dicod/main.c:1368 +msgid "Request additional capabilities." +msgstr "Begär ytterligare egenskaper." + +#: dicod/main.c:1371 dicod/main.c:1375 +msgid "path" +msgstr "sökväg" + +#: dicod/main.c:1372 +msgid "List of directories searched for database modules." +msgstr "Lista över kataloger som söks igenom efter databasmoduler." + +#: dicod/main.c:1376 +msgid "" +"List of directories searched for database modules prior to the default " +"module directory" +msgstr "" +"Lista över kataloger som söks genom efter databasmoduler innan " +"standardkatalogen för modulerna" + +#: dicod/main.c:1381 +msgid "Set the name of the default matching strategy." +msgstr "Anger namnet på standardstrategin för matchning." + +#: dicod/main.c:1384 +msgid "Provide timing information after successful completion of an operation." +msgstr "Tillhandahåll tidsinformation efter lyckat avslut av en åtgärd." + +#: dicod/main.c:1388 +msgid "Set ACL to control visibility of all databases." +msgstr "Ange ACL för att kontrollera synligheten för alla databaser." + +#: dicod/main.c:1391 +msgid "Apply this ACL to incoming connections." +msgstr "Tillämpa denna ACL på inkommande anslutningar." + +#: dicod/main.c:1393 +msgid "Define a dictionary database." +msgstr "Definiera en uppslagsdatabas." + +#: dicod/main.c:1397 dicod/main.c:1406 dicod/main.c:1412 dicod/main.c:1419 +msgid "name: string" +msgstr "namn: sträng" + +#: dicod/main.c:1398 +msgid "" +"Load a module instance.\n" +"If is the same as in command, it can be simplified as:\n" +" load-module ;\n" +"Furthermore, several simplified forms can be combined into one\n" +"by using a list of names as its argument, as in:\n" +" load-module (stratall,word);\n" +msgstr "" +"Läs in en modulinstans.\n" +"Om är samma som i ett kommando kan det förenklas som:\n" +" load-module ;\n" +"Vidare så kan ett flertal förenklade former kombineras till en\n" +"genom att använda en lista av namn som dess argument, som exempelvis:\n" +" load-module (stratall,word);\n" + +#: dicod/main.c:1406 +msgid "Define an ACL." +msgstr "Definiera en ACL." + +#: dicod/main.c:1408 +msgid "url: string" +msgstr "url: sträng" + +#: dicod/main.c:1409 +msgid "Define user database for authentication." +msgstr "Definiera användardatabas för autentisering." + +#: dicod/main.c:1412 +msgid "Define a command alias." +msgstr "Definiera ett kommandoalias." + +#: dicod/main.c:1416 +msgid "Control SASL authentication." +msgstr "Kontrollera SASL-autentisering." + +#: dicod/main.c:1420 +msgid "Additional configuration for strategy " +msgstr "Ytterligare konfiguration för strategin " + +#: dicod/main.c:1459 +msgid "" +"Configuration file structure for dicod.\n" +"For more information, use `info dico configuration'." +msgstr "" +"Konfigurationsfilstrukturen för dicod.\n" +"För ytterligare information, använd ”info dico configuration”." + +#: dicod/main.c:1788 +msgid "unknown strategy" +msgstr "okänd strategi" + +#: cmdline.opt:36 +msgid "Select program mode" +msgstr "Välj programläge" + +#: cmdline.opt:51 +msgid "preprocess configuration file and exit" +msgstr "förbehandla konfigurationsfilen och avsluta" + +#: cmdline.opt:57 +msgid "check configuration file syntax and exit" +msgstr "kontrollera syntax i konfigurationsfilen och avsluta" + +#: cmdline.opt:63 +msgid "inetd mode" +msgstr "inetd-läge" + +#: cmdline.opt:69 +msgid "" +"run unit tests for module; subsequent arguments are treated as module name " +"and unit test arguments; the -- marker introduces module initialization " +"arguments" +msgstr "" +"kör enhetstester för modul; följande argument behandlas som modulnamn och " +"enhetstestargument; markören -- introducerar argument för modulinitiering" + +#: cmdline.opt:63 +msgid "Modifiers" +msgstr "Modifierare" + +#: cmdline.opt:79 +msgid "FILE" +msgstr "FIL" + +#: cmdline.opt:79 +msgid "read this configuration file" +msgstr "läs av denna konfigurationsfil" + +#: cmdline.opt:85 +msgid "operate in foreground" +msgstr "jobba i förgrunden" + +#: cmdline.opt:91 +msgid "output diagnostic to stderr" +msgstr "mata ut diagnostik till stderr" + +#: cmdline.opt:97 +msgid "output diagnostic to syslog (default)" +msgstr "mata ut diagnostik till syslog (standard)" + +#: cmdline.opt:103 +msgid "single-process mode" +msgstr "enskild process-läge" + +#: cmdline.opt:109 cmdline.opt:179 +msgid "DIR" +msgstr "KAT" + +#: cmdline.opt:109 +msgid "prepend DIR to the module load path" +msgstr "lägg till KAT till modulens inläsningssökväg" + +#: cmdline.opt:125 +msgid "disable session transcript" +msgstr "inaktivera sessionsutskrift" + +#: cmdline.opt:131 +msgid "set debug verbosity level" +msgstr "sätt pratighetsnivå för felsökning" + +#: cmdline.opt:144 +msgid "trace parsing of configuration file" +msgstr "spåra tolkning av konfigurationsfil" + +#: cmdline.opt:150 +msgid "trace config file lexer" +msgstr "spåra konfigurationsfil-lexer" + +#: cmdline.opt:142 +msgid "Additional help" +msgstr "Ytterligare hjälp" + +#: cmdline.opt:158 +msgid "show configuration file summary" +msgstr "visa sammanfattning för konfigurationsfilen" + +#: cmdline.opt:151 +msgid "Preprocessor control" +msgstr "Förprocessorkontroll" + +#: cmdline.opt:167 +msgid "PROG" +msgstr "PROG" + +#: cmdline.opt:167 +msgid "use PROG as a preprocessor for config file" +msgstr "använd PROG som en förprocessor för konfigurationsfilen" + +#: cmdline.opt:173 +msgid "do not use external preprocessor" +msgstr "använd inte en extern förprocessor" + +#: cmdline.opt:179 +msgid "" +"add the directory DIR to the list of directories to be searched for " +"preprocessor include files" +msgstr "" +"lägg till katalogen DIR till listan över kataloger att sökas igenom efter " +"include-filer till förprocessorn" + +#: cmdline.opt:185 +msgid "SYMBOL[=VALUE]" +msgstr "SYMBOL[=VÄRDE]" + +#: cmdline.opt:185 +msgid "define a preprocessor symbol" +msgstr "definiera en symbol för förprocessor" + +#: cmdline.opt:43 +msgid "GNU dictionary server" +msgstr "GNU ordboksserver" + +#: dicod/loader.c:38 +#, c-format +msgid "%s: faulty module: (%s) failed" +msgstr "%s: felaktig modul: (%s) misslyckades" + +#: dicod/loader.c:67 +#, c-format +msgid "%s: initialization failed" +msgstr "%s: initiering misslyckades" + +#: dicod/loader.c:83 +#, c-format +msgid "module %s already loaded" +msgstr "modulen %s är redan inläst" + +#: dicod/loader.c:96 +#, c-format +msgid "cannot load module %s: %s" +msgstr "det går inte läsa in modulen %s: %s" + +#: dicod/loader.c:505 +msgid "no module name" +msgstr "inget modulnamn" + +#: dicod/loader.c:524 +msgid "module does not define dico_run_test function" +msgstr "modulen definierar inte funktionen dico_run_test" + +#: dicod/alias.c:68 +#, c-format +msgid "alias `%s' already defined" +msgstr "alias ”%s” är redan definierad" + +#: dicod/alias.c:70 +msgid "this is the location of the previous definition" +msgstr "detta är platsen för tidigare defination" + +#: dicod/server.c:103 +#, c-format +msgid "file %s exists but cannot be stat'd" +msgstr "filen %s existerar men det går inte att ta stat" + +#: dicod/server.c:110 +#, c-format +msgid "file %s is not a socket" +msgstr "filen %s är inte ett uttag" + +#: dicod/server.c:116 +#, c-format +msgid "cannot unlink file %s" +msgstr "det går inte köra unlink på filen %s" + +#: dicod/server.c:131 +#, c-format +msgid "unsupported address family: %d" +msgstr "adressfamiljen stöds ej: %d" + +#: dicod/server.c:163 +msgid "No sockets opened" +msgstr "Inga uttag öppnades" + +#: dicod/server.c:206 +#, c-format +msgid "%lu exited successfully" +msgstr "%lu avslutades lyckat" + +#: dicod/server.c:211 +#, c-format +msgid "%lu timed out" +msgstr "%lu överskred tidsgränsen" + +#: dicod/server.c:216 +#, c-format +msgid "%lu failed with status %d" +msgstr "%lu misslyckades med status %d" + +#: dicod/server.c:227 +#, c-format +msgid "%lu terminated on signal %d" +msgstr "%lu avslutades med signal %d" + +#: dicod/server.c:230 +#, c-format +msgid "%lu stopped on signal %d" +msgstr "%lu stoppades på signal %d" + +#: dicod/server.c:234 +#, c-format +msgid "%lu dumped core" +msgstr "%lu dumpade kärnan" + +#: dicod/server.c:237 +#, c-format +msgid "%lu terminated with unrecognized status" +msgstr "%lu avslutades med okänd status" + +#: dicod/server.c:305 +#, c-format +msgid "Cannot open pidfile `%s'" +msgstr "Det går inte att öppna pidfilen ”%s”" + +#: dicod/server.c:308 +#, c-format +msgid "Cannot get pid from pidfile `%s'" +msgstr "Det går inte hämta pid från pidfilen ”%s”" + +#: dicod/server.c:314 +#, c-format +msgid "%s appears to run with pid %lu. If it does not, remove `%s' and retry." +msgstr "%s verkar köras med pid %lu. Om inte, ta bort ”%s” och prova om igen." + +#: dicod/server.c:324 dicod/server.c:343 +#, c-format +msgid "Cannot unlink pidfile `%s'" +msgstr "Det går inte länka av pidfilen ”%s”" + +#: dicod/server.c:334 +#, c-format +msgid "Cannot create pidfile `%s'" +msgstr "Det går inte att skapa pidfilen ”%s”" + +#: dicod/server.c:402 +#, c-format +msgid "connection from %s denied" +msgstr "anslutningen från ”%s” nekades" + +#: dicod/server.c:459 +msgid "fork failed" +msgstr "misslyckades med gren(fork)" + +#: dicod/server.c:475 +msgid "refusing to restart due to errors in configuration file" +msgstr "vägrar att starta om på grund av fel i konfigurationsfilen" + +#: dicod/server.c:481 +msgid "" +"refusing to restart due to unexpected return status of configuration checker" +msgstr "" +"vägrar att starta om på grund av oväntad returstatus på " +"konfiguratiionskontrollen" + +#: dicod/server.c:489 +msgid "" +"refusing to restart: configuration checker did not exit within 5 seconds" +msgstr "" +"vägrar att starta om: konfigurationskontrollen avslutade inte inom 5 sekunder" + +#: dicod/server.c:498 +msgid "waitpid failed" +msgstr "waitpid misslyckades" + +#: dicod/server.c:499 +msgid "refusing to restart" +msgstr "vägrar att starta om" + +#: dicod/server.c:539 +#, c-format +msgid "too many children (%lu)" +msgstr "för många underordnade (%lu)" + +#: dicod/server.c:557 +msgid "select error" +msgstr "valfel" + +#: dicod/server.c:585 +#, c-format +msgid "%s started" +msgstr "%s startad" + +#: dicod/server.c:590 +msgid "not running as root: ignoring user/group settings" +msgstr "kör inte som root: ignorerar användar-/gruppinställningar" + +#: dicod/server.c:603 +msgid "dicod started without full file name" +msgstr "dicod startade utan fullt filnamn" + +#: dicod/server.c:604 dicod/server.c:608 +msgid "restart (SIGHUP) will not work" +msgstr "omstart (SIGHUP) kommer inte att fungera" + +#: dicod/server.c:607 +msgid "configuration file is not given with a full file name" +msgstr "konfigurationsfilen är inte angiven med ett helt filnamn" + +#: dicod/server.c:615 +msgid "Cannot become a daemon" +msgstr "Det går inte bli en demon" + +#: dicod/server.c:632 +#, c-format +msgid "Exit code = %d, last error status" +msgstr "Avslutningskod = %d, sista felstatus" + +#: dicod/server.c:640 +#, c-format +msgid "%s restarting" +msgstr "%s startar om" + +#: dicod/server.c:644 +msgid "Cannot restart" +msgstr "Det går inte att starta om" + +#: dicod/server.c:646 +#, c-format +msgid "%s terminating" +msgstr "%s avslutar" + +#: dicod/ident.c:200 +msgid "Incorrect length of IDENT DES packet" +msgstr "Inkorrekt längd på IDENT DES-paket" + +#: dicod/ident.c:207 +#, c-format +msgid "Cannot open file %s" +msgstr "Det går inte att öppna filen %s" + +#: dicod/ident.c:388 +msgid "cannot create socket for AUTH identification" +msgstr "det går inte att öppna uttag för AUTH-identifiering" + +#: dicod/ident.c:400 +msgid "cannot bind AUTH socket" +msgstr "det går inte att binda AUTH-uttag" + +#: dicod/ident.c:413 dicod/ident.c:464 +#, c-format +msgid "cannot connect to AUTH server %s" +msgstr "det går inte att ansluta till AUTH-servern %s" + +#: dicod/ident.c:437 +#, c-format +msgid "Malformed IDENT response: `%s', from %s" +msgstr "Ogilitigt IDENT-svar: ”%s” från %s" + +#: dicod/ident.c:442 +msgid "" +"Keyfile for AUTH responses not specified in config; use `ident-keyfile FILE'" +msgstr "" +"Nyckelfilen för AUTH-svar är inte specificerad i konfigurationen; använd " +"”ident-keyfile FIL”" + +#: dicod/ident.c:458 +#, c-format +msgid "failure while communicating with AUTH server %s" +msgstr "misslyckades för kommunikation med AUTH-servern %s" + +#: dicod/ident.c:469 +#, c-format +msgid "no reply from AUTH server %s" +msgstr "inget svar från AUTH-servern %s" + +#: dicod/ident.c:475 +#, c-format +msgid "I/O error while communicating with AUTH server %s" +msgstr "I/O-fel vid kommunikation med AUTH-servern %s" + +#: dicod/accesslog.c:487 +#, c-format +msgid "log format error (near char %td): missing terminating `}'" +msgstr "loggformatfel (nära tecken %td): saknar avslutande ”}”" + +#: dicod/accesslog.c:502 +#, c-format +msgid "log format error (near char %td): unknown format char `%c'" +msgstr "loggformatfel (nära tecken %td): saknar avslutande ”%c”" + +#: dicod/accesslog.c:510 +#, c-format +msgid "" +"log format warning (near char %td): format char `%c' does not take arguments" +msgstr "" +"loggformatvarning (nära tecken %td): formateringstecken ”%c” tar inga " +"argument" + +#: dicod/accesslog.c:553 +#, c-format +msgid "cannot open access log file `%s'" +msgstr "det går inte att öppna åtkomstloggfilen ”%s”" + +#: dicod/gsasl.c:84 +#, c-format +msgid "Unexpected input instead of SASLRESP command: %s" +msgstr "Oväntad indata istället för kommandot SASLRESP: %s" + +#: dicod/gsasl.c:123 +#, c-format +msgid "SASL gsasl_server_start: %s" +msgstr "SASL gsasl_server_start: %s" + +#: dicod/gsasl.c:163 +#, c-format +msgid "GSASL %s: cannot get username" +msgstr "GSASL %s: det går inte att hämta användarnamn" + +#: dicod/gsasl.c:269 +msgid "user name not supplied" +msgstr "användarnamn inte angivet" + +#: dicod/gsasl.c:333 +#, c-format +msgid "cannot initialize libgsasl: %s" +msgstr "det går inte att initiera libgsasl: %s" + +#: modules/dict.org/dictorg.c:83 +#, c-format +msgid "mod_init: cannot stat `%s'" +msgstr "mod_init: det går inte att ta stat: ”%s”" + +#: modules/dict.org/dictorg.c:88 +#, c-format +msgid "mod_init: `%s' is not a directory" +msgstr "mod_init: ”%s” är inte en katalog" + +#: modules/dict.org/dictorg.c:93 +#, c-format +msgid "mod_init: `%s' is not readable" +msgstr "mod_init: ”%s” är inte läsbar" + +#: modules/dict.org/dictorg.c:248 +#, c-format +msgid "%s:%lu: invalid base64 value: `%.*s'" +msgstr "%s:%lu: ogiltigt base64-värde: ”%.*s”" + +#: modules/dict.org/dictorg.c:263 +#, c-format +msgid "%s:%lu: malformed entry" +msgstr "%s:%lu: felaktig post" + +#: modules/dict.org/dictorg.c:302 +#, c-format +msgid "open_index: cannot stat `%s'" +msgstr "open_index: det går inte ta stat ”%s”" + +#: modules/dict.org/dictorg.c:306 +#, c-format +msgid "open_index: `%s' is not a regular file" +msgstr "open_index: ”%s” är inte en vanlig fil" + +#: modules/dict.org/dictorg.c:315 modules/dict.org/dictorg.c:412 +#: modules/gcide/gcide.c:316 modules/gcide/gcide.c:725 +#, c-format +msgid "cannot create stream `%s'" +msgstr "det går inte att skapa strömmen ”%s”" + +#: modules/dict.org/dictorg.c:321 modules/dict.org/dictorg.c:420 +#: modules/gcide/gcide.c:323 modules/gcide/gcide.c:732 +#, c-format +msgid "cannot open stream `%s': %s" +msgstr "det går inte att skapa strömmen ”%s”:%s" + +#: modules/dict.org/dictorg.c:430 +#, c-format +msgid "cannot open stream for dictionary `%s'" +msgstr "det går inte att skapa strömmen för uppslaget ”%s”" + +#: modules/dict.org/dictorg.c:458 +#, c-format +msgid "mod_init_db(%s): database name not given" +msgstr "mod_init_db(%s): databasnamn inte angivet" + +#: modules/dict.org/dictorg.c:468 +#, c-format +msgid "mod_init_db: `%s' is not an absolute file name" +msgstr "mod_init_db: ”%s” är inte ett absolut filnamn" + +#: modules/dict.org/dictorg.c:508 +#, c-format +msgid "mod_init_db(%s): index files in old 8-bit format are not supported" +msgstr "mod_init_db(%s): indexfiler i gamla 8-bitars format stöds ej" + +#: modules/dict.org/dictorg.c:810 modules/dict.org/dictorg.c:993 +#: modules/gcide/gcide.c:756 +#, c-format +msgid "%s: read error: %s" +msgstr "%s: läsfel: %s" + +#: modules/dict.org/dictorg.c:904 +msgid "_match_all: key initialization failed" +msgstr "_match_all: nyckelinitiering misslyckades" + +#: modules/dict.org/dictorg.c:983 +#, c-format +msgid "%s: seek error: %s" +msgstr "%s: sökfel: %s" + +#: modules/dict.org/dictstr.c:176 +#, c-format +msgid "cannot initialize inflation engine: %s" +msgstr "det går inte att initiera inflationsmotor: %s" + +#: modules/dict.org/dictstr.c:198 +#, c-format +msgid "%s:%d: INTERNAL ERROR: inflate did not flush (%d pending, %d avail)" +msgstr "%s:%d: INTERNT FEL: inflate tömdes inte (%d väntar, %d tillgängliga)" + +#: modules/dict.org/dictstr.c:286 +#, c-format +msgid "%s:%d: INTERNAL ERROR: cannot shut down inflation engine: %s" +msgstr "%s:%d: INTERNT FEL: det går inte att stänga ner inflationsmotor: %s" + +#: modules/dict.org/dictstr.c:437 +#, c-format +msgid "file position (%lu) != header length + 1 (%lu)" +msgstr "filposition (%lu) != huvudets längd + 1 (%lu)" + +#: modules/dict.org/dictstr.c:475 +msgid "unknown dictionary format" +msgstr "okänd ordboksformat" + +#: modules/dict.org/dictstr.c:478 +msgid "unsupported dictionary format" +msgstr "ordboksformat som ej stöds" + +#: modules/dict.org/dictstr.c:481 +msgid "unsupported dictionary version" +msgstr "version av ordbok som ej stöds" + +#: modules/dict.org/dictstr.c:484 +msgid "malformed header" +msgstr "felaktigt huvud" + +#: modules/dict.org/dictstr.c:487 +msgid "cannot seek on pure gzip format files" +msgstr "det går inte att söka i gzip-formatfiler" + +#: modules/dict.org/dictstr.c:490 +msgid "error decompressing stream" +msgstr "fel vid upppackning av ström" + +#: modules/guile/guile.c:151 +#, c-format +msgid "%s: not enough memory" +msgstr "%s: inte nog med minne" + +#: modules/guile/guile.c:164 +#, c-format +msgid "%s: invalid return type" +msgstr "%s: ogiltig returtyp" + +#: modules/guile/guile.c:184 +#, c-format +msgid "procedure `%s' failed: see error output for details" +msgstr "proceduren ”%s” misslyckades: se felutdata för detaljer" + +#: modules/guile/guile.c:735 +#, c-format +msgid "%s: %s: unknown virtual function" +msgstr "%s: %s: okänd virtuell funktion" + +#: modules/guile/guile.c:794 +msgid "mod_init: cannot initialize error port" +msgstr "mod_init: det går inte att initiera felport" + +#: modules/guile/guile.c:802 modules/guile/guile.c:836 +#, c-format +msgid "mod_init: cannot load init script %s" +msgstr "mod_init: det går inte att läsa init-skript %s" + +#: modules/guile/guile.c:862 +#, c-format +msgid "%s: %s: void virtual function" +msgstr "%s: %s: void-virtuell funktion" + +#: modules/guile/guile.c:1084 +msgid "mod_match: key initialization failed" +msgstr "mod_match: nyckelinitiering misslyckades" + +#: modules/outline/outline.c:476 +msgid "outline_open: wrong number of arguments" +msgstr "outline_open: fel antal argument" + +#: modules/outline/outline.c:482 modules/gcide/idxgcide.l:269 +#, c-format +msgid "cannot open file %s" +msgstr "det går inte att öppna filen %s" + +#: modules/outline/outline.c:642 +msgid "outline_lang: not enough memory" +msgstr "outline_lang: inte nog med minne" + +#: modules/outline/outline.c:681 +msgid "outline_match_all: not enough memory" +msgstr "outline_match_all: inte nog med minne" + +#: modules/outline/outline.c:686 +msgid "outline_match_all: key initialization failed" +msgstr "outline_match_all: nyckelinitiering misslyckades" + +#: modules/ldap/ldap.c:60 +#, c-format +msgid "cannot set LBER_OPT_DEBUG_LEVEL %d" +msgstr "det går inte att ange LBER_OPT_DEBUG_LEVEL %d" + +#: modules/ldap/ldap.c:65 +#, c-format +msgid "could not set LDAP_OPT_DEBUG_LEVEL %d" +msgstr "det gick inte att ange LDAP_OPT_DEBUG_LEVEL %d" + +#: modules/ldap/ldap.c:73 +#, c-format +msgid "cannot create LDAP session handle for URI=%s (%d): %s" +msgstr "det går inte att skapa LDAP-sessionhanterare för URI=%s (%d): %s" + +#: modules/ldap/ldap.c:81 +#, c-format +msgid "ldap_start_tls failed: %s" +msgstr "ldap_start_tls misslyckades: %s" + +#: modules/ldap/ldap.c:199 +#, c-format +msgid "cannot parse options `%s': %s" +msgstr "det går inte tolka flaggor ”%s”: %s" + +#: modules/ldap/ldap.c:215 +msgid "cannot allocate handle" +msgstr "det går inte allokera handtag" + +#: modules/ldap/ldap.c:255 +#, c-format +msgid "cannot expand query `%s': %s" +msgstr "det går inte att utöka fråga ”%s”: %s" + +#: modules/gcide/gcide.c:85 +#, c-format +msgid "gcide: cannot stat `%s'" +msgstr "gcide: det går inte ta stat ”%s”" + +#: modules/gcide/gcide.c:89 +#, c-format +msgid "gcide: `%s' is not a directory" +msgstr "gcide: ”%s” är inte en katalog" + +#: modules/gcide/gcide.c:93 modules/gcide/gcide.c:158 +#, c-format +msgid "gcide: `%s' is not readable" +msgstr "gcid: ”%s” är inte läsbart" + +#: modules/gcide/gcide.c:113 +#, c-format +msgid "gcide_open_idx: creating index %s" +msgstr "gcide_open_idx: skapar index %s" + +#: modules/gcide/gcide.c:116 +#, c-format +msgid "gcide_open_idx: cannot run %s" +msgstr "gcide_open_idx: det går inte att köra %s" + +#: modules/gcide/gcide.c:125 +msgid "gcide_open_idx: fork failed" +msgstr "gcide_open_idx: gren misslyckades" + +#: modules/gcide/gcide.c:129 modules/gcide/gcide.c:134 +#, c-format +msgid "gcide_open_idx: %s failed" +msgstr "gcide_open_idx: %s misslyckades" + +#: modules/gcide/gcide.c:141 +#, c-format +msgid "gcide_open_idx: %s exited with status %d" +msgstr "gcide_open_idx: %s misslyckades med status %d" + +#: modules/gcide/gcide.c:162 modules/gcide/gcide.c:182 +#, c-format +msgid "gcide: can't stat `%s'" +msgstr "gcide: det går inte att använda stat ”%s”" + +#: modules/gcide/gcide.c:188 +msgid "gcide: index file older than database, reindexing" +msgstr "gcide: indexfil äldre än databas, indexerar om" + +#: modules/gcide/gcide.c:190 +#, c-format +msgid "gcide_open_idx: cannot access %s" +msgstr "gcide_open_idx: det går inte att komma åt %s" + +#: modules/gcide/gcide.c:249 +msgid "gcide_init_db: database directory not given" +msgstr "gcide_init_db: databaskatalogen inte angiven" + +#: modules/gcide/gcide.c:335 modules/gcide/gcide.c:354 +#, c-format +msgid "read error in stream `%s': %s" +msgstr "läsfel i strömmen: ”%s”: %s" + +#: modules/gcide/gcide.c:344 +#, c-format +msgid "cannot get size of stream `%s': %s" +msgstr "det går inte att erhålla storlek på strömmen ”%s”: %s" + +#: modules/gcide/gcide.c:351 +msgid "cannot allocate dictionary information buffer" +msgstr "det går inte att allokera information för ordboksbuffert" + +#: modules/gcide/gcide.c:518 modules/wordnet/wordnet.c:617 +#, c-format +msgid "%s: key initialization failed" +msgstr "%s: nyckelinitiering misslyckades" + +#: modules/gcide/gcide.c:742 +#, c-format +msgid "seek error on `%s' while positioning to %lu: %s" +msgstr "sökfel på ”%s” vid positionering till %lu: %s" + +#: modules/gcide/idx.c:68 +#, c-format +msgid "error reading from `%s'" +msgstr "fel vid läsning från ”%s”" + +#: modules/gcide/idx.c:71 +#, c-format +msgid "short read while reading from `%s'" +msgstr "kort läsning medan läsning pågår från ”%s”" + +#: modules/gcide/idx.c:91 +#, c-format +msgid "file `%s' is not a valid gcide index file" +msgstr "filen ”%s” är inte en giltig gcide-indexfil" + +#: modules/gcide/idx.c:103 +#, c-format +msgid "index file `%s' is corrupted" +msgstr "indexfilen ”%s” är korrupt" + +#: modules/gcide/idx.c:128 +#, c-format +msgid "cannot open index file `%s'" +msgstr "det går inte öppna indexfilen ”%s”" + +#: modules/gcide/idx.c:246 +#, c-format +msgid "seek error on `%s' while positioning to %lu" +msgstr "sökfel på ”%s” vid positionering mot %lu" + +#: modules/gcide/idxgcide-cli.opt:62 +#, c-format +msgid "not a valid size: %s" +msgstr "inte en giltig storlek: %s" + +#: modules/gcide/idxgcide.l:77 +msgid "page too small, aborting" +msgstr "sida för liten, avbryter" + +#: modules/gcide/idxgcide.l:120 +msgid "Sorting references" +msgstr "Sorterar referenser" + +#: modules/gcide/idxgcide.l:124 +msgid "Writing references" +msgstr "Skriver referenser" + +#: modules/gcide/idxgcide.l:217 +#, c-format +msgid "%s:%u: unknown or illegible character in a headword" +msgstr "%s: %u: okänt eller dåligt tecken i huvudord" + +#: modules/gcide/idxgcide.l:221 +#, c-format +msgid "%s:%u: unrecognized entity: %s" +msgstr "%s:%u: okänd entitet: %s" + +#: modules/gcide/idxgcide.l:236 +#, c-format +msgid "%s:%u: unknown character sequence %s" +msgstr "%s:%u: okänd teckensekvens %s" + +#: modules/gcide/idxgcide.l:266 +#, c-format +msgid "Indexing %s" +msgstr "Indexerar %s" + +#: modules/gcide/idxgcide.l:302 +msgid "page size too small" +msgstr "sida för liten" + +#: modules/gcide/idxgcide.l:311 +msgid "bad number of arguments" +msgstr "fel antal argument" + +#: modules/gcide/idxgcide.l:335 +#, c-format +msgid "cannot create index file `%s'" +msgstr "det går inte att skapa indexfilen ”%s”" + +#: modules/gcide/idxgcide.l:356 +#, c-format +msgid "headwords=%lu, definitions=%lu, refs per page=%lu, pages=%lu" +msgstr "huvudord=%lu, definitioner=%lu, refs per sida=%lu, sidor=%lu" + +#: modules/gcide/markup.l:148 +#, c-format +msgid "cannot parse line %.*s: %s" +msgstr "det går inte att tolka rad %.*s:%s" + +#: modules/gcide/markup.l:300 +#, c-format +msgid "%u: unrecognized entity: %s" +msgstr "%u: okänd entitet: %s" + +#: modules/gcide/markup.l:312 +#, c-format +msgid "%u: unknown character sequence %s" +msgstr "%u: okänd teckensekvens %s" + +#: modules/wordnet/wordnet.c:79 +msgid "cannot open wordnet database" +msgstr "det går inte att öppna wordnet-databas" + +#: modules/wordnet/wordnet.c:232 +#, c-format +msgid "wordnet: unknown option %s" +msgstr "wordnet: okänt alternativ %s" + +#: modules/wordnet/wordnet.c:239 +#, c-format +msgid "wordnet: option %s is not yet supported" +msgstr "wordnet: flaggan %s stöds ej" + +#: grecs/src/cidr.c:129 grecs/src/cidr.c:179 grecs/src/cidr.c:186 +#, c-format +msgid "invalid network mask: %s" +msgstr "ogiltig nätverksmask: %s" + +#: grecs/src/cidr.c:142 grecs/src/cidr.c:149 grecs/src/cidr.c:160 +#, c-format +msgid "unrecognized address family: %s" +msgstr "okänd adressfamilj: %s" + +#: grecs/src/cidr.c:153 +#, c-format +msgid "invalid network address: %s" +msgstr "ogiltig nätverksadress: %s" + +#: grecs/src/format.c:33 +msgid "void" +msgstr "" + +#: grecs/src/format.c:36 grecs/src/tree.c:69 +#, fuzzy +msgid "string" +msgstr "url: sträng" + +#: grecs/src/format.c:46 +#, fuzzy +msgid "number" +msgstr "len: tal" + +#: grecs/src/format.c:49 +msgid "time" +msgstr "" + +#: grecs/src/format.c:52 +#, fuzzy +msgid "boolean" +msgstr "boolesk" + +#: grecs/src/format.c:55 +msgid "IPv4" +msgstr "" + +#: grecs/src/format.c:58 +msgid "CIDR" +msgstr "" + +#: grecs/src/format.c:61 +#, fuzzy +msgid "hostname" +msgstr "namn" + +#: grecs/src/format.c:64 +#, fuzzy +msgid "sockaddr" +msgstr "addr" + +#: grecs/src/format.c:67 +#, fuzzy +msgid "section" +msgstr "Serverval" + +#: grecs/src/format.c:70 +msgid "null" +msgstr "" + +#: grecs/src/format.c:133 +msgid "Disabled;" +msgstr "Inaktiverad;" + +#: grecs/src/grecs-lex.l:186 +#, c-format +msgid "stray character %c" +msgstr "löst tecken: %c" + +#: grecs/src/grecs-lex.l:189 +#, c-format +msgid "stray character \\%03o" +msgstr "löst tecken \\%03o" + +#: grecs/src/grecs-lex.l:219 grecs/src/preproc.c:480 +#, c-format +msgid "Cannot open `%s'" +msgstr "Det går inte att öppna ”%s”" + +#: grecs/src/grecs-lex.l:227 grecs/src/preproc.c:698 +#, c-format +msgid "Unable to start external preprocessor `%s'" +msgstr "Det går inte att starta extern förprocessor ”%s”" + +#: grecs/src/grecs-lex.l:394 grecs/src/grecs-lex.l:431 +#, c-format +msgid "cannot parse #line line: %s" +msgstr "det går inte att tolka #rad-rad: %s" + +#: grecs/src/grecs-lex.l:415 grecs/src/grecs-lex.l:435 +msgid "invalid #line statement" +msgstr "ogiltigt #raduttryck" + +#: grecs/src/grecs-lex.l:418 grecs/src/grecs-lex.l:439 +msgid "malformed #line statement" +msgstr "felaktigt #raduttryck" + +#: grecs/src/lineacc.c:70 +#, c-format +msgid "unknown escape sequence: '\\%c'" +msgstr "okänd escape-sekvens: ”\\%c”" + +#: grecs/src/opthelp.c:123 grecs/src/opthelp.c:269 +msgid "Usage:" +msgstr "Användning:" + +#: grecs/src/opthelp.c:127 +msgid "OPTION" +msgstr "FLAGGA" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Aliases" +msgstr "Alias" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Alias" +msgstr "Alias" + +#: grecs/src/opthelp.c:186 +msgid "" +"Mandatory or optional arguments to long options are also mandatory or " +"optional for any corresponding short options." +msgstr "" +"Obligatoriska eller frivilliga argument till långa flaggor är också " +"obligatoriska eller frivilliga för motsvarande korta flaggor." + +#. TRANSLATORS: The placeholder indicates the bug-reporting +#. address for this package. Please add _another line_ saying +#. "Report translation bugs to <...>\n" with the address for +#. translation bugs (typically your translation team's web or +#. email address). +#: grecs/src/opthelp.c:202 +#, c-format +msgid "Report bugs to %s.\n" +msgstr "Rapportera fel till %s.\n" + +#: grecs/src/opthelp.c:205 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s webbplats:<%s>\n" + +#. TRANSLATORS: Translate "(C)" to the copyright symbol +#. (C-in-a-circle), if this symbol is available in the user's +#. locale. Otherwise, do not translate "(C)"; leave it as-is. +#: grecs/src/opthelp.c:457 +msgid "(C)" +msgstr "(C)" + +#: grecs/src/opthelp.c:466 +msgid "" +"License GPLv3+: GNU GPL version 3 or later \n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +"\n" +msgstr "" +"Licens GPLv3: GNU GPL version 3 eller senare \n" +"Detta är fri programvara: du är fri att ändra och distribuera den.\n" +"Det finns INGA GARANTIER.\n" +"\n" + +#: grecs/src/opthelp.c:483 +msgid "Written by " +msgstr "Skapad av " + +#. TRANSLATORS: This string is used as a delimiter between +#. authors' names as in: +#. +#. Written by Winnie the Pooh, Piglet ... +#. +#: grecs/src/opthelp.c:489 +msgid ", " +msgstr ", " + +#. TRANSLATORS: This string acts as a delimiter before the +#. last author's names, e.g.: +#. +#. Written by Winnie the Pooh, Piglet and Christopher Robin. +#. +#: grecs/src/opthelp.c:495 +msgid " and " +msgstr " och " + +#: grecs/src/path-parser.c:62 +#, c-format +msgid "cannot open `%s'" +msgstr "det går inte att öppna ”%s”" + +#: grecs/src/path-parser.c:108 grecs/src/path-parser.c:123 +msgid "unexpected end of file" +msgstr "oväntad filavslut" + +#: grecs/src/path-parser.c:143 +msgid "parse error" +msgstr "tolka fel" + +#: grecs/src/preproc.c:448 grecs/src/preproc.c:470 +#, c-format +msgid "Cannot stat `%s'" +msgstr "Det går inte att ta stat ”%s”" + +#: grecs/src/preproc.c:453 grecs/src/preproc.c:458 +msgid "Recursive inclusion" +msgstr "Rekursiv inklusion" + +#: grecs/src/preproc.c:461 +#, c-format +msgid "`%s' already included here" +msgstr "”%s” är redan inkluderad" + +#: grecs/src/preproc.c:465 +#, c-format +msgid "`%s' already included at top level" +msgstr "”%s” är redan inkluderad på toppnivå" + +#: grecs/src/preproc.c:595 +msgid "Cannot parse include line" +msgstr "Det går inte att tolka inkluderad rad" + +#: grecs/src/preproc.c:598 +msgid "invalid include statement" +msgstr "ogiltigt include-intryck" + +#: grecs/src/preproc.c:624 +msgid "read error" +msgstr "läsfel" + +#: grecs/src/preproc.c:632 +#, c-format +msgid "%s: No such file or directory" +msgstr "%s: Ingen sådan fil eller katalog" + +#: grecs/src/preproc.c:773 grecs/src/preproc.c:793 +#, c-format +msgid "Cannot run `%s'" +msgstr "Det går inte att köra ”%s”" + +#: grecs/src/sockaddr.c:67 +#, c-format +msgid "socket path name too long: %s" +msgstr "sökväg för uttagsnamn för långt: %s" + +#: grecs/src/sockaddr.c:120 +#, c-format +msgid "%s: garbage near %s" +msgstr "%s: skräp nära %s" + +#: grecs/src/sockaddr.c:159 +#, c-format +msgid "service not specified: %s" +msgstr "tjänst ej specificerad: %s" + +#: grecs/src/sockaddr.c:176 +#, c-format +msgid "%s: cannot parse address: %s" +msgstr "%s: det går inte att tolka adress: %s" + +#: grecs/src/sockaddr.c:269 +#, c-format +msgid "unknown or unsupported scheme: %s" +msgstr "schemat är okänt eller stöds ej: %s" + +#: grecs/src/sockaddr.c:278 +#, c-format +msgid "%s: UNIX socket must be an absolute file name" +msgstr "%s: UNIX-uttag måste vara ett absolut filnamn" + +#: grecs/src/symtab.c:236 +msgid "element not found in table" +msgstr "elementet hittades inte i tabellen" + +#: grecs/src/symtab.c:238 +msgid "symbol table is full" +msgstr "symboltabellen är full" + +#: grecs/src/tree.c:70 +msgid "list" +msgstr "" + +#: grecs/src/tree.c:71 +#, fuzzy +msgid "one or more arguments" +msgstr "för många argument" + +#: grecs/src/tree.c:75 +msgid "unrecognized type; please report" +msgstr "" + +#: grecs/src/tree.c:320 +msgid "section keyword used as a scalar" +msgstr "" + +#: grecs/src/tree.c:322 +msgid "scalar keyword used as a section" +msgstr "" + +#: grecs/src/tree.c:325 +#, fuzzy +msgid "unknown keyword" +msgstr "Okänt nyckelord" + +#: grecs/src/tree.c:360 +#, c-format +msgid "%s: not a valid boolean value" +msgstr "%s: inte ett giltigt booleskt värde" + +#: grecs/src/tree.c:420 grecs/src/tree.c:644 +#, c-format +msgid "%s: not a valid IP address or hostname" +msgstr "%s: inte en giltig IP-adress eller värdnamn" + +#: grecs/src/tree.c:444 +#, c-format +msgid "%s: not a valid port number" +msgstr "%s: inte ett giltigt portnummer" + +#: grecs/src/tree.c:452 +msgid "missing port number" +msgstr "saknar portnummer" + +#: grecs/src/tree.c:501 +msgid "numeric overflow" +msgstr "numeriskt överspill" + +#: grecs/src/tree.c:506 +msgid "value out of allowed range" +msgstr "värde utanför tillåtet intervall" + +#: grecs/src/tree.c:541 grecs/src/tree.c:571 +#, c-format +msgid "not a number (stopped near `%s')" +msgstr "inte ett tal (stannade nära ”%s”)" + +#: grecs/src/tree.c:635 +#, c-format +msgid "%s: not a valid IP address" +msgstr "%s: inte en giltig IP-adress" + +#: grecs/src/tree.c:774 +#, c-format +msgid "too many arguments to `%s'; missing semicolon?" +msgstr "för många argument till ”%s”; saknar semikolon?" + +#: grecs/src/tree.c:788 grecs/src/tree.c:836 +#, c-format +msgid "INTERNAL ERROR at %s:%d: unhandled data type %d" +msgstr "INTERNT FEL vid %s:%d: ohanterad datatyp %d" + +#: grecs/src/tree.c:803 +#, c-format +msgid "%s: incompatible data type in list item #%d" +msgstr "%s: inkompatibel datatyp i listpost #%d" + +#: grecs/src/tree.c:823 +#, c-format +msgid "incompatible data type for `%s'" +msgstr "inkompatibel datatyp för ”%s”" + +#: grecs/wordsplit/wordsplit.c:130 +msgid "memory exhausted while trying to store error context" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:881 +msgid "Restarting" +msgstr "Startar om" + +#: grecs/wordsplit/wordsplit.c:1607 +#, c-format +msgid "%.*s: variable null or not set" +msgstr "%.*s: variabel null eller inte angiven" + +#: grecs/wordsplit/wordsplit.c:1637 +#, c-format +msgid "warning: undefined variable `%.*s'" +msgstr "varning: odefinierad variabl ”%.*s”" + +#: grecs/wordsplit/wordsplit.c:2138 +#, c-format +msgid "no files match pattern %s" +msgstr "inga filer matchar mönster %s" + +#: grecs/wordsplit/wordsplit.c:2599 +msgid "WS trimming" +msgstr "WS-trimmning" + +#: grecs/wordsplit/wordsplit.c:2601 +msgid "command substitution" +msgstr "kommandoersättning" + +#: grecs/wordsplit/wordsplit.c:2603 grecs/wordsplit/wordsplit.c:2611 +msgid "coalesce list" +msgstr "sorteringslista" + +#: grecs/wordsplit/wordsplit.c:2605 +msgid "tilde expansion" +msgstr "tilde-expansion" + +#: grecs/wordsplit/wordsplit.c:2607 +msgid "variable expansion" +msgstr "variabel-expansion" + +#: grecs/wordsplit/wordsplit.c:2609 +msgid "quote removal" +msgstr "citattecken-borttagning" + +#: grecs/wordsplit/wordsplit.c:2613 +msgid "path expansion" +msgstr "sökvägsexpansion" + +#: grecs/wordsplit/wordsplit.c:2638 +#, c-format +msgid "(%02d) Input:%.*s;" +msgstr "(%02d) Indata:%.*s;" + +#: grecs/wordsplit/wordsplit.c:2664 +msgid "Initial list:" +msgstr "Ursprunglig lista:" + +#: grecs/wordsplit/wordsplit.c:2679 +msgid "Coalesced list:" +msgstr "Sorterad lista:" + +#: grecs/wordsplit/wordsplit.c:2849 +msgid "no error" +msgstr "inga fel" + +#: grecs/wordsplit/wordsplit.c:2850 +msgid "missing closing quote" +msgstr "saknar avslutande citattecken" + +#: grecs/wordsplit/wordsplit.c:2852 +msgid "invalid wordsplit usage" +msgstr "ogiltig användning av orduppdelning" + +#: grecs/wordsplit/wordsplit.c:2853 +msgid "unbalanced curly brace" +msgstr "obalanserad klammerparentes" + +#: grecs/wordsplit/wordsplit.c:2854 +msgid "undefined variable" +msgstr "odefinierad variabel" + +#: grecs/wordsplit/wordsplit.c:2855 +msgid "input exhausted" +msgstr "indata uttömd" + +#: grecs/wordsplit/wordsplit.c:2856 +msgid "unbalanced parenthesis" +msgstr "obalanserade parenteser" + +#: grecs/wordsplit/wordsplit.c:2857 +msgid "globbing error" +msgstr "globbningsfel" + +#: grecs/wordsplit/wordsplit.c:2858 +#, fuzzy +msgid "user-defined error" +msgstr "läsfel" + +#: grecs/wordsplit/wordsplit.c:2859 +msgid "invalid parameter number in assignment" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2871 +msgid "unknown error" +msgstr "okänt fel" + +#: grecs/wordsplit/wordsplit.c:2880 +#, c-format +msgid "missing closing %c (start near #%lu)" +msgstr "saknar avslutande %c (börjar nära #%lu)" + +#~ msgid "%s: option '--%s' doesn't allow an argument\n" +#~ msgstr "%s: flaggan ”--%s” tar inte argument\n" + +#~ msgid "%s: unrecognized option '--%s'\n" +#~ msgstr "%s: okänd flagga ”--%s”\n" + +#~ msgid "%s: option '-W %s' doesn't allow an argument\n" +#~ msgstr "%s: flaggan ”-W %s” kräver inte ett argument\n" + +#~ msgid "%s: option '-W %s' requires an argument\n" +#~ msgstr "%s: flaggan ”-W %s” kräver ett argument\n" + +#~ msgid "%s: unknown keyword" +#~ msgstr "%s: okänt nyckelord" Binary files /tmp/tmpzBUTb6/GFUWpBukhc/dico-2.9/po/uk.gmo and /tmp/tmpzBUTb6/cwmgEPIKlI/dico-2.10/po/uk.gmo differ diff -Nru dico-2.9/po/uk.po dico-2.10/po/uk.po --- dico-2.9/po/uk.po 1970-01-01 00:00:00.000000000 +0000 +++ dico-2.10/po/uk.po 2020-09-04 04:06:48.000000000 +0000 @@ -0,0 +1,2958 @@ +# Ukrainian translations for GNU Dico. +# This file is distributed under the same license as the dico package. +# Copyright (C) 2018 Free Software Foundation, Inc. +# +# Sergey Poznyakoff , 2003-2018. +# +msgid "" +msgstr "" +"Project-Id-Version: dico 2.7\n" +"Report-Msgid-Bugs-To: bug-dico@gnu.org\n" +"POT-Creation-Date: 2020-09-04 07:06+0300\n" +"PO-Revision-Date: 2018-09-25 20:37+0300\n" +"Last-Translator: Sergey Poznyakoff \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: xdico/userprivs.c:40 +msgid "Refusing to run as root" +msgstr "Запуск з правами root заборонений" + +#: xdico/userprivs.c:58 +#, c-format +msgid "setgroups(1, %lu) failed" +msgstr "помилка setgroups(1, %lu)" + +#: xdico/userprivs.c:69 +#, c-format +msgid "setegid(%lu) failed" +msgstr "помилка setegid(%lu)" + +#: xdico/userprivs.c:73 +#, c-format +msgid "setregid(%lu,%lu) failed" +msgstr "помилка setregid(%lu,%lu)" + +#: xdico/userprivs.c:77 +#, c-format +msgid "setresgid(%lu,%lu,%lu) failed" +msgstr "помилка setresgid(%lu,%lu,%lu)" + +#: xdico/userprivs.c:85 +#, c-format +msgid "setgid(%lu) failed" +msgstr "помилка setgid(%lu)" + +#: xdico/userprivs.c:88 +#, c-format +msgid "Cannot set effective gid to %lu" +msgstr "не можу встановити ефективний GID %lu" + +#: xdico/userprivs.c:106 +#, c-format +msgid "setreuid(%lu,-1) failed" +msgstr "помилка setreuid(%lu,-1)" + +#: xdico/userprivs.c:111 +#, c-format +msgid "second setuid(%lu) failed" +msgstr "помилка другого setuid(%lu)" + +#: xdico/userprivs.c:118 +#, c-format +msgid "setuid(%lu) failed" +msgstr "помилка setuid(%lu)" + +#: xdico/userprivs.c:126 +msgid "seteuid(0) succeeded when it should not" +msgstr "виклик seteuid(0) несподівано вдався" + +#: xdico/userprivs.c:129 +msgid "Cannot drop non-root setuid privileges" +msgstr "Неможливо позбутися прав setuid" + +#: xdico/xstream.c:41 +msgid "not enough memory while formatting reply message" +msgstr "Вичерпано пам'ять під час форматування відповіді" + +#. TRANSLATORS: +#. Get translations for open and closing quotation marks. +#. The message catalog should translate "`" to a left +#. quotation mark suitable for the locale, and similarly for +#. "'". For example, a French Unicode local should translate +#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE +#. QUOTATION MARK), respectively. +#. +#. If the catalog has no translation, we will try to +#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and +#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the +#. current locale is not Unicode, locale_quoting_style +#. will quote 'like this', and clocale_quoting_style will +#. quote "like this". You should always include translations +#. for "`" and "'" even if U+2018 and U+2019 are appropriate +#. for your locale. +#. +#. If you don't know what to put here, please see +#. +#. and use glyphs suitable for your language. +#: xdico/gnu/quotearg.c:362 +msgid "`" +msgstr "`" + +#: xdico/gnu/quotearg.c:363 +msgid "'" +msgstr "'" + +#: xdico/gnu/obstack.c:338 xdico/gnu/obstack.c:340 +#: grecs/wordsplit/wordsplit.c:76 grecs/wordsplit/wordsplit.c:2851 +msgid "memory exhausted" +msgstr "пам'ять вичерпано" + +#: xdico/gnu/getopt.c:278 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous\n" +msgstr "%s: опція '-W %s' неоднозначна\n" + +#: xdico/gnu/getopt.c:284 +#, fuzzy, c-format +msgid "%s: option '%s%s' is ambiguous; possibilities:" +msgstr "%s: опція '%s' неоднозначна: можливі варіанти:" + +#: xdico/gnu/getopt.c:319 +#, fuzzy, c-format +msgid "%s: unrecognized option '%s%s'\n" +msgstr "%s: невідома опція '%c%s'\n" + +#: xdico/gnu/getopt.c:345 +#, fuzzy, c-format +msgid "%s: option '%s%s' doesn't allow an argument\n" +msgstr "%s: опція '%c%s' не може мати аргументу\n" + +#: xdico/gnu/getopt.c:360 +#, fuzzy, c-format +msgid "%s: option '%s%s' requires an argument\n" +msgstr "%s: опція '%s' вимагає аргументу\n" + +#: xdico/gnu/getopt.c:621 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: невірна опція -- '%c'\n" + +#: xdico/gnu/getopt.c:636 xdico/gnu/getopt.c:682 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: опція вимагає аргументу -- '%c'\n" + +#: lib/parseopt.c:116 +#, c-format +msgid "%s: %s: unknown option" +msgstr "%s: %s: невідома опція" + +#: lib/parseopt.c:127 +#, c-format +msgid "%s: %s: %s is not a valid number" +msgstr "%s: %s: %s: не є числом" + +#: lib/parseopt.c:168 +#, c-format +msgid "%s: %s: invalid value %s" +msgstr "%s: %s: недійсна вартість %s" + +#: lib/iostr.c:91 +msgid "No error" +msgstr "Не помилка" + +#: dico/shell.c:34 +msgid "WORD" +msgstr "СЛОВО" + +#: dico/shell.c:34 +msgid "Define WORD." +msgstr "Визначити СЛОВО." + +#: dico/shell.c:35 +msgid "/WORD" +msgstr "/СЛОВО" + +#: dico/shell.c:35 +msgid "Match WORD." +msgstr "Шукати слова що збігаються із вказаним." + +#: dico/shell.c:36 +msgid "Redisplay previous matches." +msgstr "Показати попередні збіги." + +#: dico/shell.c:37 cmdline.opt:131 +msgid "NUMBER" +msgstr "ЧИСЛО" + +#: dico/shell.c:37 +msgid "Define NUMBERth match." +msgstr "Визначити збіг з указаним номером." + +#: dico/shell.c:39 +msgid "Edit NUMBERth previous command." +msgstr "Редагувати попередню команду." + +#: dico/shell.c:45 +msgid "[HOST [PORT]]" +msgstr "[МАШИНА [ПОРТ]]" + +#: dico/shell.c:46 +msgid "Connect to a DICT server." +msgstr "З'єнатися з сервером DICT." + +#: dico/shell.c:50 +msgid "Close the connection." +msgstr "Закрити з'єднання." + +#: dico/shell.c:53 dico/shell.c:57 +msgid "[NAME]" +msgstr "[НАЗВА]" + +#: dico/shell.c:54 +msgid "Set or display current database name." +msgstr "Встановити або показати назву поточної бази" + +#: dico/shell.c:58 +msgid "Set or display current strategy." +msgstr "Встановити або показати назву поточної стратегії" + +#: dico/shell.c:61 +msgid "[NUM]" +msgstr "[ЧИСЛО]" + +#: dico/shell.c:62 +msgid "Set or query Levenshtein distance (server-dependent)." +msgstr "Встановити або показати відстань Левенштейна (залежить від сервера)." + +#: dico/shell.c:66 +msgid "List available matching strategies" +msgstr "Показати перелік доступних стратегій" + +#: dico/shell.c:70 +msgid "List all accessible databases" +msgstr "Показати перелік доступних баз" + +#: dico/shell.c:73 +msgid "[DB]" +msgstr "[БАЗА]" + +#: dico/shell.c:74 +msgid "Display the information about the database." +msgstr "Показати інформацію про базу даних." + +#: dico/shell.c:77 +msgid "[CHAR]" +msgstr "[ЗНАК]" + +#: dico/shell.c:78 +msgid "Set or display command prefix." +msgstr "Встановити або показати префікс команди." + +#: dico/shell.c:81 dico/shell.c:101 +msgid "[BOOL]" +msgstr "[ЛОГІЧНЕ-ЗНАЧЕННЯ]" + +#: dico/shell.c:82 +msgid "Set or display session transcript mode." +msgstr "Встановити або показати значення режиму протоколювання сесії." + +#: dico/shell.c:85 +msgid "[NUMBER]" +msgstr "[ЧИСЛО]" + +#: dico/shell.c:86 +msgid "Set or display verbosity level." +msgstr "Встановити або показати рівень детальності журналювання." + +#: dico/shell.c:89 dico/shell.c:93 cmdline.opt:158 cmdline.opt:170 +msgid "STRING" +msgstr "РЯДОК" + +#: dico/shell.c:90 +msgid "Change command line prompt." +msgstr "Встановити текст запрошення." + +#: dico/shell.c:94 +msgid "Change or display pager settings." +msgstr "Змінити або показати налаштування прогортача." + +#: dico/shell.c:97 +msgid "[FILE]" +msgstr "[ФАЙЛ]" + +#: dico/shell.c:98 +msgid "Set or display autologin file name." +msgstr "Встановити або показати ім'я файла автоматичного логування." + +#: dico/shell.c:102 +msgid "Enable SASL authentication." +msgstr "Увімкнути автентифікацію SASL." + +#: dico/shell.c:107 +msgid "Display command history." +msgstr "Показати історію команд." + +#: dico/shell.c:112 +msgid "Display this help text." +msgstr "Показати цю довідку." + +#: dico/shell.c:116 +msgid "Print program version." +msgstr "Вивести версію програми." + +#: dico/shell.c:120 +msgid "Print copyright statement." +msgstr "Вивести інформацію про авторські права." + +#: dico/shell.c:128 +msgid "Quit the shell." +msgstr "Вихід з оболонки." + +#: dico/shell.c:149 +#, c-format +msgid "Command prefix is %c\n" +msgstr "Префіксом команди є %c\n" + +#: dico/shell.c:151 +msgid "Expected a single punctuation character" +msgstr "Очікувався поодинокий знак пунктуації" + +#: dico/shell.c:229 +msgid "warning: " +msgstr "попередження: " + +#: dico/shell.c:342 +msgid "unknown command" +msgstr "невідома команда" + +#: dico/shell.c:352 +msgid "not enough arguments" +msgstr "замало аргументів" + +#: dico/shell.c:355 dicod/main.c:170 dicod/main.c:232 dicod/main.c:584 +#: dicod/main.c:793 +msgid "too many arguments" +msgstr "забагато аргументів" + +#: dico/shell.c:398 +#, c-format +msgid "Cannot open init file %s" +msgstr "Не вдається відкрити файл ініціалізації %s" + +#: dico/connect.c:89 dico/connect.c:404 +msgid "No reply from server" +msgstr "Брак відповіді від сервера" + +#: dico/connect.c:110 +msgid "Attempting APOP authentication\n" +msgstr "Спроба автентифікації APOP\n" + +#: dico/connect.c:117 dico/saslauth.c:338 +msgid "Not enough credentials for authentication" +msgstr "Недостатньо даних для автентифікації" + +#: dico/connect.c:121 dico/saslauth.c:343 +msgid "Skipping authentication\n" +msgstr "Пропуск автентифікації\n" + +#: dico/connect.c:204 +msgid "Obtained authentication credentials from the command line\n" +msgstr "Дані користувача отримано з командного рядка\n" + +#: dico/connect.c:211 +#, c-format +msgid "File %s does not exist" +msgstr "Файл %s не існує" + +#: dico/connect.c:228 +msgid "Password:" +msgstr "Пароль:" + +#: dico/connect.c:244 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot get stream transport" +msgstr "ВНУТРІШНЯ ПОМИЛКА в %s:%d: не вдається отримати транспорт потоку" + +#: dico/connect.c:252 +#, c-format +msgid "INTERNAL ERROR at %s:%d: cannot set stream transport" +msgstr "ВНУТРІШНЯ ПОМИЛКА в %s:%d: не вдається встановити транспорт потоку" + +#: dico/connect.c:303 +#, c-format +msgid "Connecting to %s\n" +msgstr "З'єднання з %s\n" + +#: dico/connect.c:311 +#, c-format +msgid "bad source address: %s" +msgstr "недійсна вихідна адреса: %s" + +#: dico/connect.c:326 +msgid "can't bind to the source address" +msgstr "не вдається використати вихідну адресу" + +#: dico/connect.c:339 +#, c-format +msgid "%s: can't get address: %s" +msgstr "%s: не вдається отримати адресу: %s" + +#: dico/connect.c:347 grecs/src/tree.c:391 +#, c-format +msgid "%s: UNIX socket name too long" +msgstr "%s: Надто довга назва гнізда UNIX" + +#: dico/connect.c:373 +msgid "cannot create dict socket" +msgstr "не вдається створити гніздо dict" + +#: dico/connect.c:383 +#, c-format +msgid "%s: cannot connect" +msgstr "%s: не вдається з'єднатись" + +#: dico/connect.c:394 +#, c-format +msgid "cannot create dict stream: %s" +msgstr "не вдається створити потік dict: %s" + +#: dico/connect.c:408 +msgid "Invalid reply from server" +msgstr "Невірну відповідь від сервера" + +#: dico/connect.c:413 +msgid "Sending client information\n" +msgstr "Надання інформації про клієнта\n" + +#: dico/connect.c:418 +#, c-format +msgid "Unexpected reply to CLIENT command: `%s'" +msgstr "Несподівана відповідь на команду CLIENT: `%s'" + +#: dico/connect.c:424 +msgid "Authentication failed" +msgstr "Ідентифікація не вдалася" + +#: dico/connect.c:497 +#, c-format +msgid "Sending query for word \"%s\" in database \"%s\"\n" +msgstr "Надсилання запиту шукання слова \"%s\" в базі \"%s\"\n" + +#: dico/connect.c:508 +#, c-format +msgid "Reading %lu definition\n" +msgid_plural "Reading %lu definitions\n" +msgstr[0] "Читання %lu окреслення\n" +msgstr[1] "Читання %lu окреслень\n" +msgstr[2] "Читання %lu окреслень\n" + +#: dico/connect.c:515 +#, c-format +msgid "Unexpected reply in place of definition %lu" +msgstr "Неочікувана відповідь замість визначення %lu" + +#: dico/connect.c:538 +msgid "Setting Levenshtein threshold\n" +msgstr "Встановлення граничної відстані Левенштейна\n" + +#: dico/connect.c:544 +msgid "Server rejected XLEV command" +msgstr "Сервер відкинув команду XLEV" + +#: dico/connect.c:545 +#, c-format +msgid "Server reply: %s" +msgstr "Відповідь сервера: %s" + +#: dico/connect.c:548 +#, c-format +msgid "Sending query to match word \"%s\" in database \"%s\", using \"%s\"\n" +msgstr "" +"Надсилання запиту шукання збігів з \"%s\" у базі \"%s\" з використанням \"%s" +"\"\n" + +#: dico/connect.c:561 +#, c-format +msgid "Reading %lu match\n" +msgid_plural "Reading %lu matches\n" +msgstr[0] "Читання %lu результату\n" +msgstr[1] "Читання %lu результатів\n" +msgstr[2] "Читання %lu результатів\n" + +#: dico/connect.c:639 +msgid "Not enough data in the result" +msgstr "Недостатньо даних у відповіді" + +#: dico/connect.c:706 +msgid "Freeing unlinked result" +msgstr "Звільнення вільного результату" + +#: dico/dico.c:80 +msgid "extra command line arguments ignored" +msgstr "додаткові аргументи команди проігноровано" + +#: dico/dico.c:88 +msgid "you should give a word to look for or an URL" +msgstr "вкажіть слово яке шукати або URL" + +#: dico/dico.c:107 +msgid "Database name not specified" +msgstr "Не вказано назву бази даних" + +#: dico/func.c:33 dicod/main.c:1120 +msgid "Expected boolean value" +msgstr "Очікувалось логічне значення" + +#: dico/func.c:67 +#, c-format +msgid "Cannot get listing: %s" +msgstr "Не вдається отримати перелік: %s" + +#: dico/func.c:104 dico/func.c:138 +msgid "Please specify server name or IP address" +msgstr "Вкажіть назву сервера або IP адресу" + +#: dico/func.c:109 +msgid "Cannot connect to the server" +msgstr "Неможливо з'єднатися з сервером" + +#: dico/func.c:112 +msgid "Getting list of databases\n" +msgstr "Отримання переліку баз\n" + +#: dico/func.c:114 +msgid "Getting list of strategies\n" +msgstr "Отримання переліку стратегій\n" + +#: dico/func.c:116 +msgid "Finished getting server information\n" +msgstr "Закінчено відбір інформації про сервер\n" + +#: dico/func.c:150 +msgid "Nothing to close" +msgstr "Нема чого закривати" + +#: dico/func.c:160 +msgid "No autologin file." +msgstr "Брак файлу автоматичного логування." + +#: dico/func.c:177 dico/func.c:268 +msgid "on" +msgstr "Вкл." + +#: dico/func.c:177 dico/func.c:268 +msgid "off" +msgstr "Викл." + +#: dico/func.c:258 dico/func.c:366 +msgid "invalid number" +msgstr "Недійсне число" + +#: dico/func.c:268 +#, c-format +msgid "transcript is %s\n" +msgstr "протоколювання %s\n" + +#: dico/func.c:309 dico/func.c:325 +msgid "No previous match" +msgstr "Немає попереднього збігу" + +#: dico/func.c:329 +msgid "Invalid match number. Type / to see the matches." +msgstr "Недійсний номер збігу. Введіть / щоб отримати перелік." + +#: dico/func.c:344 +#, c-format +msgid "Server does not support XLEV extension" +msgstr "Сервер не підтримує розширення XLEV" + +#: dico/func.c:350 +#, c-format +msgid "Reported Levenshtein distance:%s\n" +msgstr "Повідомлена відстань Левенштейна:%s\n" + +#: dico/func.c:353 +msgid "Cannot query Levenshtein distance. Server responded:" +msgstr "Не вдається отримати відстань Левенштейна. Відповідь сервера:" + +#: dico/func.c:358 +#, c-format +msgid "No distance configured\n" +msgstr "Відстані не налаштовано\n" + +#: dico/func.c:360 +#, c-format +msgid "Configured Levenshtein distance: %u\n" +msgstr "Сконфігурована відстань Левенштейна: %u\n" + +#: dico/func.c:395 +#, c-format +msgid "" +"Search all of the databases until a match is found,\n" +"and display all matches in that database.\n" +msgstr "" +"Шукати у всіх базах до винайдення першого збігу,\n" +"показувати всі збіги з тої бази де знайдено перший.\n" + +#: dico/func.c:398 +#, c-format +msgid "Search all of the databases and display all matches." +msgstr "Шукати у всіх базах і показувати всі збіги" + +#: dico/autologin.c:151 +#, c-format +msgid "Found matching line %d\n" +msgstr "Знайдено рядок що збігається: %d\n" + +#: dico/autologin.c:160 +#, c-format +msgid "Found default line %d\n" +msgstr "Знайдено типовий рядок %d\n" + +#: dico/autologin.c:192 +#, c-format +msgid "Cannot open autologin file %s" +msgstr "Не вдається відкрити файл автоматичного логування %s" + +#: dico/autologin.c:197 +#, c-format +msgid "Reading autologin file %s...\n" +msgstr "Зчитування файлу автоматичного логування %s\n" + +#: dico/autologin.c:218 +#, c-format +msgid "failed to parse command `%s': %s" +msgstr "не вдається розібрати команду `%s'Ж %s" + +#: dico/autologin.c:229 +#, c-format +msgid "failed to add line marker: %s" +msgstr "не вдалося додати маркер рядка: %s" + +#: dico/autologin.c:251 +msgid "No matching line found\n" +msgstr "Не знайдено жодних збігів\n" + +#: dico/autologin.c:269 +#, c-format +msgid "%s:%d: unknown keyword" +msgstr "%s:%d: невідоме ключове слово" + +#: dico/autologin.c:277 +#, c-format +msgid "%s:%d: %s without argument" +msgstr "%s:%d: %s без аргументів" + +#: dico/autologin.c:335 +#, c-format +msgid "%s:%d: failed to parse line: %s" +msgstr "%s:%d: помилка розбору рядка: %s" + +#: cmdline.opt:29 +msgid "Server selection" +msgstr "Вибір сервера" + +#: cmdline.opt:45 +msgid "SERVER" +msgstr "СЕРВЕР" + +#: cmdline.opt:45 +msgid "connect to this server" +msgstr "з'єднатись з цим сервером" + +#: cmdline.opt:51 +msgid "SERVICE" +msgstr "СЕРВІС" + +#: cmdline.opt:51 +msgid "specify port to connect to" +msgstr "використовувати поданий порт" + +#: cmdline.opt:57 cmdline.opt:77 cmdline.opt:151 cmdline.opt:164 +msgid "NAME" +msgstr "НАЗВА" + +#: cmdline.opt:57 +msgid "select a database to search" +msgstr "вибрати базу для пошуку" + +#: cmdline.opt:63 +msgid "ADDR" +msgstr "АДРЕСА" + +#: cmdline.opt:63 +msgid "set a source address for TCP connections" +msgstr "встановити вихідний адрес для поєднань TCP" + +#: cmdline.opt:55 +msgid "Operation modes" +msgstr "Модифікатори режиму роботи" + +#: cmdline.opt:71 +msgid "match instead of define" +msgstr "пошук збігів замість визначень" + +#: cmdline.opt:77 +msgid "select a strategy for matching; implies --match" +msgstr "вибрати стратегію пошуку збігів; вмикає --match" + +#: cmdline.opt:85 +msgid "N" +msgstr "ЧИСЛО" + +#: cmdline.opt:85 +msgid "set maximum Levenshtein distance" +msgstr "встановити граничне значення відстані Левенштейна" + +#: cmdline.opt:94 +msgid "show available databases" +msgstr "показати наявні бази" + +#: cmdline.opt:100 +msgid "show available search strategies" +msgstr "показати доступні стратегії" + +#: cmdline.opt:106 +msgid "show server help" +msgstr "показати довідку допомоги від сервера" + +#: cmdline.opt:112 +msgid "DBNAME" +msgstr "НАЗВА_БАЗИ" + +#: cmdline.opt:112 +msgid "show information about database DBNAME" +msgstr "показати опис бази даних" + +#: cmdline.opt:119 +msgid "show information about the server" +msgstr "показати інформацію про сервер" + +#: cmdline.opt:125 +msgid "do not print the normal dico welcome" +msgstr "не виводити звичайний заголовок Dico" + +#: cmdline.opt:117 +msgid "Authentication" +msgstr "Авторизація" + +#: cmdline.opt:133 +msgid "disable authentication" +msgstr "вимкнути авторизацію" + +#: cmdline.opt:139 +msgid "enable SASL authentication (default)" +msgstr "увімкнути авторизацію SASL (типово)" + +#: cmdline.opt:145 +msgid "disable SASL authentication" +msgstr "вимкнути авторизацію SASL" + +#: cmdline.opt:151 +msgid "set user name for authentication" +msgstr "ім'я користувача для авторизації" + +#: cmdline.opt:158 +msgid "set shared secret for authentication" +msgstr "встановити спільний ключ для авторизації" + +#: cmdline.opt:164 +msgid "set the name of autologin file to use" +msgstr "назва файлу автоматичного логування" + +#: cmdline.opt:170 +msgid "additional text for client command" +msgstr "додатковий текст для команди CLIENT" + +#: cmdline.opt:162 cmdline.opt:103 +msgid "Debugging" +msgstr "Налагодження" + +#: cmdline.opt:177 cmdline.opt:119 +msgid "enable session transcript" +msgstr "увімкнути протоколювання сесії" + +#: cmdline.opt:183 +msgid "increase debugging verbosity level" +msgstr "збільшити рівень детальності журналювання" + +#: cmdline.opt:189 +msgid "include time stamp in the debugging output" +msgstr "друкувати час у повідомленнях налагоджування" + +#: cmdline.opt:196 cmdline.opt:138 +msgid "include source line information in the debugging output" +msgstr "друкувати номер рядка джерела у повідомленнях налагоджування" + +#: cmdline.opt:188 +msgid "Other options" +msgstr "Інші опції" + +#: cmdline.opt:200 +msgid "Give this help list" +msgstr "Показати цю довідку" + +#: cmdline.opt:200 +msgid "Give a short usage message" +msgstr "Вивести коротке повідомлення про використання." + +#: cmdline.opt:200 +msgid "Print program version" +msgstr "Вивести версію програми." + +#: cmdline.opt:37 +msgid "GNU dictionary client program" +msgstr "Словникова програма GNU" + +#: cmdline.opt:39 +msgid "[URL-or-WORD]" +msgstr "[URL-або-СЛОВО]" + +#: cmdline.opt:81 +#, c-format +msgid "%s: invalid number" +msgstr "%s: недійсне число" + +#: cmdline.opt:230 +msgid "Type ? for help summary" +msgstr "Введить ? щоб отримати довідку" + +#: dico/lookup.c:23 +msgid "No match" +msgstr "Нема збігів" + +#: dico/lookup.c:65 dico/lookup.c:175 +#, c-format +msgid "From %s, %s:\n" +msgstr "З %s, %s\n" + +#: dico/lookup.c:137 +msgid "(no description available)" +msgstr "(немає опису)" + +#: dico/lookup.c:209 +#, c-format +msgid "%s:%d: INTERNAL ERROR: unexpected request type" +msgstr "%s:%d: ВНУТРІШНЯ ПОМИЛКА: несподіваний тип запиту" + +#: dico/lookup.c:229 dico/lookup.c:296 +msgid "Server name or IP not specified" +msgstr "Не вказано назви сервера або адреси IP" + +#: dico/lookup.c:238 +msgid "Quitting\n" +msgstr "Вихід\n" + +#: dico/saslauth.c:39 dicod/gsasl.c:370 +#, c-format +msgid "cannot get list of available SASL mechanisms: %s" +msgstr "не вдається отримати перелік доступних механізмів SASL: %s" + +#: dico/saslauth.c:110 +#, c-format +msgid "Unknown callback property %d" +msgstr "Невідома власність зворотного виклику %d" + +#: dico/saslauth.c:121 dico/saslauth.c:127 +msgid "GSASL handshake aborted" +msgstr "Рукостискання GSASL перервано" + +#: dico/saslauth.c:168 +#, c-format +msgid "GSASL handshake aborted: unexpected reply: %s" +msgstr "Рукостискання GSASL перервано: неочікувана відповідь: %s" + +#: dico/saslauth.c:186 dicod/gsasl.c:148 +#, c-format +msgid "GSASL error: %s" +msgstr "помилка GSASL: %s" + +#: dico/saslauth.c:233 +msgid "Initializing SASL\n" +msgstr "Ініціалізування SASL\n" + +#: dico/saslauth.c:236 +#, c-format +msgid "Cannot initialize libgsasl: %s" +msgstr "Не вдається ініціалізувати бібліотеку libgsasl: %s" + +#: dico/saslauth.c:281 +msgid "Trying SASL\n" +msgstr "Спроба SASL\n" + +#: dico/saslauth.c:291 +msgid "No suitable SASL mechanism found" +msgstr "Жоден механізм SASL не підходить" + +#: dico/saslauth.c:300 +#, c-format +msgid "Selected authentication mechanism %s" +msgstr "Обраний механізм ідентифікації %s" + +#: dico/saslauth.c:310 +msgid "SASL authentication succeeded" +msgstr "Автентифікація SASL вдалася" + +#: dico/saslauth.c:311 +msgid "SASL authentication failed" +msgstr "Автентифікація SASL не вдалася" + +#: dico/saslauth.c:374 +msgid "Dico compiled without SASL support" +msgstr "Dico скомпільований без підтримки SASL" + +#: dicod/regex.c:46 +#, c-format +msgid "Regex error: %s" +msgstr "Помилка регулярного виразу: %s" + +#: dicod/dicod.c:119 dicod/dicod.c:137 dicod/main.c:1572 +#, c-format +msgid "removing database %s" +msgstr "усунення бази %s" + +#: dicod/dicod.c:153 +#, c-format +msgid "error closing database %s" +msgstr "помилка закриття бази даних %s" + +#: dicod/dicod.c:291 +#, c-format +msgid "error freeing database %s" +msgstr "помилка звільнення бази даних %s" + +#: dicod/dicod.c:345 +msgid "connection from" +msgstr "приєднання з" + +#: dicod/dicod.c:364 +msgid "session finished:" +msgstr "сесію закінчено:" + +#: dicod/acl.c:69 +msgid "expected string" +msgstr "очікувався рядок" + +#: dicod/acl.c:116 +msgid "expected string but found list" +msgstr "очікувався рядок але отримано перелік" + +#: dicod/acl.c:129 +#, c-format +msgid "socket name too long: `%s'" +msgstr "надто довга назва гнізда: `%s'" + +#: dicod/acl.c:157 +msgid "expected `from', but found list" +msgstr "очікувалось `from', але отримано перелік" + +#: dicod/acl.c:160 +#, c-format +msgid "expected `from', but found `%s'" +msgstr "очікувалось `from', але отримано `%s'" + +#: dicod/acl.c:169 +msgid "unexpected end of statement after `from'" +msgstr "неочікуваний кінець речення після `from'" + +#: dicod/acl.c:195 +msgid "junk after `from' list" +msgstr "сміття після переліку `from'" + +#: dicod/acl.c:211 +msgid "expected ACL name, but found end of statement" +msgstr "очікувалася назва ACL, але отримано кінець речення" + +#: dicod/acl.c:217 +msgid "expected string, but found list" +msgstr "очікувався рядок, але отримано перелік" + +#: dicod/acl.c:224 +#, c-format +msgid "ACL not defined: `%s'" +msgstr "Невизначений ACL: `%s'" + +#: dicod/acl.c:242 +msgid "expected group list, but found end of statement" +msgstr "очікувався перелік груп, але але знайдено кінець речення" + +#: dicod/acl.c:255 +msgid "expected group list, but found array" +msgstr "очікувався перелік груп, але але знайдено таблицю" + +#: dicod/acl.c:268 +msgid "expected string value" +msgstr "очікувався рядок" + +#: dicod/acl.c:290 +#, c-format +msgid "unknown word `%s'" +msgstr "невідоме слово `%s'" + +#: dicod/acl.c:302 +msgid "unexpected list" +msgstr "несподіваний перелік" + +#. TRANSLATORS: `MATCHES' is the verb `match' in 2nd person. +#. E.g., in French: CONCORD AVEC +#: dicod/acl.c:400 +msgid "MATCHES" +msgstr "СПІВПАДАЄ З" + +#: dicod/acl.c:400 +msgid "does not match" +msgstr "не співпадає з" + +#: dicod/dbtext.c:28 +#, c-format +msgid "cannot get path from URL `%s'" +msgstr "не вдається прочитати стежку з URL-у `%s'" + +#: dicod/dbtext.c:33 +#, c-format +msgid "cannot stat directory `%s'" +msgstr "не вдається прочитати дані про каталог `%s'" + +#: dicod/dbtext.c:39 +#, c-format +msgid "%s: not a directory" +msgstr "%s не є каталогом" + +#: dicod/dbtext.c:55 +#, c-format +msgid "cannot open file `%s'" +msgstr "не вдається відкрити файл `%s'" + +#: dicod/auth.c:46 dicod/gsasl.c:190 +msgid "failed to open user database" +msgstr "не вдалося відкрити базу користувачів" + +#: dicod/auth.c:51 dicod/gsasl.c:240 dicod/gsasl.c:276 +#, c-format +msgid "failed to get password for `%s' from the database" +msgstr "пароль користувача `%s' не знайдено у базі" + +#: dicod/auth.c:55 +#, c-format +msgid "no such user `%s'" +msgstr "немає такого користувача: `%s'" + +#: dicod/auth.c:61 +#, c-format +msgid "authentication failed for `%s'" +msgstr "автентифікація користувача `%s' не вдалася" + +#: dicod/main.c:161 +msgid "list element must be a string" +msgstr "елемент переліку мусить бути рядком" + +#: dicod/main.c:215 +msgid "list element must be a socket specification" +msgstr "елемент переліку мусить бути специфікацією гнізда" + +#: dicod/main.c:248 dicod/main.c:264 dicod/main.c:332 dicod/main.c:358 +#: dicod/main.c:407 dicod/main.c:460 dicod/main.c:503 dicod/main.c:665 +#: dicod/main.c:721 dicod/main.c:742 dicod/main.c:786 dicod/main.c:977 +#: dicod/main.c:1111 dicod/main.c:1150 dicod/main.c:1171 +msgid "Unexpected block statement" +msgstr "Неочікуване складне речення" + +#: dicod/main.c:284 +msgid "ACL name must be a string" +msgstr "Назва ACL мусить бути рядком" + +#: dicod/main.c:286 +msgid "missing ACL name" +msgstr "відсутня назва ACL" + +#: dicod/main.c:292 +#, c-format +msgid "redefinition of ACL %s" +msgstr "перевизначення ACL %s" + +#: dicod/main.c:295 +msgid "location of the previous definition" +msgstr "це є місце попереднього визначення" + +#: dicod/main.c:311 dicod/main.c:315 +msgid "[all|authenticated|group ] [from ]" +msgstr "[all|authenticated|group <група: перелік>] [from <адреси: перелік>]" + +#: dicod/main.c:312 +msgid "Allow access" +msgstr "Дозволити доступ" + +#: dicod/main.c:316 +msgid "Deny access" +msgstr "Відмовити у доступі" + +#: dicod/main.c:336 dicod/main.c:747 dicod/main.c:822 +msgid "expected scalar value" +msgstr "очікувалася скалярна вартість" + +#: dicod/main.c:340 +#, c-format +msgid "no such ACL: `%s'" +msgstr "немає такого ACL: `%s'" + +#: dicod/main.c:363 dicod/main.c:465 dicod/main.c:507 dicod/main.c:670 +msgid "expected scalar value but found list" +msgstr "очікувалася скалярна вартість, але знайдено перелік" + +#: dicod/main.c:371 +#, c-format +msgid "not a valid UID number: %s" +msgstr "недійсний UID: %s" + +#: dicod/main.c:378 +#, c-format +msgid "%s: no such user" +msgstr "%s: немає такого користувача" + +#: dicod/main.c:426 +#, c-format +msgid "not a valid GID number: %s" +msgstr "недійсний GID: %s" + +#: dicod/main.c:433 +#, c-format +msgid "%s: unknown group" +msgstr "%s: невідома група" + +#: dicod/main.c:469 +msgid "unknown mode" +msgstr "невідомий режим" + +#: dicod/main.c:514 +msgid "unknown syslog facility" +msgstr "невідома назва устаткування системного журналу" + +#: dicod/main.c:533 dicod/main.c:559 +msgid "tag must be a string" +msgstr "ярлик має бути символьним рядком" + +#: dicod/main.c:535 dicod/main.c:561 +msgid "missing tag" +msgstr "ярлик відсутній" + +#: dicod/main.c:624 +msgid "database name not supplied" +msgstr "не вказано назву бази даних" + +#: dicod/main.c:630 +msgid "no handler defined for the database" +msgstr "немає назви обробника для цієї бази." + +#: dicod/main.c:648 grecs/src/tree.c:665 +msgid "invalid use of block statement" +msgstr "неправильне використання складного речення" + +#: dicod/main.c:675 dicod/loader.c:120 +#, c-format +msgid "cannot parse command line `%s': %s" +msgstr "не вдається розібрати командний рядок `%s': %s" + +#: dicod/main.c:691 +#, c-format +msgid "%s: handler not declared" +msgstr "обробник %s не заявлений" + +#: dicod/main.c:727 +#, c-format +msgid "unknown capability: %s" +msgstr "невідома здібність: %s" + +#: dicod/main.c:752 +#, c-format +msgid "cannot parse headers: %s" +msgstr "не вдається розібрати заголовки: %s" + +#: dicod/main.c:759 +#, c-format +msgid "unknown encoding type: %s" +msgstr "невідомий тип кодування: %s" + +#: dicod/main.c:766 dicod/main.c:840 dicod/main.c:844 dicod/main.c:849 +#: dicod/main.c:853 dicod/main.c:896 dicod/main.c:899 dicod/main.c:903 +#: dicod/main.c:1029 dicod/main.c:1318 dicod/main.c:1327 dicod/main.c:1330 +#: dicod/main.c:1332 dicod/main.c:1337 dicod/main.c:1346 dicod/main.c:1368 +#: dicod/main.c:1383 grecs/src/format.c:141 +msgid "arg" +msgstr "арг" + +#: dicod/main.c:766 +msgid "Command line." +msgstr "Командний рядок." + +#: dicod/main.c:798 +msgid "first argument must be string" +msgstr "перший елемент має бути рядком" + +#: dicod/main.c:804 +msgid "second argument must be string" +msgstr "другий елемент має бути рядком" + +#: dicod/main.c:812 +msgid "condition must be mime or nomime" +msgstr "умова має бути mime або nomime" + +#: dicod/main.c:837 +msgid "word" +msgstr "слово" + +#: dicod/main.c:837 +msgid "Dictionary name (a single word)." +msgstr "Назва словника (одне слово)." + +#: dicod/main.c:841 +msgid "Short description, to be shown in reply to SHOW DB command." +msgstr "Короткий опис, для використання у відповіді на SHOW DB." + +#: dicod/main.c:845 +msgid "" +"Full description of the database, to be shown in reply to SHOW INFO command." +msgstr "Повний опис бази, для використання у відповіді на SHOW INFO." + +#: dicod/main.c:850 +msgid "List of languages this database translates from." +msgstr "Перелік мов, переклади з яких містить ця база." + +#: dicod/main.c:854 +msgid "List of languages this database translates to." +msgstr "Перелік мов, переклади на які містить ця база." + +#: dicod/main.c:857 dicod/main.c:1023 dicod/main.c:1026 dicod/main.c:1302 +#: dicod/main.c:1305 dicod/main.c:1324 dicod/main.c:1343 dicod/main.c:1348 +#: dicod/main.c:1366 dicod/main.c:1380 +msgid "name" +msgstr "назва" + +#: dicod/main.c:857 +msgid "Name of the handler for this database." +msgstr "Назва обробника для цієї бази." + +#: dicod/main.c:860 dicod/main.c:1315 dicod/main.c:1387 dicod/main.c:1390 +msgid "arg: acl" +msgstr "арг: ACL" + +#: dicod/main.c:861 +msgid "ACL controlling visibility of this database" +msgstr "ACL що керує доступністю цієї бази" + +#: dicod/main.c:864 dicod/main.c:1312 dicod/main.c:1359 dicod/main.c:1362 +msgid "text" +msgstr "текст" + +#: dicod/main.c:865 +msgid "Additional MIME headers" +msgstr "Додаткові заголовки MIME" + +#: dicod/main.c:869 +msgid "bool" +msgstr "бул" + +#: dicod/main.c:870 +msgid "Set database visibility" +msgstr "Встановлює відочність бази даних" + +#: dicod/main.c:873 +msgid " [mime|nomime]" +msgstr "<назва: рядок> [mime|nomime]" + +#: dicod/main.c:874 +msgid "" +"For virtual database only: name of the member database. Optional mime|nomime " +"specifies the condition under which the database is to be used." +msgstr "" +"Лише для віртуальної бази даних: назва бази-члена. Необов'язковий параметр " +"mime|nomime всказує умову, за якої ця база використовується." + +#: dicod/main.c:896 +msgid "Password file or query." +msgstr "Запит що звертає пароль." + +#: dicod/main.c:900 +msgid "File containing user group information or a query to retrieve it." +msgstr "Файл з інформацією про групи користувачів, або запит що її повертає." + +#: dicod/main.c:904 +msgid "Implementation-dependent options" +msgstr "Опції залежні від імплементації" + +#: dicod/main.c:926 dicod/main.c:942 +msgid "URL must be a string" +msgstr "URL має бути символьним рядком" + +#: dicod/main.c:928 dicod/main.c:944 +msgid "empty URL" +msgstr "пустий URL" + +#: dicod/main.c:959 +msgid "cannot create user database" +msgstr "не вдається створити базу користувачів" + +#: dicod/main.c:981 +msgid "Not enough arguments for alias" +msgstr "Недостатньо аргументів для псевдоніму" + +#: dicod/main.c:988 +#, c-format +msgid "argument %d has wrong type" +msgstr "неправильний тип аргументу %d" + +#: dicod/main.c:1008 +msgid "expected boolean value but found list" +msgstr "очікувалось логічне значення, але знайдено перелік" + +#: dicod/main.c:1017 dicod/main.c:1020 +msgid "mech: list" +msgstr "механізми: перелік" + +#: dicod/main.c:1018 +msgid "Disable SASL mechanisms listed in ." +msgstr "Виключити механізми SASL." + +#: dicod/main.c:1021 +msgid "Enable SASL mechanisms listed in ." +msgstr "Включити механізми SASL." + +#: dicod/main.c:1024 +msgid "Set service name for GSSAPI and Kerberos." +msgstr "Встановити назву сервісу для GSSAPI та Kerberos." + +#: dicod/main.c:1027 +msgid "Set realm name for GSSAPI and Kerberos." +msgstr "Встановити назву області GSSAPI та Kerberos." + +#: dicod/main.c:1030 +msgid "Define groups for anonymous users." +msgstr "Окреслює групи анонімних користувачів" + +#: dicod/main.c:1069 +msgid "Section name must be a string" +msgstr "Назва секції має бути символьним рядком" + +#: dicod/main.c:1071 +msgid "missing section name" +msgstr "брак назви секції" + +#: dicod/main.c:1096 +msgid "Unexpected statement" +msgstr "Несподівана інструкція" + +#: dicod/main.c:1133 +msgid "Expected string value" +msgstr "очікувався рядок" + +#: dicod/main.c:1159 +msgid "expected list or string" +msgstr "несподіваний перелік рядків" + +#: dicod/main.c:1182 +msgid "Expected number" +msgstr "Очікувалось число" + +#: dicod/main.c:1253 +msgid "arg: bool" +msgstr "арг: бул" + +#: dicod/main.c:1253 +msgid "Deny all * and ! look ups" +msgstr "Відкидати всі спроби пошуків * та !" + +#: dicod/main.c:1257 +msgid "cond" +msgstr "умова" + +#: dicod/main.c:1257 +msgid "Deny * and ! look-ups on these words." +msgstr "Відкидати спроби пошуків * та ! з використанням цих слів." + +#: dicod/main.c:1262 dicod/main.c:1268 dicod/main.c:1274 dicod/main.c:1280 +#: dicod/main.c:1286 dicod/main.c:1292 +msgid "len: number" +msgstr "длина: число" + +#: dicod/main.c:1263 +msgid "Deny * and ! look-ups on words with length < ." +msgstr "Відкидати спроби пошуків * та ! з довжиною слова < ." + +#: dicod/main.c:1269 +msgid "Deny * and ! look-ups on words with length <= ." +msgstr "Відкидати спроби пошуків * та ! з довжиною слова <= ." + +#: dicod/main.c:1275 +msgid "Deny * and ! look-ups on words with length > ." +msgstr "Відкидати спроби пошуків * та ! з довжиною слова > ." + +#: dicod/main.c:1281 +msgid "Deny * and ! look-ups on words with length >= ." +msgstr "Відкидати спроби пошуків * та ! з довжиною слова >= ." + +#: dicod/main.c:1287 +msgid "Deny * and ! look-ups on words with length == ." +msgstr "Відкидати спроби пошуків * та ! з довжиною слова == ." + +#: dicod/main.c:1293 +msgid "Deny * and ! look-ups on words with length != ." +msgstr "Відкидати спроби пошуків * та ! з довжиною слова != ." + +#: dicod/main.c:1302 +msgid "Run with these user privileges." +msgstr "Після запуску встановити привілеї цього користувача." + +#: dicod/main.c:1306 +msgid "Supplementary group to retain with the user privileges." +msgstr "" +"Заховати вказану доповняльну групу після переходу до привілеїв користувача." + +#: dicod/main.c:1309 +msgid "arg: [daemon|inetd]" +msgstr "арг: [daemon|inetd]" + +#: dicod/main.c:1309 +msgid "Operation mode." +msgstr "Режим роботи." + +#: dicod/main.c:1313 +msgid "Server description to be shown in reply to SHOW SERVER command." +msgstr "Опис сервера, для використання у відповіді на SHOW SERVER." + +#: dicod/main.c:1316 +msgid "Show system information if arg matches." +msgstr "Показувати опис сервера, якщо ACL це дозволяє." + +#: dicod/main.c:1319 +msgid "Enable identification check using AUTH protocol (RFC 1413)" +msgstr "Увімкнути перевірку користувачів по протоколу AUTH (RFC 1413)" + +#: dicod/main.c:1321 +msgid "val" +msgstr "вартість" + +#: dicod/main.c:1322 +msgid "Set timeout for AUTH I/O operations." +msgstr "Встановлює час очікування для операцій вводу/виводу AUTH." + +#: dicod/main.c:1325 +msgid "Name of the file containing the keys for decrypting AUTH replies." +msgstr "Назва файлу що містить ключі для розшифровки відповідей AUTH." + +#: dicod/main.c:1328 +msgid "Maximum number of children running simultaneously." +msgstr "Максимальна кількість процесів-нащадків." + +#: dicod/main.c:1330 +msgid "Tag syslog diagnostics with this tag." +msgstr "Помічати діагностичні повідомлення цим ярликом." + +#: dicod/main.c:1333 +msgid "" +"Set syslog facility. Arg is one of the following: user, daemon, auth, " +"authpriv, mail, cron, local0 through local7 (case-insensitive), or a " +"facility number." +msgstr "" +"Встановити устаткування syslog. Дозволені значення аргументу: user, daemon, " +"auth, authpriv, mail, cron, local0 до local7 (всі незалежні од регістру " +"літер), або номер устаткування." + +#: dicod/main.c:1338 +msgid "Prefix diagnostics messages with their severity." +msgstr "Друкувати ступень поважності перед повідомленням." + +#: dicod/main.c:1340 +msgid "fmt" +msgstr "фмт" + +#: dicod/main.c:1341 +msgid "Set format string for access log file." +msgstr "Встановит рядок формату файлу журналювання доступів." + +#: dicod/main.c:1344 +msgid "Set access log file name." +msgstr "Встановлює назву файлу журналювання доступів." + +#: dicod/main.c:1346 +msgid "Log session transcript." +msgstr "Виведення протоколу сесії." + +#: dicod/main.c:1349 +msgid "Store PID of the master process in this file." +msgstr "Записати в цей файл PID головного процесу." + +#: dicod/main.c:1351 dicod/main.c:1354 +msgid "seconds" +msgstr "секунди" + +#: dicod/main.c:1352 +msgid "Wait this number of seconds for all children to terminate." +msgstr "Час очікування на завершення всіх процесів-нащадків." + +#: dicod/main.c:1355 +msgid "Set inactivity timeout." +msgstr "Встановити обмеження часу бездіяльності." + +#: dicod/main.c:1357 +msgid "addr" +msgstr "адреса" + +#: dicod/main.c:1357 +msgid "Listen on these addresses." +msgstr "Слухати мережу на цих адресах." + +#: dicod/main.c:1360 +msgid "Display this text in the initial 220 banner" +msgstr "Показати цей текст у запрошенні 220" + +#: dicod/main.c:1363 +msgid "" +"Display this text in reply to the HELP command. If text begins with a +, " +"usual command summary is displayed before it." +msgstr "" +"Показати цей текст у відповіді на команду HELP. Якщо текст починається " +"знаком +, він показується після стандартної довідки." + +#: dicod/main.c:1366 +msgid "Override the host name." +msgstr "Встановити назву вузла." + +#: dicod/main.c:1368 +msgid "Request additional capabilities." +msgstr "Запросити додаткові здібності." + +#: dicod/main.c:1371 dicod/main.c:1375 +msgid "path" +msgstr "стежка" + +#: dicod/main.c:1372 +msgid "List of directories searched for database modules." +msgstr "Перелік каталогів з модулями обслуговування баз." + +#: dicod/main.c:1376 +msgid "" +"List of directories searched for database modules prior to the default " +"module directory" +msgstr "" +"Перелік таких каталогів з модулями обслуговування баз, що переглядаються " +"перед типовим каталогом." + +#: dicod/main.c:1381 +msgid "Set the name of the default matching strategy." +msgstr "Встановити типову стратегію пошуку збігів." + +#: dicod/main.c:1384 +msgid "Provide timing information after successful completion of an operation." +msgstr "Показувати хронометраж після вдалого завершення команди." + +#: dicod/main.c:1388 +msgid "Set ACL to control visibility of all databases." +msgstr "Встановити ACL що керує доступністю всіх баз." + +#: dicod/main.c:1391 +msgid "Apply this ACL to incoming connections." +msgstr "Застосувати цей ACL до вхідних з'єднань." + +#: dicod/main.c:1393 +msgid "Define a dictionary database." +msgstr "Конфігурація бази даних." + +#: dicod/main.c:1397 dicod/main.c:1406 dicod/main.c:1412 dicod/main.c:1419 +msgid "name: string" +msgstr "назва: рядок" + +#: dicod/main.c:1398 +msgid "" +"Load a module instance.\n" +"If is the same as in command, it can be simplified as:\n" +" load-module ;\n" +"Furthermore, several simplified forms can be combined into one\n" +"by using a list of names as its argument, as in:\n" +" load-module (stratall,word);\n" +msgstr "" +"Завантажити екземпляр модуля.\n" +"Якщо <назва> співпадає з аргументом command, інструкцію можна\n" +"спростити таким чином:\n" +" load-module <назва: рядок>;\n" +"Кілька таких спрощених інструкцій можна записати як одну, використовуючи\n" +"перелік як її аргумент, наприклад:\n" +" load-module (stratall,word);\n" + +#: dicod/main.c:1406 +msgid "Define an ACL." +msgstr "Визначити ACL." + +#: dicod/main.c:1408 +msgid "url: string" +msgstr "url: рядок" + +#: dicod/main.c:1409 +msgid "Define user database for authentication." +msgstr "Визначає базу користувачів для автентифікації." + +#: dicod/main.c:1412 +msgid "Define a command alias." +msgstr "Встановлює псевдонім команди." + +#: dicod/main.c:1416 +msgid "Control SASL authentication." +msgstr "Керування автентифікацією SASL." + +#: dicod/main.c:1420 +msgid "Additional configuration for strategy " +msgstr "Додаткова конфігурація стратегії" + +#: dicod/main.c:1459 +msgid "" +"Configuration file structure for dicod.\n" +"For more information, use `info dico configuration'." +msgstr "" +"Структура файлу конфігурації dicod.\n" +"Щоб отримати докладну інформацію, скористайтеся командою\n" +"info dico configuration." + +#: dicod/main.c:1788 +msgid "unknown strategy" +msgstr "невідома стратегія" + +#: cmdline.opt:36 +msgid "Select program mode" +msgstr "Вибір режиму роботи" + +#: cmdline.opt:51 +msgid "preprocess configuration file and exit" +msgstr "зробити попередню обробку файлів та вийти" + +#: cmdline.opt:57 +msgid "check configuration file syntax and exit" +msgstr "перевірити синтаксис конфігураційного файлу та вийти" + +#: cmdline.opt:63 +msgid "inetd mode" +msgstr "запуск у режимі inetd" + +#: cmdline.opt:69 +msgid "" +"run unit tests for module; subsequent arguments are treated as module name " +"and unit test arguments; the -- marker introduces module initialization " +"arguments" +msgstr "" +"запуск тестів для модуля; вкажіть назву модуля та аргументи для тесту в " +"командному рядку; аргументи після -- будуть передані функції ініціалізації " +"модуля" + +#: cmdline.opt:63 +msgid "Modifiers" +msgstr "Модифікатори" + +#: cmdline.opt:79 +msgid "FILE" +msgstr "ФАЙЛ" + +#: cmdline.opt:79 +msgid "read this configuration file" +msgstr "читати конфігурацію з поданого файла" + +#: cmdline.opt:85 +msgid "operate in foreground" +msgstr "лишатися на передньому плані" + +#: cmdline.opt:91 +msgid "output diagnostic to stderr" +msgstr "друкувати діагностику на stderr" + +#: cmdline.opt:97 +msgid "output diagnostic to syslog (default)" +msgstr "журналювання через syslog (типово)" + +#: cmdline.opt:103 +msgid "single-process mode" +msgstr "запуск у режимі поодинокого процесу" + +#: cmdline.opt:109 cmdline.opt:179 +msgid "DIR" +msgstr "КАТАЛОГ" + +#: cmdline.opt:109 +msgid "prepend DIR to the module load path" +msgstr "додати КАТАЛОГ на початку переліку каталогів пошуку модулів" + +#: cmdline.opt:125 +msgid "disable session transcript" +msgstr "вимкнути протоколювання сесії" + +#: cmdline.opt:131 +msgid "set debug verbosity level" +msgstr "збільшити рівень детальності журналювання" + +#: cmdline.opt:144 +msgid "trace parsing of configuration file" +msgstr "трасування граматичного розбору конфігураційних файлів" + +#: cmdline.opt:150 +msgid "trace config file lexer" +msgstr "трасування лексичного розбору конфігураційних файлів" + +#: cmdline.opt:142 +msgid "Additional help" +msgstr "Додаткова допомога" + +#: cmdline.opt:158 +msgid "show configuration file summary" +msgstr "показати довідку по синтаксису конфігураційного файлу" + +#: cmdline.opt:151 +msgid "Preprocessor control" +msgstr "Керування препроцесором" + +#: cmdline.opt:167 +msgid "PROG" +msgstr "ПРОГРАМА" + +#: cmdline.opt:167 +msgid "use PROG as a preprocessor for config file" +msgstr "використовувати вказану програму як препроцесор конфігураційного файлу" + +#: cmdline.opt:173 +msgid "do not use external preprocessor" +msgstr "вимкнути використання зовнішнього препроцесора" + +#: cmdline.opt:179 +msgid "" +"add the directory DIR to the list of directories to be searched for " +"preprocessor include files" +msgstr "додати КАТАЛОГ до шляху пошуку файлів препроцесора" + +#: cmdline.opt:185 +msgid "SYMBOL[=VALUE]" +msgstr "СИМВОЛ[=ЗНАЧЕННЯ]" + +#: cmdline.opt:185 +msgid "define a preprocessor symbol" +msgstr "означити символ препроцесора" + +#: cmdline.opt:43 +msgid "GNU dictionary server" +msgstr "Словниковий сервер GNU" + +#: dicod/loader.c:38 +#, c-format +msgid "%s: faulty module: (%s) failed" +msgstr "%s: сбій завантаження модуля: (%s)" + +#: dicod/loader.c:67 +#, c-format +msgid "%s: initialization failed" +msgstr "%s: ініціалізація не вдалася" + +#: dicod/loader.c:83 +#, c-format +msgid "module %s already loaded" +msgstr "модуль %s вже завантажено" + +#: dicod/loader.c:96 +#, c-format +msgid "cannot load module %s: %s" +msgstr "неможливо завантажити модуль %s: %s" + +#: dicod/loader.c:505 +msgid "no module name" +msgstr "бракує назви модуля" + +#: dicod/loader.c:524 +msgid "module does not define dico_run_test function" +msgstr "у модулі нема функції dico_run_test" + +#: dicod/alias.c:68 +#, c-format +msgid "alias `%s' already defined" +msgstr "псевдонім %s вже означений" + +#: dicod/alias.c:70 +msgid "this is the location of the previous definition" +msgstr "ось місце попереднього визначення" + +#: dicod/server.c:103 +#, c-format +msgid "file %s exists but cannot be stat'd" +msgstr "файл %s існує, але stat на ньому не працює." + +#: dicod/server.c:110 +#, c-format +msgid "file %s is not a socket" +msgstr "файл %s не є гніздом" + +#: dicod/server.c:116 +#, c-format +msgid "cannot unlink file %s" +msgstr "не вдається видалити файл %s" + +#: dicod/server.c:131 +#, c-format +msgid "unsupported address family: %d" +msgstr "непідтримувана родина адрес: %d" + +#: dicod/server.c:163 +msgid "No sockets opened" +msgstr "Не відкрито жодного гнізда" + +#: dicod/server.c:206 +#, c-format +msgid "%lu exited successfully" +msgstr "%lu завершився успішно" + +#: dicod/server.c:211 +#, c-format +msgid "%lu timed out" +msgstr "%lu завершився по тайм-ауту" + +#: dicod/server.c:216 +#, c-format +msgid "%lu failed with status %d" +msgstr "%lu завершився з кодом %d" + +#: dicod/server.c:227 +#, c-format +msgid "%lu terminated on signal %d" +msgstr "%lu отримав сигнал %d" + +#: dicod/server.c:230 +#, c-format +msgid "%lu stopped on signal %d" +msgstr "%lu зупинено сигналом %d" + +#: dicod/server.c:234 +#, c-format +msgid "%lu dumped core" +msgstr "%lu скинув образ пам'яті" + +#: dicod/server.c:237 +#, c-format +msgid "%lu terminated with unrecognized status" +msgstr "%lu завершився з нерозпізнаним станом" + +#: dicod/server.c:305 +#, c-format +msgid "Cannot open pidfile `%s'" +msgstr "Не вдається відкрити файл PID `%s'" + +#: dicod/server.c:308 +#, c-format +msgid "Cannot get pid from pidfile `%s'" +msgstr "Не вдається прочитати PID з файлу `%s'" + +#: dicod/server.c:314 +#, c-format +msgid "%s appears to run with pid %lu. If it does not, remove `%s' and retry." +msgstr "" +"Виглядає на те що %s зараз виконується з PID %lu. Якщо ні, видаліть `%s' і " +"спробуйте ще раз." + +#: dicod/server.c:324 dicod/server.c:343 +#, c-format +msgid "Cannot unlink pidfile `%s'" +msgstr "Не вдається видалити файл PID `%s'" + +#: dicod/server.c:334 +#, c-format +msgid "Cannot create pidfile `%s'" +msgstr "Не вдається створити файл PID `%s'" + +#: dicod/server.c:402 +#, c-format +msgid "connection from %s denied" +msgstr "відмова у з'єднанні з %s" + +#: dicod/server.c:459 +msgid "fork failed" +msgstr "помилка створення процесу" + +#: dicod/server.c:475 +msgid "refusing to restart due to errors in configuration file" +msgstr "відміна запуску задля помилок у файлі конфігурації" + +#: dicod/server.c:481 +msgid "" +"refusing to restart due to unexpected return status of configuration checker" +msgstr "відміна перезапуску: перевірка конфігурації повернула неочікуваний код" + +#: dicod/server.c:489 +msgid "" +"refusing to restart: configuration checker did not exit within 5 seconds" +msgstr "відміна перезапуску: перевірка конфігурації не закінчилася за 5 секунд" + +#: dicod/server.c:498 +msgid "waitpid failed" +msgstr "виклик waitpid не вдався" + +#: dicod/server.c:499 +msgid "refusing to restart" +msgstr "відміна перезапуску" + +#: dicod/server.c:539 +#, c-format +msgid "too many children (%lu)" +msgstr "надто багато процесів-нащадків (%lu)" + +#: dicod/server.c:557 +msgid "select error" +msgstr "помилка функції select" + +#: dicod/server.c:585 +#, c-format +msgid "%s started" +msgstr "пуск %s" + +#: dicod/server.c:590 +msgid "not running as root: ignoring user/group settings" +msgstr "не маю прав суперкористувача: ігнорую налаштування user/group" + +#: dicod/server.c:603 +msgid "dicod started without full file name" +msgstr "dicod запущено без повної назви програми" + +#: dicod/server.c:604 dicod/server.c:608 +msgid "restart (SIGHUP) will not work" +msgstr "перезапускання (SIGHUP) не працюватиме" + +#: dicod/server.c:607 +msgid "configuration file is not given with a full file name" +msgstr "файл конфігурації поданий без повної назви" + +#: dicod/server.c:615 +msgid "Cannot become a daemon" +msgstr "Не вдається перейти у фоновий режим" + +#: dicod/server.c:632 +#, c-format +msgid "Exit code = %d, last error status" +msgstr "Код завершення = %d, останній код помилки" + +#: dicod/server.c:640 +#, c-format +msgid "%s restarting" +msgstr "перезапуск %s" + +#: dicod/server.c:644 +msgid "Cannot restart" +msgstr "Не вдається перезапустити" + +#: dicod/server.c:646 +#, c-format +msgid "%s terminating" +msgstr "завершення %s" + +#: dicod/ident.c:200 +msgid "Incorrect length of IDENT DES packet" +msgstr "Неправильна довжина пакету IDENT DES" + +#: dicod/ident.c:207 +#, c-format +msgid "Cannot open file %s" +msgstr "Неможливо відкрити файл %s" + +#: dicod/ident.c:388 +msgid "cannot create socket for AUTH identification" +msgstr "не вдається створити гніздо для автентифікації AUTH" + +#: dicod/ident.c:400 +msgid "cannot bind AUTH socket" +msgstr "не вдається прив'язати гніздо AUTH" + +#: dicod/ident.c:413 dicod/ident.c:464 +#, c-format +msgid "cannot connect to AUTH server %s" +msgstr "неможливо з'єднатися з сервером AUTH %s" + +#: dicod/ident.c:437 +#, c-format +msgid "Malformed IDENT response: `%s', from %s" +msgstr "Хибна відповідь IDENT: `%s', від %s" + +#: dicod/ident.c:442 +msgid "" +"Keyfile for AUTH responses not specified in config; use `ident-keyfile FILE'" +msgstr "" +"В конфігурації бракує файлу ключів для відповідей AUTH; використовуйте " +"`ident-keyfile FILE'" + +#: dicod/ident.c:458 +#, c-format +msgid "failure while communicating with AUTH server %s" +msgstr "помилка спілкування з сервером AUTH %s" + +#: dicod/ident.c:469 +#, c-format +msgid "no reply from AUTH server %s" +msgstr "сервера AUTH %s не відповідає" + +#: dicod/ident.c:475 +#, c-format +msgid "I/O error while communicating with AUTH server %s" +msgstr "помилка вводу/виводу під час спілкування з сервером AUTH %s" + +#: dicod/accesslog.c:487 +#, c-format +msgid "log format error (near char %td): missing terminating `}'" +msgstr "помилка формату (біля позиції %td): бракує кінцевого `}'" + +#: dicod/accesslog.c:502 +#, c-format +msgid "log format error (near char %td): unknown format char `%c'" +msgstr "помилка формату (біля позиції %td): невідомий знак формату `%c'" + +#: dicod/accesslog.c:510 +#, c-format +msgid "" +"log format warning (near char %td): format char `%c' does not take arguments" +msgstr "" +"помилка формату (біля позиції %td): знак формату `%c' не приймає аргументів" + +#: dicod/accesslog.c:553 +#, c-format +msgid "cannot open access log file `%s'" +msgstr "не вдається відкрити файл журналу `%s'" + +#: dicod/gsasl.c:84 +#, c-format +msgid "Unexpected input instead of SASLRESP command: %s" +msgstr "Неочікуваний ввід замість команди SASLRESP: %s" + +#: dicod/gsasl.c:123 +#, c-format +msgid "SASL gsasl_server_start: %s" +msgstr "SASL gsasl_server_start: %s" + +#: dicod/gsasl.c:163 +#, c-format +msgid "GSASL %s: cannot get username" +msgstr "GSASL %s: не вдається отримати ім'я користувача" + +#: dicod/gsasl.c:269 +msgid "user name not supplied" +msgstr "не вказано імені користувача" + +#: dicod/gsasl.c:333 +#, c-format +msgid "cannot initialize libgsasl: %s" +msgstr "не вдається ініціалізувати libgsasl: %s" + +#: modules/dict.org/dictorg.c:83 +#, c-format +msgid "mod_init: cannot stat `%s'" +msgstr "mod_init: не вдається виконати stat `%s'" + +#: modules/dict.org/dictorg.c:88 +#, c-format +msgid "mod_init: `%s' is not a directory" +msgstr "mod_init: `%s' не є каталогом" + +#: modules/dict.org/dictorg.c:93 +#, c-format +msgid "mod_init: `%s' is not readable" +msgstr "mod_init: `%s' не можна прочитати" + +#: modules/dict.org/dictorg.c:248 +#, c-format +msgid "%s:%lu: invalid base64 value: `%.*s'" +msgstr "%s:%lu: недійсна вартість base64: `%.*s'" + +#: modules/dict.org/dictorg.c:263 +#, c-format +msgid "%s:%lu: malformed entry" +msgstr "%s:%lu: невірно сформований елемент" + +#: modules/dict.org/dictorg.c:302 +#, c-format +msgid "open_index: cannot stat `%s'" +msgstr "open_index: не вдається виконати stat `%s'" + +#: modules/dict.org/dictorg.c:306 +#, c-format +msgid "open_index: `%s' is not a regular file" +msgstr "open_index: `%s' не є звичайним файлом" + +#: modules/dict.org/dictorg.c:315 modules/dict.org/dictorg.c:412 +#: modules/gcide/gcide.c:316 modules/gcide/gcide.c:725 +#, c-format +msgid "cannot create stream `%s'" +msgstr "не вдається створити потік `%s'" + +#: modules/dict.org/dictorg.c:321 modules/dict.org/dictorg.c:420 +#: modules/gcide/gcide.c:323 modules/gcide/gcide.c:732 +#, c-format +msgid "cannot open stream `%s': %s" +msgstr "неможливо відкрити потік `%s': %s" + +#: modules/dict.org/dictorg.c:430 +#, c-format +msgid "cannot open stream for dictionary `%s'" +msgstr "неможливо відкрити потік словника `%s'" + +#: modules/dict.org/dictorg.c:458 +#, c-format +msgid "mod_init_db(%s): database name not given" +msgstr "mod_init_db(%s): не вказано назви бази даних" + +#: modules/dict.org/dictorg.c:468 +#, c-format +msgid "mod_init_db: `%s' is not an absolute file name" +msgstr "mod_init_db: %s не є повним ім'ям файлу" + +#: modules/dict.org/dictorg.c:508 +#, c-format +msgid "mod_init_db(%s): index files in old 8-bit format are not supported" +msgstr "" +"mod_init_db(%s): індексний файл в старому форматі 8-біт не підтримується" + +#: modules/dict.org/dictorg.c:810 modules/dict.org/dictorg.c:993 +#: modules/gcide/gcide.c:756 +#, c-format +msgid "%s: read error: %s" +msgstr "%s: помилка читання: %s" + +#: modules/dict.org/dictorg.c:904 +msgid "_match_all: key initialization failed" +msgstr "_match_all: помилка ініціалізації ключа" + +#: modules/dict.org/dictorg.c:983 +#, c-format +msgid "%s: seek error: %s" +msgstr "%s: помилка позиціонування: %s" + +#: modules/dict.org/dictstr.c:176 +#, c-format +msgid "cannot initialize inflation engine: %s" +msgstr "не вдається ініціалізувати машину декомпресії: %s" + +#: modules/dict.org/dictstr.c:198 +#, c-format +msgid "%s:%d: INTERNAL ERROR: inflate did not flush (%d pending, %d avail)" +msgstr "" +"%s:%d: ВНУТРІШНЯ ПОМИЛКА: декомпресія не записала дані (%d у черзі, %d " +"доступно)" + +#: modules/dict.org/dictstr.c:286 +#, c-format +msgid "%s:%d: INTERNAL ERROR: cannot shut down inflation engine: %s" +msgstr "%s:%d: ВНУТРІШНЯ ПОМИЛКА: не вдається зупинити машину декомпресії: %s" + +#: modules/dict.org/dictstr.c:437 +#, c-format +msgid "file position (%lu) != header length + 1 (%lu)" +msgstr "позиція у файлі (%lu) != довжині заголовка + 1 (%lu)" + +#: modules/dict.org/dictstr.c:475 +msgid "unknown dictionary format" +msgstr "невідомий формат словника" + +#: modules/dict.org/dictstr.c:478 +msgid "unsupported dictionary format" +msgstr "непідтримуваний формат словника" + +#: modules/dict.org/dictstr.c:481 +msgid "unsupported dictionary version" +msgstr "ця версія словника не підтримується" + +#: modules/dict.org/dictstr.c:484 +msgid "malformed header" +msgstr "невірно сформований заголовок" + +#: modules/dict.org/dictstr.c:487 +msgid "cannot seek on pure gzip format files" +msgstr "неможливо позиціонувати у чистому форматі gzip" + +#: modules/dict.org/dictstr.c:490 +msgid "error decompressing stream" +msgstr "помилка декомпресії потоку" + +#: modules/guile/guile.c:151 +#, c-format +msgid "%s: not enough memory" +msgstr "%s: недостатньо пам'яті" + +#: modules/guile/guile.c:164 +#, c-format +msgid "%s: invalid return type" +msgstr "%s: недійсний код завершення" + +#: modules/guile/guile.c:184 +#, c-format +msgid "procedure `%s' failed: see error output for details" +msgstr "Процедура '%s' не вдалася: деталі подані до виводу помилок" + +#: modules/guile/guile.c:735 +#, c-format +msgid "%s: %s: unknown virtual function" +msgstr "%s: %s: невідома віртуальна функція" + +#: modules/guile/guile.c:794 +msgid "mod_init: cannot initialize error port" +msgstr "mod_init: не вдається ініціалізувати порт виводу помилок" + +#: modules/guile/guile.c:802 modules/guile/guile.c:836 +#, c-format +msgid "mod_init: cannot load init script %s" +msgstr "mod_init: не вдається завантажити файл ініціалізації %s" + +#: modules/guile/guile.c:862 +#, c-format +msgid "%s: %s: void virtual function" +msgstr "%s: %s: пуста віртуальна функція" + +#: modules/guile/guile.c:1084 +msgid "mod_match: key initialization failed" +msgstr "mod_match: помилка ініціалізації ключа" + +#: modules/outline/outline.c:476 +msgid "outline_open: wrong number of arguments" +msgstr "outline_open: невірна кількість аргументів" + +#: modules/outline/outline.c:482 modules/gcide/idxgcide.l:269 +#, c-format +msgid "cannot open file %s" +msgstr "неможливо відкрити файл %s" + +#: modules/outline/outline.c:642 +msgid "outline_lang: not enough memory" +msgstr "outline_lang: недостатньо пам'яті" + +#: modules/outline/outline.c:681 +msgid "outline_match_all: not enough memory" +msgstr "outline_match_all: недостатньо пам'яті" + +#: modules/outline/outline.c:686 +msgid "outline_match_all: key initialization failed" +msgstr "outline_match_all: помилка ініціалізації ключа" + +#: modules/ldap/ldap.c:60 +#, c-format +msgid "cannot set LBER_OPT_DEBUG_LEVEL %d" +msgstr "не вдалося встановити LBER_OPT_DEBUG_LEVEL %d" + +#: modules/ldap/ldap.c:65 +#, c-format +msgid "could not set LDAP_OPT_DEBUG_LEVEL %d" +msgstr "не вдалося встановити LDAP_OPT_DEBUG_LEVEL %d" + +#: modules/ldap/ldap.c:73 +#, c-format +msgid "cannot create LDAP session handle for URI=%s (%d): %s" +msgstr "не вдалося створити дескриптор сесії LDAP для URI=%s (%d): %s" + +#: modules/ldap/ldap.c:81 +#, c-format +msgid "ldap_start_tls failed: %s" +msgstr "помилка ldap_start_tls: %s" + +#: modules/ldap/ldap.c:199 +#, c-format +msgid "cannot parse options `%s': %s" +msgstr "не вдається розібрати опції `%s': %s" + +#: modules/ldap/ldap.c:215 +msgid "cannot allocate handle" +msgstr "брак пам'яті для створення дескриптора" + +#: modules/ldap/ldap.c:255 +#, c-format +msgid "cannot expand query `%s': %s" +msgstr "неможливо розширити запит `%s': %s" + +#: modules/gcide/gcide.c:85 +#, c-format +msgid "gcide: cannot stat `%s'" +msgstr "gcide: не вдається виконати stat `%s'" + +#: modules/gcide/gcide.c:89 +#, c-format +msgid "gcide: `%s' is not a directory" +msgstr "gcide: `%s' не є каталогом" + +#: modules/gcide/gcide.c:93 modules/gcide/gcide.c:158 +#, c-format +msgid "gcide: `%s' is not readable" +msgstr "gcide: `%s' не можна прочитати" + +#: modules/gcide/gcide.c:113 +#, c-format +msgid "gcide_open_idx: creating index %s" +msgstr "gcide_open_idx: створення індексу %s" + +#: modules/gcide/gcide.c:116 +#, c-format +msgid "gcide_open_idx: cannot run %s" +msgstr "gcide_open_idx: не вдається виконати stat `%s'" + +#: modules/gcide/gcide.c:125 +msgid "gcide_open_idx: fork failed" +msgstr "gcide_open_idx: помилка fork" + +#: modules/gcide/gcide.c:129 modules/gcide/gcide.c:134 +#, c-format +msgid "gcide_open_idx: %s failed" +msgstr "gcide_open_idx: помилка %s" + +#: modules/gcide/gcide.c:141 +#, c-format +msgid "gcide_open_idx: %s exited with status %d" +msgstr "gcide_open_idx: %s завершився з кодом %d" + +#: modules/gcide/gcide.c:162 modules/gcide/gcide.c:182 +#, c-format +msgid "gcide: can't stat `%s'" +msgstr "gcide: не вдається виконати stat `%s'" + +#: modules/gcide/gcide.c:188 +msgid "gcide: index file older than database, reindexing" +msgstr "gcide: індекс старіший за базу даних: переіндексація" + +#: modules/gcide/gcide.c:190 +#, c-format +msgid "gcide_open_idx: cannot access %s" +msgstr "gcide_open_idx: не вдається виконати stat `%s'" + +#: modules/gcide/gcide.c:249 +msgid "gcide_init_db: database directory not given" +msgstr "gcide_init_db: не вказано каталогу бази даних" + +#: modules/gcide/gcide.c:335 modules/gcide/gcide.c:354 +#, c-format +msgid "read error in stream `%s': %s" +msgstr "помилка читання з потоку `%s': %s" + +#: modules/gcide/gcide.c:344 +#, c-format +msgid "cannot get size of stream `%s': %s" +msgstr "неможливо встановити розмір потоку `%s': %s" + +#: modules/gcide/gcide.c:351 +msgid "cannot allocate dictionary information buffer" +msgstr "неможливо відвести пам'ять для буфера інформації про словник" + +#: modules/gcide/gcide.c:518 modules/wordnet/wordnet.c:617 +#, c-format +msgid "%s: key initialization failed" +msgstr "%s: ініціалізація ключа не вдалася" + +#: modules/gcide/gcide.c:742 +#, c-format +msgid "seek error on `%s' while positioning to %lu: %s" +msgstr "помилка пошуку у `%s', зсув %lu: %s" + +#: modules/gcide/idx.c:68 +#, c-format +msgid "error reading from `%s'" +msgstr "помилка читання з `%s'" + +#: modules/gcide/idx.c:71 +#, c-format +msgid "short read while reading from `%s'" +msgstr "прочитано недостатньо даних з `%s'" + +#: modules/gcide/idx.c:91 +#, c-format +msgid "file `%s' is not a valid gcide index file" +msgstr "файл `%s' не є дійсним індексним файлом gcide" + +#: modules/gcide/idx.c:103 +#, c-format +msgid "index file `%s' is corrupted" +msgstr "індексний файл `%s' пошкоджений" + +#: modules/gcide/idx.c:128 +#, c-format +msgid "cannot open index file `%s'" +msgstr "не вдається відкрити індексний файл `%s'" + +#: modules/gcide/idx.c:246 +#, c-format +msgid "seek error on `%s' while positioning to %lu" +msgstr "помилка пошуку у `%s', зсув %lu" + +#: modules/gcide/idxgcide-cli.opt:62 +#, c-format +msgid "not a valid size: %s" +msgstr "неправильний розмір: %s" + +#: modules/gcide/idxgcide.l:77 +msgid "page too small, aborting" +msgstr "за малий розмір сторінки; закінчення" + +#: modules/gcide/idxgcide.l:120 +msgid "Sorting references" +msgstr "Сортування посилань" + +#: modules/gcide/idxgcide.l:124 +msgid "Writing references" +msgstr "Запис посилань" + +#: modules/gcide/idxgcide.l:217 +#, c-format +msgid "%s:%u: unknown or illegible character in a headword" +msgstr "%s:%u: невідомий або нерозбірливий знак у гніздовому слові" + +#: modules/gcide/idxgcide.l:221 +#, c-format +msgid "%s:%u: unrecognized entity: %s" +msgstr "%s:%u: нерозпізнана сутність: %s" + +#: modules/gcide/idxgcide.l:236 +#, c-format +msgid "%s:%u: unknown character sequence %s" +msgstr "%s:%u: нерозпізнана послідовність знаків: %s" + +#: modules/gcide/idxgcide.l:266 +#, c-format +msgid "Indexing %s" +msgstr "Індексування %s" + +#: modules/gcide/idxgcide.l:302 +msgid "page size too small" +msgstr "за малий розмір сторінки" + +#: modules/gcide/idxgcide.l:311 +msgid "bad number of arguments" +msgstr "невірна кількість аргументів" + +#: modules/gcide/idxgcide.l:335 +#, c-format +msgid "cannot create index file `%s'" +msgstr "не вдається створити індексний файл `%s'" + +#: modules/gcide/idxgcide.l:356 +#, c-format +msgid "headwords=%lu, definitions=%lu, refs per page=%lu, pages=%lu" +msgstr "" +"гніздових слів=%lu, дефініцій=%lu, посилань на сторінку=%lu, сторінок=%lu" + +#: modules/gcide/markup.l:148 +#, c-format +msgid "cannot parse line %.*s: %s" +msgstr "не вдається розібрати рядок %.*s: %s" + +#: modules/gcide/markup.l:300 +#, c-format +msgid "%u: unrecognized entity: %s" +msgstr "%u: нерозпізнана сутність: %s" + +#: modules/gcide/markup.l:312 +#, c-format +msgid "%u: unknown character sequence %s" +msgstr "%u: нерозпізнана послідовність знаків: %s" + +#: modules/wordnet/wordnet.c:79 +msgid "cannot open wordnet database" +msgstr "не вдається відкрити базу даних wordnet" + +#: modules/wordnet/wordnet.c:232 +#, c-format +msgid "wordnet: unknown option %s" +msgstr "wordnet: невідома опція %s" + +#: modules/wordnet/wordnet.c:239 +#, c-format +msgid "wordnet: option %s is not yet supported" +msgstr "wordnet: опція %s ще не обслуговується" + +#: grecs/src/cidr.c:129 grecs/src/cidr.c:179 grecs/src/cidr.c:186 +#, c-format +msgid "invalid network mask: %s" +msgstr "недійсна маска мережі: %s" + +#: grecs/src/cidr.c:142 grecs/src/cidr.c:149 grecs/src/cidr.c:160 +#, c-format +msgid "unrecognized address family: %s" +msgstr "непідтримувана родина адрес: %s" + +#: grecs/src/cidr.c:153 +#, c-format +msgid "invalid network address: %s" +msgstr "недійсна маска мережі: %s" + +#: grecs/src/format.c:33 +msgid "void" +msgstr "" + +#: grecs/src/format.c:36 grecs/src/tree.c:69 +#, fuzzy +msgid "string" +msgstr "url: рядок" + +#: grecs/src/format.c:46 +#, fuzzy +msgid "number" +msgstr "длина: число" + +#: grecs/src/format.c:49 +msgid "time" +msgstr "" + +#: grecs/src/format.c:52 +#, fuzzy +msgid "boolean" +msgstr "бул" + +#: grecs/src/format.c:55 +msgid "IPv4" +msgstr "" + +#: grecs/src/format.c:58 +msgid "CIDR" +msgstr "" + +#: grecs/src/format.c:61 +#, fuzzy +msgid "hostname" +msgstr "назва" + +#: grecs/src/format.c:64 +#, fuzzy +msgid "sockaddr" +msgstr "адреса" + +#: grecs/src/format.c:67 +#, fuzzy +msgid "section" +msgstr "Вибір сервера" + +#: grecs/src/format.c:70 +msgid "null" +msgstr "" + +#: grecs/src/format.c:133 +msgid "Disabled;" +msgstr "Виключений" + +#: grecs/src/grecs-lex.l:186 +#, c-format +msgid "stray character %c" +msgstr "неочікуваний знак %c" + +#: grecs/src/grecs-lex.l:189 +#, c-format +msgid "stray character \\%03o" +msgstr "неочікуваний знак \\%03o" + +#: grecs/src/grecs-lex.l:219 grecs/src/preproc.c:480 +#, c-format +msgid "Cannot open `%s'" +msgstr "Не вдається відкрити `%s'" + +#: grecs/src/grecs-lex.l:227 grecs/src/preproc.c:698 +#, c-format +msgid "Unable to start external preprocessor `%s'" +msgstr "Не вдається запустити зовнішній препроцесор `%s'" + +#: grecs/src/grecs-lex.l:394 grecs/src/grecs-lex.l:431 +#, c-format +msgid "cannot parse #line line: %s" +msgstr "не вдається розібрати рядок #line: %s" + +#: grecs/src/grecs-lex.l:415 grecs/src/grecs-lex.l:435 +msgid "invalid #line statement" +msgstr "невірне речення #line" + +#: grecs/src/grecs-lex.l:418 grecs/src/grecs-lex.l:439 +msgid "malformed #line statement" +msgstr "невірно сформоване речення #line" + +#: grecs/src/lineacc.c:70 +#, c-format +msgid "unknown escape sequence: '\\%c'" +msgstr "нерозпізнана послідовність знаків: '\\%c'" + +#: grecs/src/opthelp.c:123 grecs/src/opthelp.c:269 +msgid "Usage:" +msgstr "Використання:" + +#: grecs/src/opthelp.c:127 +msgid "OPTION" +msgstr "ОПЦІЯ" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Aliases" +msgstr "Аліаси" + +#: grecs/src/opthelp.c:132 grecs/src/opthelp.c:427 +msgid "Alias" +msgstr "Аліас" + +#: grecs/src/opthelp.c:186 +msgid "" +"Mandatory or optional arguments to long options are also mandatory or " +"optional for any corresponding short options." +msgstr "" +"Аргументи, обов'язкові для довгих ключів, є обов'язковими й для відповідних " +"коротких." + +#. TRANSLATORS: The placeholder indicates the bug-reporting +#. address for this package. Please add _another line_ saying +#. "Report translation bugs to <...>\n" with the address for +#. translation bugs (typically your translation team's web or +#. email address). +#: grecs/src/opthelp.c:202 +#, c-format +msgid "Report bugs to %s.\n" +msgstr "Про помилки звітуйте на %s.\n" + +#: grecs/src/opthelp.c:205 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "домашня сторінка %s: <%s>\n" + +#. TRANSLATORS: Translate "(C)" to the copyright symbol +#. (C-in-a-circle), if this symbol is available in the user's +#. locale. Otherwise, do not translate "(C)"; leave it as-is. +#: grecs/src/opthelp.c:457 +msgid "(C)" +msgstr "(C)" + +#: grecs/src/opthelp.c:466 +msgid "" +"License GPLv3+: GNU GPL version 3 or later \n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +"\n" +msgstr "" +"Ліцензія GPLv3+: GNU GPL версії 3 або пізнішої \n" +"Це є вільне програмне забезпечення: ви можете змінювати та розповсюджувати " +"його.\n" +"Немає ЖОДНИХ ГАРАНТІЙ, в межах дозволених правом.\n" +"\n" + +#: grecs/src/opthelp.c:483 +msgid "Written by " +msgstr "Автор: " + +#. TRANSLATORS: This string is used as a delimiter between +#. authors' names as in: +#. +#. Written by Winnie the Pooh, Piglet ... +#. +#: grecs/src/opthelp.c:489 +msgid ", " +msgstr ", " + +#. TRANSLATORS: This string acts as a delimiter before the +#. last author's names, e.g.: +#. +#. Written by Winnie the Pooh, Piglet and Christopher Robin. +#. +#: grecs/src/opthelp.c:495 +msgid " and " +msgstr " i " + +#: grecs/src/path-parser.c:62 +#, c-format +msgid "cannot open `%s'" +msgstr "не вдається відкрити `%s'" + +#: grecs/src/path-parser.c:108 grecs/src/path-parser.c:123 +msgid "unexpected end of file" +msgstr "несподіваний кінець файла" + +#: grecs/src/path-parser.c:143 +msgid "parse error" +msgstr "помилка розбору" + +#: grecs/src/preproc.c:448 grecs/src/preproc.c:470 +#, c-format +msgid "Cannot stat `%s'" +msgstr "Не вдається виконати stat `%s'" + +#: grecs/src/preproc.c:453 grecs/src/preproc.c:458 +msgid "Recursive inclusion" +msgstr "Рекурсивне включення" + +#: grecs/src/preproc.c:461 +#, c-format +msgid "`%s' already included here" +msgstr "`%s' вже включений тут" + +#: grecs/src/preproc.c:465 +#, c-format +msgid "`%s' already included at top level" +msgstr "`%s' вже включений на вищому рівні" + +#: grecs/src/preproc.c:595 +msgid "Cannot parse include line" +msgstr "Не вдається розібрати рядок включення файлу" + +#: grecs/src/preproc.c:598 +msgid "invalid include statement" +msgstr "невірна інструкція включення файлу" + +#: grecs/src/preproc.c:624 +msgid "read error" +msgstr "помилка читання" + +#: grecs/src/preproc.c:632 +#, c-format +msgid "%s: No such file or directory" +msgstr "%s: немає такого файлу або каталогу" + +#: grecs/src/preproc.c:773 grecs/src/preproc.c:793 +#, c-format +msgid "Cannot run `%s'" +msgstr "Не вдається виконати `%s'" + +#: grecs/src/sockaddr.c:67 +#, c-format +msgid "socket path name too long: %s" +msgstr "надто довга назва гнізда: %s" + +#: grecs/src/sockaddr.c:120 +#, c-format +msgid "%s: garbage near %s" +msgstr "%s: сміття біля %s" + +#: grecs/src/sockaddr.c:159 +#, c-format +msgid "service not specified: %s" +msgstr "не вказано сервіс: %s" + +#: grecs/src/sockaddr.c:176 +#, c-format +msgid "%s: cannot parse address: %s" +msgstr "%s: не вдається розібрати адресу: %s" + +#: grecs/src/sockaddr.c:269 +#, c-format +msgid "unknown or unsupported scheme: %s" +msgstr "невідома або непідтримувана схема: %s" + +#: grecs/src/sockaddr.c:278 +#, c-format +msgid "%s: UNIX socket must be an absolute file name" +msgstr "%s: гніздо UNIX повинно бути повний шляхом до файла" + +#: grecs/src/symtab.c:236 +msgid "element not found in table" +msgstr "елемент в таблиці не знайдено" + +#: grecs/src/symtab.c:238 +msgid "symbol table is full" +msgstr "таблиця символів заповнена" + +#: grecs/src/tree.c:70 +msgid "list" +msgstr "" + +#: grecs/src/tree.c:71 +#, fuzzy +msgid "one or more arguments" +msgstr "забагато аргументів" + +#: grecs/src/tree.c:75 +msgid "unrecognized type; please report" +msgstr "" + +#: grecs/src/tree.c:320 +msgid "section keyword used as a scalar" +msgstr "" + +#: grecs/src/tree.c:322 +msgid "scalar keyword used as a section" +msgstr "" + +#: grecs/src/tree.c:325 +#, fuzzy +msgid "unknown keyword" +msgstr "Невідоме ключове слово" + +#: grecs/src/tree.c:360 +#, c-format +msgid "%s: not a valid boolean value" +msgstr "%s: не є дійсним логічним значенням" + +#: grecs/src/tree.c:420 grecs/src/tree.c:644 +#, c-format +msgid "%s: not a valid IP address or hostname" +msgstr "%s: невірна IP адреса або назва хосту" + +#: grecs/src/tree.c:444 +#, c-format +msgid "%s: not a valid port number" +msgstr "%s: недійсний номер порту" + +#: grecs/src/tree.c:452 +msgid "missing port number" +msgstr "відсутній номер порту" + +#: grecs/src/tree.c:501 +msgid "numeric overflow" +msgstr "арифметичне переповнення" + +#: grecs/src/tree.c:506 +msgid "value out of allowed range" +msgstr "число поза допустимими межами" + +#: grecs/src/tree.c:541 grecs/src/tree.c:571 +#, c-format +msgid "not a number (stopped near `%s')" +msgstr "не число (зупинка біля `%s')" + +#: grecs/src/tree.c:635 +#, c-format +msgid "%s: not a valid IP address" +msgstr "%s: недійсна IP адреса" + +#: grecs/src/tree.c:774 +#, c-format +msgid "too many arguments to `%s'; missing semicolon?" +msgstr "Забагато аргументів для `%s'; брак точки з комою?" + +#: grecs/src/tree.c:788 grecs/src/tree.c:836 +#, c-format +msgid "INTERNAL ERROR at %s:%d: unhandled data type %d" +msgstr "ВНУТРІШНЯ ПОМИЛКА в %s:%d: тип даних %d не обслуговується" + +#: grecs/src/tree.c:803 +#, c-format +msgid "%s: incompatible data type in list item #%d" +msgstr "%s: несумісний тип даних в елементі переліку #%d" + +#: grecs/src/tree.c:823 +#, c-format +msgid "incompatible data type for `%s'" +msgstr "несумісний тип даних для `%s'" + +#: grecs/wordsplit/wordsplit.c:130 +msgid "memory exhausted while trying to store error context" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:881 +msgid "Restarting" +msgstr "Перезапуск" + +#: grecs/wordsplit/wordsplit.c:1607 +#, c-format +msgid "%.*s: variable null or not set" +msgstr "%.*s змінна є пуста або неозначена" + +#: grecs/wordsplit/wordsplit.c:1637 +#, c-format +msgid "warning: undefined variable `%.*s'" +msgstr "попередження: неозначена змінна `%.*s'" + +#: grecs/wordsplit/wordsplit.c:2138 +#, c-format +msgid "no files match pattern %s" +msgstr "жоден файл не збігається з шаблоном %s" + +#: grecs/wordsplit/wordsplit.c:2599 +msgid "WS trimming" +msgstr "усування пробілів" + +#: grecs/wordsplit/wordsplit.c:2601 +msgid "command substitution" +msgstr "підставлення команд" + +#: grecs/wordsplit/wordsplit.c:2603 grecs/wordsplit/wordsplit.c:2611 +msgid "coalesce list" +msgstr "з'єднання переліків" + +#: grecs/wordsplit/wordsplit.c:2605 +msgid "tilde expansion" +msgstr "розширення тильд" + +#: grecs/wordsplit/wordsplit.c:2607 +msgid "variable expansion" +msgstr "розширення змінних" + +#: grecs/wordsplit/wordsplit.c:2609 +msgid "quote removal" +msgstr "усування лапок" + +#: grecs/wordsplit/wordsplit.c:2613 +msgid "path expansion" +msgstr "розширення стежок" + +#: grecs/wordsplit/wordsplit.c:2638 +#, c-format +msgid "(%02d) Input:%.*s;" +msgstr "(%02d) Вхід:%.*s;" + +#: grecs/wordsplit/wordsplit.c:2664 +msgid "Initial list:" +msgstr "Початковий перелік:" + +#: grecs/wordsplit/wordsplit.c:2679 +msgid "Coalesced list:" +msgstr "Поєднаний перелік:" + +#: grecs/wordsplit/wordsplit.c:2849 +msgid "no error" +msgstr "Немає помилки" + +#: grecs/wordsplit/wordsplit.c:2850 +msgid "missing closing quote" +msgstr "брак закриваючої лапки" + +#: grecs/wordsplit/wordsplit.c:2852 +msgid "invalid wordsplit usage" +msgstr "неправильне використання wordsplit" + +#: grecs/wordsplit/wordsplit.c:2853 +msgid "unbalanced curly brace" +msgstr "незбалансована фігурна дужка" + +#: grecs/wordsplit/wordsplit.c:2854 +msgid "undefined variable" +msgstr "неозначена змінна" + +#: grecs/wordsplit/wordsplit.c:2855 +msgid "input exhausted" +msgstr "пам'ять вичерпано" + +#: grecs/wordsplit/wordsplit.c:2856 +msgid "unbalanced parenthesis" +msgstr "незбалансовані дужки" + +#: grecs/wordsplit/wordsplit.c:2857 +msgid "globbing error" +msgstr "помилка пошуку збігів назв" + +#: grecs/wordsplit/wordsplit.c:2858 +#, fuzzy +msgid "user-defined error" +msgstr "помилка читання" + +#: grecs/wordsplit/wordsplit.c:2859 +msgid "invalid parameter number in assignment" +msgstr "" + +#: grecs/wordsplit/wordsplit.c:2871 +msgid "unknown error" +msgstr "невідома помилка" + +#: grecs/wordsplit/wordsplit.c:2880 +#, c-format +msgid "missing closing %c (start near #%lu)" +msgstr "брак закриваючого знаку %c (початок біля #%lu)" + +#~ msgid "%s: option '--%s' doesn't allow an argument\n" +#~ msgstr "%s: опція '--%s' не може мати аргументу\n" + +#~ msgid "%s: unrecognized option '--%s'\n" +#~ msgstr "%s: невідома опція '--%s'\n" + +#~ msgid "%s: option '-W %s' doesn't allow an argument\n" +#~ msgstr "%s: опція '-W %s' не може мати аргументу\n" + +#~ msgid "%s: option '-W %s' requires an argument\n" +#~ msgstr "%s: опція '%s' вимагає аргументу\n" + +#~ msgid "%s: unknown keyword" +#~ msgstr "%s: невідоме ключове слово" diff -Nru dico-2.9/README dico-2.10/README --- dico-2.9/README 2019-02-22 10:00:05.000000000 +0000 +++ dico-2.10/README 2020-09-04 03:59:17.000000000 +0000 @@ -202,7 +202,7 @@ * Copyright information: -Copyright (C) 2008-2019 Sergey Poznyakoff +Copyright (C) 2008-2020 Sergey Poznyakoff Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the diff -Nru dico-2.9/scripts/gcider dico-2.10/scripts/gcider --- dico-2.9/scripts/gcider 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/scripts/gcider 2020-09-04 03:59:20.000000000 +0000 @@ -2,7 +2,7 @@ # Apart from these three lines, it is actually a -*- tcl -*- script \ exec wish "$0" -- "$@" # This file is part of GNU Dico -# Copyright (C) 2012-2019 Sergey Poznyakoff +# Copyright (C) 2012-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/scripts/Makefile.am dico-2.10/scripts/Makefile.am --- dico-2.9/scripts/Makefile.am 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/scripts/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/scripts/Makefile.in dico-2.10/scripts/Makefile.in --- dico-2.9/scripts/Makefile.in 2019-04-24 06:44:02.000000000 +0000 +++ dico-2.10/scripts/Makefile.in 2020-09-04 04:04:58.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -112,8 +112,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -145,15 +145,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -255,7 +255,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -590,6 +589,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -903,9 +903,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/xdico/appi18n.c dico-2.10/xdico/appi18n.c --- dico-2.9/xdico/appi18n.c 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/xdico/appi18n.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/xdico/gnu/Makefile.in dico-2.10/xdico/gnu/Makefile.in --- dico-2.9/xdico/gnu/Makefile.in 2019-04-24 06:44:03.000000000 +0000 +++ dico-2.10/xdico/gnu/Makefile.in 2020-09-04 04:04:58.000000000 +0000 @@ -161,8 +161,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -194,15 +194,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -380,7 +380,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -715,6 +714,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -1028,9 +1028,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/xdico/gsaslstr.c dico-2.10/xdico/gsaslstr.c --- dico-2.9/xdico/gsaslstr.c 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/xdico/gsaslstr.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/xdico/iputil.c dico-2.10/xdico/iputil.c --- dico-2.9/xdico/iputil.c 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/xdico/iputil.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/xdico/Makefile.am dico-2.10/xdico/Makefile.am --- dico-2.9/xdico/Makefile.am 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/xdico/Makefile.am 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/xdico/Makefile.in dico-2.10/xdico/Makefile.in --- dico-2.9/xdico/Makefile.in 2019-04-24 06:44:03.000000000 +0000 +++ dico-2.10/xdico/Makefile.in 2020-09-04 04:04:58.000000000 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # This file is part of GNU Dico -# Copyright (C) 1998-2019 Sergey Poznyakoff +# Copyright (C) 1998-2020 Sergey Poznyakoff # # GNU Dico is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -113,8 +113,8 @@ $(top_srcdir)/am/lib.m4 $(top_srcdir)/am/testdir.m4 \ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/af_alg.m4 \ - $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/argz.m4 \ - $(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/builtin-expect.m4 \ + $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/btowc.m4 \ + $(top_srcdir)/m4/builtin-expect.m4 \ $(top_srcdir)/m4/byteswap.m4 $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \ $(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/exponentd.m4 \ @@ -146,15 +146,15 @@ $(top_srcdir)/m4/localeconv.m4 \ $(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/lseek.m4 \ - $(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/malloc.m4 \ - $(top_srcdir)/m4/malloca.m4 $(top_srcdir)/m4/mbrtowc.m4 \ - $(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbstate_t.m4 \ - $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/md5.m4 \ - $(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/minmax.m4 \ - $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/mmap-anon.m4 \ - $(top_srcdir)/m4/msvc-inval.m4 \ + $(top_srcdir)/m4/ltargz.m4 $(top_srcdir)/m4/ltdl.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \ + $(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \ + $(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memchr.m4 \ + $(top_srcdir)/m4/minmax.m4 $(top_srcdir)/m4/mktime.m4 \ + $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \ $(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \ $(top_srcdir)/m4/netdb_h.m4 $(top_srcdir)/m4/nl_langinfo.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/nocrash.m4 \ @@ -329,7 +329,6 @@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ -ARGZ_H = @ARGZ_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOM4TE = @AUTOM4TE@ @@ -664,6 +663,7 @@ GRECS_DISTCK_AT = @GRECS_DISTCK_AT@ GRECS_DISTDOC = @GRECS_DISTDOC@ GRECS_DOCDIR = @GRECS_DOCDIR@ +GRECS_EXTRA_DIST = @GRECS_EXTRA_DIST@ GRECS_HOST_PROJECT_INCLUDES = @GRECS_HOST_PROJECT_INCLUDES@ GRECS_HOST_PROJECT_LDADD = @GRECS_HOST_PROJECT_LDADD@ GRECS_INCLUDES = @GRECS_INCLUDES@ @@ -977,9 +977,11 @@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ +LT_ARGZ_H = @LT_ARGZ_H@ LT_CONFIG_H = @LT_CONFIG_H@ LT_DLLOADERS = @LT_DLLOADERS@ LT_DLPREOPEN = @LT_DLPREOPEN@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ diff -Nru dico-2.9/xdico/timer.c dico-2.10/xdico/timer.c --- dico-2.9/xdico/timer.c 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/xdico/timer.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/xdico/userprivs.c dico-2.10/xdico/userprivs.c --- dico-2.9/xdico/userprivs.c 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/xdico/userprivs.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2007-2019 Sergey Poznyakoff + Copyright (C) 2007-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/xdico/xalloc-die.c dico-2.10/xdico/xalloc-die.c --- dico-2.9/xdico/xalloc-die.c 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/xdico/xalloc-die.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 1998-2019 Sergey Poznyakoff + Copyright (C) 1998-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/xdico/xhostname.c dico-2.10/xdico/xhostname.c --- dico-2.9/xdico/xhostname.c 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/xdico/xhostname.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/xdico/xscript.c dico-2.10/xdico/xscript.c --- dico-2.9/xdico/xscript.c 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/xdico/xscript.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/xdico/xstream.c dico-2.10/xdico/xstream.c --- dico-2.9/xdico/xstream.c 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/xdico/xstream.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico. - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/xdico/xtkn.c dico-2.10/xdico/xtkn.c --- dico-2.9/xdico/xtkn.c 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/xdico/xtkn.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff -Nru dico-2.9/xdico/xutil.c dico-2.10/xdico/xutil.c --- dico-2.9/xdico/xutil.c 2019-02-22 10:00:12.000000000 +0000 +++ dico-2.10/xdico/xutil.c 2020-09-04 03:59:20.000000000 +0000 @@ -1,5 +1,5 @@ /* This file is part of GNU Dico - Copyright (C) 2008-2019 Sergey Poznyakoff + Copyright (C) 2008-2020 Sergey Poznyakoff GNU Dico is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by