commit bash-20040121 snapshot

This commit is contained in:
Chet Ramey
2011-12-03 12:53:44 -05:00
parent 43cdcad8f4
commit 12d937f9af
59 changed files with 28288 additions and 946 deletions
+21 -2
View File
@@ -1,5 +1,5 @@
This document details the changes between this version, bash-3.0-alpha,
and the previous version, bash-2.05b-release.
This document details the changes between this version, bash-3.0-beta1,
and the previous version, bash-3.0-alpha.
1. Changes to Bash
@@ -62,6 +62,19 @@ r. Fixes to the pattern removal and pattern replacement expansions to deal
s. Fix to the substring expansion (${param:off[:len]}) to deal with (possibly
multibyte) characters instead of raw bytes.
t. Fixed a bug that caused some key bindings set in an inputrc to be ignored
at shell startup.
u. Fixed a bug that caused unsetting a local variable within a function to
not work correctly.
v. Fixed a bug that caused invalid variables to be created when using
`read -a'.
w. Fixed a bug that caused "$@" to expand incorrectly when used as the right
hand side of a parameter expansion such as ${word:="$@"} if the first
character of $IFS was not a space.
2. Changes to Readline
a. Change to history expansion functions to treat `^' as equivalent to word
@@ -97,6 +110,12 @@ b. `echo -e' understands two new escape sequences: \" and \?.
c. The GNU `gettext' package and libintl have been integrated; the shell's
messages can be translated into different languages.
d. The `\W' prompt expansion now abbreviates $HOME as `~', like `\w'.
e. The error message printed when bash cannot open a shell script supplied
as argument 1 now includes the name of the shell, to better identify
the error as coming from bash.
4. New Features in Readline
a. New application variable, rl_completion_quote_character, set to any
+22 -2
View File
@@ -1,5 +1,5 @@
This document details the changes between this version, bash-3.0-alpha,
and the previous version, bash-2.05b-release.
This document details the changes between this version, bash-3.0-beta1,
and the previous version, bash-3.0-alpha.
1. Changes to Bash
@@ -62,6 +62,19 @@ r. Fixes to the pattern removal and pattern replacement expansions to deal
s. Fix to the substring expansion (${param:off[:len]}) to deal with (possibly
multibyte) characters instead of raw bytes.
t. Fixed a bug that caused some key bindings set in an inputrc to be ignored
at shell startup.
u. Fixed a bug that caused unsetting a local variable within a function to
not work correctly.
v. Fixed a bug that caused invalid variables to be created when using
`read -a'.
w. Fixed a bug that caused "$@" to expand incorrectly when used as the right
hand side of a parameter expansion such as ${word:="$@"} if the first
character of $IFS was not a space.
2. Changes to Readline
a. Change to history expansion functions to treat `^' as equivalent to word
@@ -83,6 +96,11 @@ e. Fixed a bug that could cause incorrect filename quoting when
f. Fixed a bug in redisplay triggered when the prompt string contains
invisible characters.
g. Fixed some display (and other) bugs encountered in multibyte locales
when a non-ascii character was the last character on a line.
h. Fixed some display bugs caused by multibyte characters in prompt strings.
3. New Features in Bash
a. printf builtin understands two new escape sequences: \" and \?.
@@ -92,6 +110,8 @@ b. `echo -e' understands two new escape sequences: \" and \?.
c. The GNU `gettext' package and libintl have been integrated; the shell's
messages can be translated into different languages.
d. The `\W' prompt expansion now abbreviates $HOME as `~', like `\w'.
4. New Features in Readline
a. New application variable, rl_completion_quote_character, set to any
+79
View File
@@ -8994,3 +8994,82 @@ lib/readline/mbutil.c
back past it with ^B, and other display problems caused by the same
situation
1/15
----
lib/readline/doc/rltech.texi
- document RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE in the
description of rl_expand_prompt()
1/20
----
bashline.c
- in initialize_readline, make sure M-C-j and M-C-m are still bound to
vi-editing-mode before unbinding them -- they may have been rebound
in an inputrc
variables.c
- in unbind_variable, unset attributes other than `local' and exported
(if the variable came from a temporary environment) when unsetting a
local variable inside a function
1/21
----
configure.in
- add libintl build directory to the list of include directories if
it's being built (using INTL_BUILDDIR)
Makefile.in,{builtins,lib/{sh,malloc}}/Makefile.in
- substitute LIBBUILD as ${BUILD_DIR}/${LIBSUBDIR}
- define INTL_BUILDDIR as ${LIBBUILD}/intl
{builtins,lib/sh}/Makefile.in
- make sure INTL_INC is added to the list of include directories
- make sure INTL_LIBSRC is defined with the correct value
{configure,Makefile,{builtins,lib/sh}/Makefile}.in
- substitute LIBINTL_H as ${INTL_BUILDDIR}/libintl.h
Makefile.in,builtins/Makefile.iin
- all files depending on bashintl.h also depend on ${LIBINTL_H}
(which may be empty)
Makefile.in
- make a rule telling how to build lib/intl/libintl.h if necessary
1/24
----
builtins/read.def
- make sure that the array name supplied as an argument to -a is a
valid identifier
parse.y
- make the \W expansion abbreviate $HOME with a ~ (seems to be more
useful)
doc/{bash.1,bashref.texi}
- document new behavior of \W
subst.c
- make sure parameter_brace_expand_rhs uses the first character of
$IFS when making the string to return from the expanded word
(which, in the case of "$@" or $@, contains multiple words that
need to be separated)
1/25
----
builtins/common.c
- change get_job_spec to make `%' by itself or an empty argument
return NO_JOB
jobs.h
- new possible value for a job spec return value: BAD_JOBSPEC
(for syntactically invalid specs, like the empty string)
shell.c
- in open_shell_script, check to see whether or not we can find and
open the filename argument before setting dollar_vars[0] or
manipulating BASH_SOURCE, so the error messages come out better
subst.c
- in string_list_internal, short-circuit right away to savestring()
if the list only has a single element
+114 -7
View File
@@ -8955,10 +8955,117 @@ subst.c
- new static function, mb_getcharlens, allocates and returns an array
of character lengths for (possibly multibyte) characters in the
argument string
- change pattern matching operations to use while loops instead of for
loops to handle multibyte characters better (no more simple increment
or decrement); use multibyte character operations instead of simple
increments and decrements. Don't use BACKUP_CHAR_P -- use the
mblen array instead, because that avoids the N**2 behavior of having
to count from the beginning of the string each time you want to
back up one character. Changes to remove_pattern and match_pattern
- change pattern matching operations to use while loops instead of
for loops to handle multibyte characters better (no more simple
increment or decrement)
- change pattern matching operations to use multibyte character
operations instead of simple increments and decrements. Don't
use BACKUP_CHAR_P -- use the mblen array instead, because that
avoids the N**2 behavior of having to count from the beginning
of the string each time you want to back up one character. Changes
to remove_pattern and match_pattern
1/12
----
lib/readline/display.c
- make expand_prompt count multbyte characters in the prompt string
by using _rl_find_next_mbchar (and copying possibly more than one
byte) instead of a simple increment and single byte copy
1/13
----
lib/readline/display.c
- expand_prompt takes a new reference argument -- it returns
the actual count of (possibly multibyte) characters displayed
on the screen
- don't short-circuit in expand_prompt unless we're not going to
be using any multibyte characters
- change calls to expand_prompt to pass an argument for the
number of physical characters the prompt occupies
(prompt_physical_chars)
- initialize `lpos' (the physical cursor position) from
prompt_physical_chars in rl_redisplay
lib/readline/mbutil.c
- in _rl_find_prev_mbchar_internal, if mbrtowc returns -1 or -2, and
we assume that the character is a single-byte char, make sure we
update `prev' so it doesn't get lost. Fixes problems encountered
when a non-ascii char is the last char on the line and we're moving
back past it with ^B, and other display problems caused by the same
situation
1/15
----
lib/readline/doc/rltech.texi
- document RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE in the
description of rl_expand_prompt()
1/20
----
bashline.c
- in initialize_readline, make sure M-C-j and M-C-m are still bound to
vi-editing-mode before unbinding them -- they may have been rebound
in an inputrc
variables.c
- in unbind_variable, unset attributes other than `local' and exported
(if the variable came from a temporary environment) when unsetting a
local variable inside a function
1/21
----
configure.in
- add libintl build directory to the list of include directories if
it's being built (using INTL_BUILDDIR)
Makefile.in,{builtins,lib/{sh,malloc}}/Makefile.in
- substitute LIBBUILD as ${BUILD_DIR}/${LIBSUBDIR}
- define INTL_BUILDDIR as ${LIBBUILD}/intl
{builtins,lib/sh}/Makefile.in
- make sure INTL_INC is added to the list of include directories
- make sure INTL_LIBSRC is defined with the correct value
{configure,Makefile,{builtins,lib/sh}/Makefile}.in
- substitute LIBINTL_H as ${INTL_BUILDDIR}/libintl.h
Makefile.in,builtins/Makefile.iin
- all files depending on bashintl.h also depend on ${LIBINTL_H}
(which may be empty)
Makefile.in
- make a rule telling how to build lib/intl/libintl.h if necessary
1/24
----
builtins/read.def
- make sure that the array name supplied as an argument to -a is a
valid identifier
parse.y
- make the \W expansion abbreviate $HOME with a ~ (seems to be more
useful)
doc/{bash.1,bashref.texi}
- document new behavior of \W
subst.c
- make sure parameter_brace_expand_rhs uses the first character of
$IFS when making the string to return from the expanded word
(which, in the case of "$@" or $@, contains multiple words that
need to be separated)
1/25
----
builtins/common.c
- change get_job_spec to make `%' by itself or an empty argument
return NO_JOB
jobs.h
- new possible value for a job spec return value: BAD_JOBSPEC
(for syntactically invalid specs, like the empty string)
shell.c
- in open_shell_script, check to see whether or not we can find and
open the filename argument before setting dollar_vars[0] or
manipulating BASH_SOURCE, so the error messages come out better
+1
View File
@@ -707,6 +707,7 @@ tests/dbg-support.tests f
tests/dbg-support2.right f
tests/dbg-support2.tests f
tests/dollar-at-star f
tests/dollar-at1.sub f
tests/dollar-star1.sub f
tests/dollar.right f
tests/dstack.tests f
+955
View File
@@ -0,0 +1,955 @@
#
# Master distribution manifest for bash
#
#
# Filename type
#
CWRU d
CWRU/misc d
builtins d
cross-build d
doc d
examples d
examples/bashdb d
examples/obashdb d
examples/complete d
examples/functions d
examples/scripts d
examples/scripts.v2 d
examples/scripts.noah d
examples/startup-files d
examples/startup-files/apple d
examples/misc d
examples/loadables d
examples/loadables/perl d
include d
lib d
lib/glob d
lib/glob/doc d
lib/intl d
lib/malloc d
lib/readline d
lib/readline/doc d
lib/readline/examples d
lib/sh d
lib/termcap d
lib/termcap/grot d
lib/tilde d
lib/tilde/doc d
po d
support d
tests d
tests/misc d
ABOUT-NLS f
CHANGES f
COMPAT f
COPYING f
INSTALL f
MANIFEST f
NEWS f
NOTES f
POSIX f
README f
RBASH f
AUTHORS f
Y2K f
configure.in f
configure f
Makefile.in f
config-top.h f
config-bot.h f
config.h.in f
aclocal.m4 f
array.c f
arrayfunc.c f
eval.c f
print_cmd.c f
general.c f
list.c f
locale.c f
stringlib.c f
variables.c f
make_cmd.c f
copy_cmd.c f
unwind_prot.c f
dispose_cmd.c f
bashhist.c f
hashcmd.c f
hashlib.c f
parse.y f
pathexp.c f
subst.c f
shell.c f
trap.c f
sig.c f
siglist.c f
version.c f
flags.c f
jobs.c f
input.c f
mailcheck.c f
test.c f
expr.c f
alias.c f
execute_cmd.c f
findcmd.c f
redir.c f
bashline.c f
braces.c f
bracecomp.c f
nojobs.c f
error.c f
xmalloc.c f
pcomplete.c f
pcomplib.c f
mksyntax.c f
alias.h f
builtins.h f
bashhist.h f
bashline.h f
conftypes.h f
patchlevel.h f
variables.h f
array.h f
arrayfunc.h f
jobs.h f
findcmd.h f
hashlib.h f
quit.h f
flags.h f
shell.h f
syntax.h f
pathexp.h f
parser.h f
pcomplete.h f
sig.h f
test.h f
trap.h f
general.h f
unwind_prot.h f
input.h f
error.h f
command.h f
externs.h f
siglist.h f
subst.h f
dispose_cmd.h f
hashcmd.h f
bashansi.h f
bashjmp.h f
bashintl.h f
make_cmd.h f
execute_cmd.h f
redir.h f
bashtypes.h f
mailcheck.h f
xmalloc.h f
y.tab.c f
y.tab.h f
parser-built f
pathnames.h.in f
builtins/Makefile.in f
builtins/alias.def f
builtins/bind.def f
builtins/break.def f
builtins/builtin.def f
builtins/caller.def f
builtins/cd.def f
builtins/colon.def f
builtins/command.def f
builtins/complete.def f
builtins/common.c f
builtins/declare.def f
builtins/echo.def f
builtins/enable.def f
builtins/eval.def f
builtins/evalfile.c f
builtins/evalstring.c f
builtins/exec.def f
builtins/exit.def f
builtins/fc.def f
builtins/fg_bg.def f
builtins/getopt.c f
builtins/getopt.h f
builtins/getopts.def f
builtins/hash.def f
builtins/help.def f
builtins/let.def f
builtins/history.def f
builtins/jobs.def f
builtins/kill.def f
builtins/mkbuiltins.c f
builtins/printf.def f
builtins/pushd.def f
builtins/read.def f
builtins/reserved.def f
builtins/return.def f
builtins/set.def f
builtins/setattr.def f
builtins/shift.def f
builtins/shopt.def f
builtins/source.def f
builtins/suspend.def f
builtins/test.def f
builtins/times.def f
builtins/trap.def f
builtins/type.def f
builtins/ulimit.def f
builtins/umask.def f
builtins/wait.def f
builtins/psize.c f
builtins/psize.sh f
builtins/inlib.def f
builtins/bashgetopt.c f
builtins/common.h f
builtins/bashgetopt.h f
cross-build/cygwin32.cache f
cross-build/win32sig.h f
cross-build/x86-beos.cache f
cross-build/beos-sig.h f
cross-build/opennt.cache f
include/ansi_stdlib.h f
include/chartypes.h f
include/filecntl.h f
include/gettext.h f
include/maxpath.h f
include/memalloc.h f
include/ocache.h f
include/posixdir.h f
include/posixjmp.h f
include/posixstat.h f
include/posixtime.h f
include/posixwait.h f
include/shmbutil.h f
include/shtty.h f
include/stdc.h f
include/systimes.h f
include/typemax.h f
include/unionwait.h f
lib/glob/Makefile.in f
lib/glob/sm_loop.c f
lib/glob/smatch.c f
lib/glob/strmatch.c f
lib/glob/strmatch.h f
lib/glob/glob.c f
lib/glob/glob.h f
lib/glob/glob_loop.c f
lib/glob/xmbsrtowcs.c f
lib/glob/collsyms.h f
lib/glob/doc/Makefile f
lib/glob/doc/glob.texi f
lib/glob/ndir.h f
lib/intl/ChangeLog f
lib/intl/Makefile.in f
lib/intl/VERSION f
lib/intl/bindtextdom.c f
lib/intl/config.charset f
lib/intl/dcgettext.c f
lib/intl/dcigettext.c f
lib/intl/dcngettext.c f
lib/intl/dgettext.c f
lib/intl/dngettext.c f
lib/intl/eval-plural.h f
lib/intl/explodename.c f
lib/intl/finddomain.c f
lib/intl/gettext.c f
lib/intl/gettextP.h f
lib/intl/gmo.h f
lib/intl/hash-string.h f
lib/intl/intl-compat.c f
lib/intl/l10nflist.c f
lib/intl/libgnuintl.h.in f
lib/intl/loadinfo.h f
lib/intl/loadmsgcat.c f
lib/intl/localcharset.c f
lib/intl/localcharset.h f
lib/intl/locale.alias f
lib/intl/localealias.c f
lib/intl/localename.c f
lib/intl/log.c f
lib/intl/ngettext.c f
lib/intl/os2compat.c f
lib/intl/os2compat.h f
lib/intl/osdep.c f
lib/intl/plural-exp.c f
lib/intl/plural-exp.h f
lib/intl/plural.c f
lib/intl/plural.y f
lib/intl/ref-add.sin f
lib/intl/ref-del.sin f
lib/intl/relocatable.c f
lib/intl/relocatable.h f
lib/intl/textdomain.c f
lib/malloc/Makefile.in f
lib/malloc/getpagesize.h f
lib/malloc/imalloc.h f
lib/malloc/mstats.h f
lib/malloc/shmalloc.h f
lib/malloc/table.h f
lib/malloc/watch.h f
lib/malloc/alloca.c f
lib/malloc/malloc.c f
lib/malloc/stats.c f
lib/malloc/table.c f
lib/malloc/trace.c f
lib/malloc/watch.c f
lib/malloc/xmalloc.c f
lib/malloc/xleaktrace f 755
lib/malloc/stub.c f
lib/malloc/i386-alloca.s f
lib/malloc/x386-alloca.s f
lib/readline/COPYING f
lib/readline/Makefile.in f
lib/readline/ChangeLog f
lib/readline/README f
lib/readline/STANDALONE f
lib/readline/readline.c f
lib/readline/vi_mode.c f
lib/readline/emacs_keymap.c f
lib/readline/vi_keymap.c f
lib/readline/history.c f
lib/readline/histexpand.c f
lib/readline/histsearch.c f
lib/readline/histfile.c f
lib/readline/funmap.c f
lib/readline/keymaps.c f
lib/readline/util.c f
lib/readline/terminal.c f
lib/readline/xmalloc.c f
lib/readline/search.c f
lib/readline/isearch.c f
lib/readline/parens.c f
lib/readline/rltty.c f
lib/readline/compat.c f
lib/readline/complete.c f
lib/readline/bind.c f
lib/readline/display.c f
lib/readline/signals.c f
lib/readline/kill.c f
lib/readline/text.c f
lib/readline/undo.c f
lib/readline/macro.c f
lib/readline/input.c f
lib/readline/callback.c f
lib/readline/mbutil.c f
lib/readline/misc.c f
lib/readline/nls.c f
lib/readline/shell.c f
lib/readline/savestring.c f
lib/readline/tilde.c f
lib/readline/tilde.h f
lib/readline/rldefs.h f
lib/readline/rlconf.h f
lib/readline/rlmbutil.h f
lib/readline/rlshell.h f
lib/readline/rltty.h f
lib/readline/rltypedefs.h f
lib/readline/rlwinsize.h f
lib/readline/readline.h f
lib/readline/tcap.h f
lib/readline/keymaps.h f
lib/readline/history.h f
lib/readline/histlib.h f
lib/readline/chardefs.h f
lib/readline/posixdir.h f
lib/readline/posixjmp.h f
lib/readline/posixstat.h f
lib/readline/ansi_stdlib.h f
lib/readline/rlstdc.h f
lib/readline/rlprivate.h f
lib/readline/xmalloc.h f
lib/readline/doc/Makefile f
lib/readline/doc/version.texi f
lib/readline/doc/rlman.texi f
lib/readline/doc/rltech.texi f
lib/readline/doc/rluser.texi f
lib/readline/doc/rluserman.texi f
lib/readline/doc/history.texi f
lib/readline/doc/hstech.texi f
lib/readline/doc/hsuser.texi f
lib/readline/doc/fdl.texi f
lib/readline/examples/Makefile f
lib/readline/examples/excallback.c f
lib/readline/examples/fileman.c f
lib/readline/examples/manexamp.c f
lib/readline/examples/histexamp.c f
lib/readline/examples/rltest.c f
lib/readline/examples/rl.c f
lib/readline/examples/rlcat.c f
lib/readline/examples/Inputrc f
lib/sh/Makefile.in f
lib/sh/clktck.c f
lib/sh/clock.c f
lib/sh/fmtullong.c f
lib/sh/fmtulong.c f
lib/sh/fmtumax.c f
lib/sh/getcwd.c f
lib/sh/getenv.c f
lib/sh/inet_aton.c f
lib/sh/itos.c f
lib/sh/mailstat.c f
lib/sh/makepath.c f
lib/sh/memset.c f
lib/sh/mktime.c f
lib/sh/netconn.c f
lib/sh/netopen.c f
lib/sh/oslib.c f
lib/sh/pathcanon.c f
lib/sh/pathphys.c f
lib/sh/rename.c f
lib/sh/setlinebuf.c f
lib/sh/shmatch.c f
lib/sh/shquote.c f
lib/sh/shtty.c f
lib/sh/snprintf.c f
lib/sh/spell.c f
lib/sh/strcasecmp.c f
lib/sh/strerror.c f
lib/sh/strftime.c f
lib/sh/strindex.c f
lib/sh/stringlist.c f
lib/sh/stringvec.c f
lib/sh/strpbrk.c f
lib/sh/strstr.c f
lib/sh/strtod.c f
lib/sh/strtoimax.c f
lib/sh/strtol.c f
lib/sh/strtoll.c f
lib/sh/strtoul.c f
lib/sh/strtoull.c f
lib/sh/strtoumax.c f
lib/sh/strtrans.c f
lib/sh/times.c f
lib/sh/timeval.c f
lib/sh/tmpfile.c f
lib/sh/vprint.c f
lib/sh/xstrchr.c f
lib/sh/zcatfd.c f
lib/sh/zread.c f
lib/sh/zwrite.c f
lib/termcap/Makefile.in f
lib/termcap/ltcap.h f
lib/termcap/termcap.c f
lib/termcap/termcap.h f
lib/termcap/tparam.c f
lib/termcap/version.c f
lib/termcap/grot/termcap.info f
lib/termcap/grot/termcap.info-1 f
lib/termcap/grot/termcap.info-2 f
lib/termcap/grot/termcap.info-3 f
lib/termcap/grot/termcap.info-4 f
lib/termcap/grot/NEWS f
lib/termcap/grot/INSTALL f
lib/termcap/grot/ChangeLog f
lib/termcap/grot/texinfo.tex f
lib/termcap/grot/termcap.texi f
lib/termcap/grot/Makefile.in f
lib/termcap/grot/configure f
lib/termcap/grot/configure.in f
lib/termcap/grot/COPYING f
lib/termcap/grot/README f
lib/tilde/README f
lib/tilde/Makefile.in f
lib/tilde/doc/tilde.texi f
lib/tilde/doc/Makefile f
lib/tilde/tilde.c f
lib/tilde/tilde.h f
lib/tilde/shell.c f
po/LINGUAS f
po/Makefile.in.in f
po/Makevars f
po/POTFILES.in f
po/Rules-builtins f
po/Rules-quot f
po/bash.pot f
po/boldquot.sed f
po/builtins.pot f
po/en@quot.header f
po/en@boldquot.header f
po/en@quot.po f
po/en@boldquot.po f
po/en@quot.gmo f
po/en@boldquot.gmo f
po/insert-header.sin f
po/quot.sed f
po/remove-potcdate.sin f
CWRU/misc/open-files.c f
CWRU/misc/sigs.c f
CWRU/misc/sigstat.c f
CWRU/misc/bison f
CWRU/misc/errlist.c f
CWRU/misc/hpux10-dlfcn.h f
CWRU/PLATFORMS f
CWRU/README f
CWRU/changelog f
CWRU/sh-redir-hack f
CWRU/mh-folder-comp f
doc/FAQ f
doc/Makefile.in f
doc/bash.1 f
doc/bashbug.1 f
doc/builtins.1 f
doc/rbash.1 f
doc/README f
doc/INTRO f
doc/texinfo.tex f
doc/bashref.texi f
doc/version.texi f
doc/bashref.info f
doc/article.ms f
doc/htmlpost.sh f 755
doc/infopost.sh f 755
doc/fdl.texi f
doc/fdl.txt f
support/Makefile.in f
support/bashversion.c f
support/config.guess f
support/config.rpath f 755
support/config.sub f
support/printenv.sh f 755
support/printenv.c f
support/bash.xbm f
support/missing f 755
support/mkclone f 755
support/mkconffiles f 755
support/mkdirs f 755
support/mkinstalldirs f 755
support/mkversion.sh f 755
support/mksignames.c f
support/bashbug.sh f
support/man2html.c f
support/recho.c f
support/zecho.c f
support/SYMLINKS f
support/fixlinks f 755
support/install.sh f 755
support/texi2dvi f 755
support/texi2html f 755
support/xenix-link.sh f 755
support/shobj-conf f 755
support/rlvers.sh f 755
examples/bashdb/PERMISSION f
examples/bashdb/bashdb f
examples/bashdb/bashdb.el f
examples/obashdb/PERMISSION f
examples/obashdb/README f
examples/obashdb/bashdb f
examples/obashdb/bashdb.fns f
examples/obashdb/bashdb.pre f
examples/complete/complete-examples f
examples/complete/complete.ianmac f
examples/complete/complete2.ianmac f
examples/complete/complete.freebsd f
examples/complete/complete.gnu-longopt f
examples/complete/bashcc-1.0.1.tar.gz f
examples/loadables/README f
examples/loadables/template.c f
examples/loadables/Makefile.in f
examples/loadables/necho.c f
examples/loadables/hello.c f
examples/loadables/print.c f
examples/loadables/realpath.c f
examples/loadables/sleep.c f
examples/loadables/strftime.c f
examples/loadables/truefalse.c f
examples/loadables/getconf.h f
examples/loadables/getconf.c f
examples/loadables/finfo.c f
examples/loadables/cat.c f
examples/loadables/cut.c f
examples/loadables/logname.c f
examples/loadables/basename.c f
examples/loadables/dirname.c f
examples/loadables/tty.c f
examples/loadables/pathchk.c f
examples/loadables/tee.c f
examples/loadables/rmdir.c f
examples/loadables/head.c f
examples/loadables/printenv.c f
examples/loadables/push.c f
examples/loadables/id.c f
examples/loadables/whoami.c f
examples/loadables/uname.c f
examples/loadables/sync.c f
examples/loadables/mkdir.c f
examples/loadables/ln.c f
examples/loadables/unlink.c f
examples/loadables/perl/Makefile.in f
examples/loadables/perl/README f
examples/loadables/perl/bperl.c f
examples/loadables/perl/iperl.c f
examples/functions/array-stuff f
examples/functions/array-to-string f
examples/functions/autoload f
examples/functions/autoload.v2 f
examples/functions/autoload.v3 f
examples/functions/basename f
examples/functions/basename2 f
examples/functions/coproc.bash f
examples/functions/coshell.README f
examples/functions/coshell.bash f
examples/functions/csh-compat f
examples/functions/dirfuncs f
examples/functions/dirname f
examples/functions/emptydir f
examples/functions/exitstat f
examples/functions/external f
examples/functions/fact f
examples/functions/fstty f
examples/functions/func f
examples/functions/gethtml f
examples/functions/getoptx.bash f
examples/functions/inetaddr f
examples/functions/inpath f
examples/functions/isnum.bash f
examples/functions/isnum2 f
examples/functions/isvalidip f
examples/functions/jdate.bash f
examples/functions/jj.bash f
examples/functions/keep f
examples/functions/ksh-cd f
examples/functions/ksh-compat-test f
examples/functions/kshenv f
examples/functions/login f
examples/functions/lowercase f
examples/functions/manpage f
examples/functions/mhfold f
examples/functions/notify.bash f
examples/functions/pathfuncs f
examples/functions/recurse f
examples/functions/repeat2 f
examples/functions/repeat3 f
examples/functions/seq f
examples/functions/seq2 f
examples/functions/shcat f
examples/functions/shcat2 f
examples/functions/sort-pos-params f
examples/functions/substr f
examples/functions/substr2 f
examples/functions/term f
examples/functions/whatis f
examples/functions/whence f
examples/functions/which f
examples/functions/xalias.bash f
examples/functions/xfind.bash f
examples/scripts/adventure.sh f
examples/scripts/bcsh.sh f
examples/scripts/cat.sh f
examples/scripts/center f
examples/scripts/dd-ex.sh f
examples/scripts/fixfiles.bash f
examples/scripts/hanoi.bash f
examples/scripts/inpath f
examples/scripts/krand.bash f
examples/scripts/line-input.bash f
examples/scripts/nohup.bash f
examples/scripts/precedence f
examples/scripts/randomcard.bash f
examples/scripts/scrollbar f
examples/scripts/scrollbar2 f
examples/scripts/self-repro f
examples/scripts/showperm.bash f
examples/scripts/shprompt f
examples/scripts/spin.bash f
examples/scripts/timeout f
examples/scripts/vtree2 f
examples/scripts/vtree3 f
examples/scripts/vtree3a f
examples/scripts/websrv.sh f
examples/scripts/xterm_title f
examples/scripts/zprintf f
examples/startup-files/README f
examples/startup-files/Bashrc.bfox f
examples/startup-files/Bash_aliases f
examples/startup-files/Bash_profile f
examples/startup-files/bash-profile f
examples/startup-files/bashrc f
examples/startup-files/apple/README f
examples/startup-files/apple/aliases f
examples/startup-files/apple/bash.defaults f
examples/startup-files/apple/environment f
examples/startup-files/apple/login f
examples/startup-files/apple/logout f
examples/startup-files/apple/rc f
examples/misc/suncmd.termcap f
examples/misc/aliasconv.sh f
examples/misc/aliasconv.bash f
examples/misc/cshtobash f
tests/README f
tests/alias.tests f
tests/alias.right f
tests/arith-for.tests f
tests/arith-for.right f
tests/arith.tests f
tests/arith.right f
tests/array.tests f
tests/array.right f
tests/array-at-star f
tests/array2.right f
tests/braces.tests f
tests/braces.right f
tests/builtins.tests f
tests/builtins.right f
tests/builtins1.sub f
tests/builtins2.sub f
tests/source1.sub f
tests/source2.sub f
tests/source3.sub f
tests/source4.sub f
tests/source5.sub f
tests/cond.tests f
tests/cond.right f
tests/cprint.tests f
tests/cprint.right f
tests/dbg-support.right f
tests/dbg-support.sub f
tests/dbg-support.tests f
tests/dbg-support2.right f
tests/dbg-support2.tests f
tests/dollar-at-star f
tests/dollar-star1.sub f
tests/dollar.right f
tests/dstack.tests f
tests/dstack.right f
tests/dstack2.tests f
tests/dstack2.right f
tests/errors.tests f
tests/errors.right f
tests/execscript f
tests/exec.right f
tests/exec1.sub f 755
tests/exec2.sub f
tests/exec3.sub f
tests/exec4.sub f
tests/exec5.sub f
tests/exec6.sub f
tests/exec7.sub f
tests/exp-tests f
tests/exp.right f
tests/extglob.tests f
tests/extglob.right f
tests/extglob2.tests f
tests/extglob2.right f
tests/func.tests f
tests/func.right f
tests/func1.sub f
tests/func2.sub f
tests/func3.sub f
tests/getopts.tests f
tests/getopts.right f
tests/getopts1.sub f
tests/getopts2.sub f
tests/getopts3.sub f
tests/getopts4.sub f
tests/getopts5.sub f
tests/getopts6.sub f
tests/getopts7.sub f
tests/glob-test f
tests/glob1.sub f
tests/glob.right f
tests/heredoc.tests f
tests/heredoc.right f
tests/herestr.tests f
tests/herestr.right f
tests/histexp.tests f
tests/histexp.right f
tests/history.tests f
tests/history.right f
tests/history.list f
tests/ifs.tests f
tests/ifs.right f
tests/input-line.sh f
tests/input-line.sub f
tests/input.right f
tests/invert.tests f
tests/invert.right f
tests/jobs.tests f
tests/jobs1.sub f
tests/jobs2.sub f
tests/jobs3.sub f
tests/jobs.right f
tests/more-exp.tests f
tests/more-exp.right f
tests/new-exp.tests f
tests/new-exp1.sub f
tests/new-exp2.sub f
tests/new-exp3.sub f
tests/new-exp4.sub f
tests/new-exp.right f
tests/nquote.tests f
tests/nquote.right f
tests/nquote1.tests f
tests/nquote1.right f
tests/nquote2.tests f
tests/nquote2.right f
tests/nquote3.tests f
tests/nquote3.right f
tests/nquote4.tests f
tests/nquote4.right f
tests/posix2.tests f
tests/posix2.right f
tests/posixpat.tests f
tests/posixpat.right f
tests/prec.right f
tests/precedence f
tests/printf.tests f
tests/printf.right f
tests/quote.tests f
tests/quote.right f
tests/read.tests f
tests/read.right f
tests/read1.sub f
tests/read2.sub f
tests/read3.sub f
tests/read4.sub f
tests/redir.tests f
tests/redir.right f
tests/redir1.sub f
tests/redir2.sub f
tests/redir3.sub f
tests/redir3.in1 f
tests/redir3.in2 f
tests/redir4.sub f
tests/redir4.in1 f
tests/redir5.sub f
tests/redir6.sub f
tests/rhs-exp.tests f
tests/rhs-exp.right f
tests/rsh.tests f
tests/rsh.right f
tests/run-all f
tests/run-minimal f
tests/run-alias f
tests/run-arith-for f
tests/run-arith f
tests/run-array f
tests/run-array2 f
tests/run-braces f
tests/run-builtins f
tests/run-cond f
tests/run-cprint f
tests/run-dbg-support f
tests/run-dbg-support2 f
tests/run-dirstack f
tests/run-dollars f
tests/run-errors f
tests/run-execscript f
tests/run-exp-tests f
tests/run-extglob f
tests/run-extglob2 f
tests/run-func f
tests/run-getopts f
tests/run-glob-test f
tests/run-heredoc f
tests/run-herestr f
tests/run-histexpand f
tests/run-history f
tests/run-ifs f
tests/run-input-test f
tests/run-invert f
tests/run-jobs f
tests/run-more-exp f
tests/run-new-exp f
tests/run-nquote f
tests/run-nquote1 f
tests/run-nquote2 f
tests/run-nquote3 f
tests/run-nquote4 f
tests/run-posix2 f
tests/run-posixpat f
tests/run-precedence f
tests/run-printf f
tests/run-quote f
tests/run-read f
tests/run-redir f
tests/run-rhs-exp f
tests/run-rsh f
tests/run-set-e f
tests/run-set-x f
tests/run-shopt f
tests/run-strip f
tests/run-test f
tests/run-tilde f
tests/run-trap f
tests/run-type f
tests/run-varenv f
tests/set-e-test f
tests/set-e.right f
tests/set-x.tests f
tests/set-x.right f
tests/shopt.tests f
tests/shopt.right f
tests/strip.tests f
tests/strip.right f
tests/test.tests f
tests/test.right f
tests/tilde-tests f
tests/tilde.right f
tests/trap.tests f
tests/trap.right f
tests/trap1.sub f 755
tests/trap2.sub f 755
tests/trap2a.sub f 755
tests/type.tests f
tests/type.right f
tests/varenv.right f
tests/varenv.sh f
tests/varenv1.sub f
tests/varenv2.sub f
tests/version f
tests/version.mini f
tests/misc/dev-tcp.tests f
tests/misc/perf-script f
tests/misc/perftest f
tests/misc/read-nchars.tests f
tests/misc/redir-t2.sh f
tests/misc/run-r2.sh f
tests/misc/sigint-1.sh f
tests/misc/sigint-2.sh f
tests/misc/sigint-3.sh f
tests/misc/sigint-4.sh f
tests/misc/test-minus-e.1 f
tests/misc/test-minus-e.2 f
tests/misc/wait-bg.tests f
examples/scripts.v2/PERMISSION f
examples/scripts.v2/README f
examples/scripts.v2/arc2tarz f
examples/scripts.v2/bashrand f
examples/scripts.v2/cal2day.bash f
examples/scripts.v2/cdhist.bash f
examples/scripts.v2/corename f
examples/scripts.v2/fman f
examples/scripts.v2/frcp f
examples/scripts.v2/lowercase f
examples/scripts.v2/ncp f
examples/scripts.v2/newext f
examples/scripts.v2/nmv f
examples/scripts.v2/pages f
examples/scripts.v2/pf f
examples/scripts.v2/ren f
examples/scripts.v2/rename f
examples/scripts.v2/repeat f
examples/scripts.v2/untar f
examples/scripts.v2/uudec f
examples/scripts.v2/uuenc f
examples/scripts.v2/vtree f
examples/scripts.v2/where f
examples/scripts.v2/pmtop f
examples/scripts.v2/shprof f
examples/scripts.noah/PERMISSION f
examples/scripts.noah/README f
examples/scripts.noah/aref.bash f
examples/scripts.noah/bash.sub.bash f
examples/scripts.noah/bash_version.bash f
examples/scripts.noah/meta.bash f
examples/scripts.noah/mktmp.bash f
examples/scripts.noah/number.bash f
examples/scripts.noah/prompt.bash f
examples/scripts.noah/remap_keys.bash f
examples/scripts.noah/require.bash f
examples/scripts.noah/send_mail.bash f
examples/scripts.noah/shcat.bash f
examples/scripts.noah/source.bash f
examples/scripts.noah/string.bash f
examples/scripts.noah/stty.bash f
examples/scripts.noah/y_or_n_p.bash f
+72 -65
View File
@@ -159,6 +159,8 @@ dot = .
LIBSUBDIR = lib
LIBSRC = $(srcdir)/$(LIBSUBDIR)
LIBBUILD = ${BUILD_DIR}/${LIBSUBDIR}
SUBDIR_INCLUDES = -I. @RL_INCLUDE@ -I$(topdir) -I$(topdir)/$(LIBSUBDIR)
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
@@ -319,12 +321,15 @@ TILDE_OBJ = $(TILDE_LIBDIR)/tilde.o
INTL_LIBSRC = $(LIBSRC)/intl
INTL_LIBDIR = $(dot)/$(LIBSUBDIR)/intl
INTL_ABSSRC = ${topdir}/$(INTL_LIB)
INTL_BUILDDIR = ${LIBBUILD}/intl
INTL_LIB = @LIBINTL@
INTL_LIBRARY = $(INTL_LIBDIR)/libintl.a
INTL_DEP = @INTL_DEP@
INTL_INC = @INTL_INC@
LIBINTL_H = @LIBINTL_H@
# tests
LIBINTL = @LIBINTL@
LTLIBINTL = @LTLIBINTL@
@@ -598,7 +603,9 @@ $(SHLIB_LIBRARY): config.h ${SHLIB_SOURCE}
${INTL_LIBRARY}: config.h ${INTL_LIBDIR}/Makefile
@echo making $@ in ${INTL_LIBDIR}
@(cd ${INTL_LIBDIR} && \
$(MAKE) $(MFLAGS) libintl.a) || exit 1
$(MAKE) $(MFLAGS) all) || exit 1
${LIBINTL_H}: ${INTL_LIBRARY}
mksignames$(EXEEXT): $(SUPPORT_SRC)mksignames.c
$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)mksignames.c
@@ -897,7 +904,7 @@ list.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h $
list.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
list.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
list.o: make_cmd.h subst.h sig.h pathnames.h externs.h
locale.o: config.h bashtypes.h bashintl.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
locale.o: config.h bashtypes.h bashintl.h ${LIBINTL_H} bashansi.h ${BASHINCDIR}/ansi_stdlib.h
locale.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
locale.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
locale.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
@@ -1105,34 +1112,34 @@ subst.o: $(TILDE_LIBSRC)/tilde.h
variables.o: $(TILDE_LIBSRC)/tilde.h
# libintl dependencies
arrayfunc.o: bashintl.h $(BASHINCDIR)/gettext.h
bashhist.o: bashintl.h $(BASHINCDIR)/gettext.h
bashline.o: bashintl.h $(BASHINCDIR)/gettext.h
braces.o: bashintl.h $(BASHINCDIR)/gettext.h
error.o: bashintl.h $(BASHINCDIR)/gettext.h
eval.o: bashintl.h $(BASHINCDIR)/gettext.h
execute_cmd.o: bashintl.h $(BASHINCDIR)/gettext.h
expr.o: bashintl.h $(BASHINCDIR)/gettext.h
general.o: bashintl.h $(BASHINCDIR)/gettext.h
input.o: bashintl.h $(BASHINCDIR)/gettext.h
jobs.o: bashintl.h $(BASHINCDIR)/gettext.h
mailcheck.o: bashintl.h $(BASHINCDIR)/gettext.h
make_cmd.o: bashintl.h $(BASHINCDIR)/gettext.h
nojobs.o: bashintl.h $(BASHINCDIR)/gettext.h
parse.y: bashintl.h $(BASHINCDIR)/gettext.h
pcomplete.o: bashintl.h $(BASHINCDIR)/gettext.h
pcomplib.o: bashintl.h $(BASHINCDIR)/gettext.h
print_cmd.o: bashintl.h $(BASHINCDIR)/gettext.h
redir.o: bashintl.h $(BASHINCDIR)/gettext.h
shell.o: bashintl.h $(BASHINCDIR)/gettext.h
sig.o: bashintl.h $(BASHINCDIR)/gettext.h
siglist.o: bashintl.h $(BASHINCDIR)/gettext.h
subst.o: bashintl.h $(BASHINCDIR)/gettext.h
test.o: bashintl.h $(BASHINCDIR)/gettext.h
trap.o: bashintl.h $(BASHINCDIR)/gettext.h
variables.o: bashintl.h $(BASHINCDIR)/gettext.h
version.o: bashintl.h $(BASHINCDIR)/gettext.h
xmalloc.o: bashintl.h $(BASHINCDIR)/gettext.h
arrayfunc.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
bashhist.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
bashline.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
braces.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
error.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
eval.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
execute_cmd.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
expr.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
general.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
input.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
jobs.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
mailcheck.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
make_cmd.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
nojobs.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
parse.y: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
pcomplete.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
pcomplib.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
print_cmd.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
redir.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
shell.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
sig.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
siglist.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
subst.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
test.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
trap.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
variables.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
version.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
xmalloc.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
# XXX - dependencies checked through here
@@ -1337,41 +1344,41 @@ builtins/complete.o: pcomplete.h
builtins/complete.o: ${DEFSRC}/common.h ${DEFSRC}/bashgetopt.h
# libintl dependencies
builtins/bind.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/break.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/caller.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/cd.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/common.c: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/complete.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/declare.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/enable.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/evalfile.c: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/exec.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/exit.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/fc.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/fg_bg.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/getopt.c: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/hash.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/help.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/history.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/inlib.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/jobs.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/kill.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/let.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/mkbuiltins.c: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/printf.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/pushd.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/read.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/return.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/set.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/setattr.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/shift.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/shopt.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/source.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/suspend.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/type.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/ulimit.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/umask.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
builtins/bind.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/break.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/caller.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/cd.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/common.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/complete.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/declare.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/enable.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/evalfile.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/exec.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/exit.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/fc.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/fg_bg.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/getopt.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/hash.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/help.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/history.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/inlib.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/jobs.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/kill.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/let.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/mkbuiltins.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/printf.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/pushd.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/read.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/return.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/set.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/setattr.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/shift.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/shopt.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/source.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/suspend.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/type.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/ulimit.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
builtins/umask.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
# builtin library dependencies
builtins/bind.o: $(RL_LIBSRC)/chardefs.h $(RL_LIBSRC)/readline.h
+1435
View File
File diff suppressed because it is too large Load Diff
+7 -4
View File
@@ -1,5 +1,5 @@
@%:@! /bin/sh
@%:@ From configure.in for Bash 3.0, version 3.159, from autoconf version AC_ACVERSION.
@%:@ From configure.in for Bash 3.0, version 3.160, from autoconf version AC_ACVERSION.
@%:@ Guess values for system-dependent variables and create Makefiles.
@%:@ Generated by GNU Autoconf 2.57 for bash 3.0-beta1.
@%:@
@@ -311,7 +311,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os EMACS lispdir DEBUGGER_START_FILE TESTSCRIPT PURIFY MALLOC_TARGET MALLOC_SRC MALLOC_LIB MALLOC_LIBRARY MALLOC_LDFLAGS MALLOC_DEP htmldir HELPDIR HELPDIRDEFINE HELPINSTALL CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP SIGNAMES_H CC_FOR_BUILD STATIC_LD CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD RL_VERSION RL_MAJOR RL_MINOR READLINE_LIB READLINE_DEP RL_LIBDIR RL_INCLUDEDIR RL_INCLUDE HISTORY_LIB HISTORY_DEP HIST_LIBDIR INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AR RANLIB ac_ct_RANLIB YACC SET_MAKE MAKE_SHELL MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE ALLOCA GLIBC21 LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LIB@&t@OBJS INTL_DEP INTL_INC SIGLIST_O TERMCAP_LIB TERMCAP_DEP JOBS_O SHOBJ_CC SHOBJ_CFLAGS SHOBJ_LD SHOBJ_LDFLAGS SHOBJ_XLDFLAGS SHOBJ_LIBS SHOBJ_STATUS PROFILE_FLAGS incdir BUILD_DIR ARFLAGS BASHVERS RELSTATUS DEBUG MALLOC_DEBUG LOCAL_LIBS LOCAL_CFLAGS LOCAL_LDFLAGS LOCAL_DEFS LTLIBOBJS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os EMACS lispdir DEBUGGER_START_FILE TESTSCRIPT PURIFY MALLOC_TARGET MALLOC_SRC MALLOC_LIB MALLOC_LIBRARY MALLOC_LDFLAGS MALLOC_DEP htmldir HELPDIR HELPDIRDEFINE HELPINSTALL CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP SIGNAMES_H CC_FOR_BUILD STATIC_LD CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD RL_VERSION RL_MAJOR RL_MINOR READLINE_LIB READLINE_DEP RL_LIBDIR RL_INCLUDEDIR RL_INCLUDE HISTORY_LIB HISTORY_DEP HIST_LIBDIR INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AR RANLIB ac_ct_RANLIB YACC SET_MAKE MAKE_SHELL MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE ALLOCA GLIBC21 LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LIB@&t@OBJS INTL_DEP INTL_INC LIBINTL_H SIGLIST_O TERMCAP_LIB TERMCAP_DEP JOBS_O SHOBJ_CC SHOBJ_CFLAGS SHOBJ_LD SHOBJ_LDFLAGS SHOBJ_XLDFLAGS SHOBJ_LIBS SHOBJ_STATUS PROFILE_FLAGS incdir BUILD_DIR ARFLAGS BASHVERS RELSTATUS DEBUG MALLOC_DEBUG LOCAL_LIBS LOCAL_CFLAGS LOCAL_LDFLAGS LOCAL_DEFS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -13780,10 +13780,11 @@ fi
done
INTL_DEP= INTL_INC=
INTL_DEP= INTL_INC= LIBINTL_H=
if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
INTL_DEP='${INTL_LIBDIR}/libintl.a'
INTL_INC='-I${INTL_LIBSRC}'
INTL_INC='-I${INTL_LIBSRC} -I${INTL_BUILDDIR}'
LIBINTL_H='${INTL_BUILDDIR}/libintl.h'
fi
@@ -13791,6 +13792,7 @@ fi
for ac_header in wctype.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
@@ -24854,6 +24856,7 @@ s,@POSUB@,$POSUB,;t t
s,@LIB@&t@OBJS@,$LIB@&t@OBJS,;t t
s,@INTL_DEP@,$INTL_DEP,;t t
s,@INTL_INC@,$INTL_INC,;t t
s,@LIBINTL_H@,$LIBINTL_H,;t t
s,@SIGLIST_O@,$SIGLIST_O,;t t
s,@TERMCAP_LIB@,$TERMCAP_LIB,;t t
s,@TERMCAP_DEP@,$TERMCAP_DEP,;t t
+81 -81
View File
@@ -15,96 +15,96 @@
'configure.in'
],
{
'AC_STRUCT_ST_BLOCKS' => 1,
'AH_OUTPUT' => 1,
'AC_FUNC_STRERROR_R' => 1,
'AC_CHECK_HEADERS' => 1,
'AC_HEADER_MAJOR' => 1,
'AC_FUNC_MMAP' => 1,
'AC_INIT' => 1,
'AM_CONDITIONAL' => 1,
'AC_REPLACE_FNMATCH' => 1,
'AC_FUNC_MKTIME' => 1,
'AC_FUNC_CLOSEDIR_VOID' => 1,
'AC_CHECK_TYPES' => 1,
'AC_PROG_GCC_TRADITIONAL' => 1,
'AC_FUNC_VPRINTF' => 1,
'AC_FUNC_MBRTOWC' => 1,
'AC_FUNC_STRTOD' => 1,
'AC_FUNC_STRNLEN' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'AC_PROG_CXX' => 1,
'AC_TYPE_PID_T' => 1,
'AC_STRUCT_ST_BLOCKS' => 1,
'AC_PROG_INSTALL' => 1,
'AC_PROG_CC' => 1,
'AC_TYPE_OFF_T' => 1,
'AC_PROG_YACC' => 1,
'AC_PROG_CPP' => 1,
'AC_C_INLINE' => 1,
'AC_TYPE_UID_T' => 1,
'AC_STRUCT_TM' => 1,
'AC_FUNC_MKTIME' => 1,
'AC_FUNC_MEMCMP' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_CHECK_HEADERS' => 1,
'AC_HEADER_SYS_WAIT' => 1,
'AC_CHECK_MEMBERS' => 1,
'AC_HEADER_MAJOR' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_FUNC_REALLOC' => 1,
'AC_FUNC_MBRTOWC' => 1,
'AC_FUNC_SELECT_ARGTYPES' => 1,
'AH_OUTPUT' => 1,
'AC_FUNC_MMAP' => 1,
'AC_FUNC_SETVBUF_REVERSED' => 1,
'AC_FUNC_ERROR_AT_LINE' => 1,
'AC_FUNC_STRCOLL' => 1,
'AC_C_VOLATILE' => 1,
'AC_FUNC_GETPGRP' => 1,
'AC_TYPE_PID_T' => 1,
'm4_pattern_allow' => 1,
'AC_FUNC_UTIME_NULL' => 1,
'AC_PROG_RANLIB' => 1,
'm4_include' => 1,
'AC_FUNC_STRERROR_R' => 1,
'AC_FUNC_GETMNTENT' => 1,
'AC_PROG_GCC_TRADITIONAL' => 1,
'AC_STRUCT_TIMEZONE' => 1,
'include' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'AC_LIBSOURCE' => 1,
'AC_SUBST' => 1,
'AC_CHECK_LIB' => 1,
'AC_C_CONST' => 1,
'AC_FUNC_VPRINTF' => 1,
'AC_TYPE_SIGNAL' => 1,
'AC_FUNC_GETGROUPS' => 1,
'AC_CANONICAL_HOST' => 1,
'AC_HEADER_STDC' => 1,
'AC_FUNC_STRTOD' => 1,
'AC_PROG_LEX' => 1,
'AC_FUNC_OBSTACK' => 1,
'AM_MAINTAINER_MODE' => 1,
'AC_INIT' => 1,
'AC_PROG_LN_S' => 1,
'AC_FUNC_SETPGRP' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AC_PROG_MAKE_SET' => 1,
'AC_HEADER_TIME' => 1,
'AC_FUNC_FORK' => 1,
'AC_PROG_AWK' => 1,
'AC_FUNC_CHOWN' => 1,
'AC_FUNC_STRNLEN' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_FUNC_ALLOCA' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AC_FUNC_STRFTIME' => 1,
'AC_PATH_X' => 1,
'AC_REPLACE_FNMATCH' => 1,
'AC_FUNC_WAIT3' => 1,
'm4_pattern_forbid' => 1,
'AC_CHECK_FUNCS' => 1,
'AC_FUNC_STAT' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
'AC_FUNC_MALLOC' => 1,
'AC_FUNC_GETLOADAVG' => 1,
'AC_PROG_INSTALL' => 1,
'AC_HEADER_DIRENT' => 1,
'AM_PROG_CC_C_O' => 1,
'AC_PROG_LN_S' => 1,
'AC_C_VOLATILE' => 1,
'AC_TYPE_SIZE_T' => 1,
'AC_FUNC_FSEEKO' => 1,
'AC_TYPE_MODE_T' => 1,
'AC_DECL_SYS_SIGLIST' => 1,
'AM_GNU_GETTEXT' => 1,
'AM_CONDITIONAL' => 1,
'AC_CONFIG_FILES' => 1,
'AC_FUNC_LSTAT' => 1,
'AC_C_CONST' => 1,
'AC_PATH_X' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AC_STRUCT_TIMEZONE' => 1,
'AC_FUNC_MEMCMP' => 1,
'AC_CHECK_TYPES' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AC_HEADER_SYS_WAIT' => 1,
'AC_SUBST' => 1,
'AC_PROG_AWK' => 1,
'AC_FUNC_REALLOC' => 1,
'AC_PROG_RANLIB' => 1,
'AC_FUNC_SELECT_ARGTYPES' => 1,
'AC_DECL_SYS_SIGLIST' => 1,
'AM_MAINTAINER_MODE' => 1,
'AC_FUNC_MALLOC' => 1,
'AC_FUNC_STRCOLL' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_FUNC_GETPGRP' => 1,
'AC_CHECK_LIB' => 1,
'AC_FUNC_SETVBUF_REVERSED' => 1,
'AC_CHECK_FUNCS' => 1,
'AC_LIBSOURCE' => 1,
'AC_FUNC_ERROR_AT_LINE' => 1,
'AC_STRUCT_TM' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AC_FUNC_WAIT3' => 1,
'AC_PROG_CPP' => 1,
'AC_FUNC_GETLOADAVG' => 1,
'AC_TYPE_UID_T' => 1,
'AC_CANONICAL_HOST' => 1,
'AC_CONFIG_FILES' => 1,
'AC_FUNC_STAT' => 1,
'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
'AC_PROG_LEX' => 1,
'AC_PROG_MAKE_SET' => 1,
'AC_FUNC_ALLOCA' => 1,
'AC_C_INLINE' => 1,
'AC_FUNC_FSEEKO' => 1,
'AC_CONFIG_HEADERS' => 1,
'm4_include' => 1,
'AC_HEADER_DIRENT' => 1,
'AC_HEADER_STDC' => 1,
'AC_FUNC_CHOWN' => 1,
'AC_FUNC_LSTAT' => 1,
'AC_CHECK_MEMBERS' => 1,
'AM_PROG_CC_C_O' => 1,
'm4_pattern_forbid' => 1,
'AC_HEADER_STAT' => 1,
'AC_PROG_CXX' => 1
'AC_FUNC_UTIME_NULL' => 1,
'AC_FUNC_GETMNTENT' => 1,
'AC_FUNC_SETPGRP' => 1,
'AC_FUNC_STRFTIME' => 1,
'AC_FUNC_OBSTACK' => 1,
'AC_FUNC_GETGROUPS' => 1,
'AC_HEADER_TIME' => 1,
'AC_TYPE_MODE_T' => 1,
'AC_PROG_YACC' => 1,
'm4_pattern_allow' => 1,
'AC_TYPE_SIGNAL' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'include' => 1
}
], 'Request' )
);
+248 -247
View File
@@ -869,327 +869,328 @@ m4trace:configure.in:680: -1- AH_OUTPUT([HAVE_STRCSPN], [/* Define to 1 if you h
#undef HAVE_STRCSPN])
m4trace:configure.in:680: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
#undef HAVE_STRDUP])
m4trace:configure.in:687: -1- AC_SUBST([INTL_DEP])
m4trace:configure.in:688: -1- AC_SUBST([INTL_INC])
m4trace:configure.in:694: -1- AC_CHECK_HEADERS([wctype.h])
m4trace:configure.in:694: -1- AH_OUTPUT([HAVE_WCTYPE_H], [/* Define to 1 if you have the <wctype.h> header file. */
m4trace:configure.in:688: -1- AC_SUBST([INTL_DEP])
m4trace:configure.in:689: -1- AC_SUBST([INTL_INC])
m4trace:configure.in:690: -1- AC_SUBST([LIBINTL_H])
m4trace:configure.in:696: -1- AC_CHECK_HEADERS([wctype.h])
m4trace:configure.in:696: -1- AH_OUTPUT([HAVE_WCTYPE_H], [/* Define to 1 if you have the <wctype.h> header file. */
#undef HAVE_WCTYPE_H])
m4trace:configure.in:694: -1- AC_CHECK_HEADERS([wchar.h])
m4trace:configure.in:694: -1- AH_OUTPUT([HAVE_WCHAR_H], [/* Define to 1 if you have the <wchar.h> header file. */
m4trace:configure.in:696: -1- AC_CHECK_HEADERS([wchar.h])
m4trace:configure.in:696: -1- AH_OUTPUT([HAVE_WCHAR_H], [/* Define to 1 if you have the <wchar.h> header file. */
#undef HAVE_WCHAR_H])
m4trace:configure.in:694: -1- AC_CHECK_HEADERS([langinfo.h])
m4trace:configure.in:694: -1- AH_OUTPUT([HAVE_LANGINFO_H], [/* Define to 1 if you have the <langinfo.h> header file. */
m4trace:configure.in:696: -1- AC_CHECK_HEADERS([langinfo.h])
m4trace:configure.in:696: -1- AH_OUTPUT([HAVE_LANGINFO_H], [/* Define to 1 if you have the <langinfo.h> header file. */
#undef HAVE_LANGINFO_H])
m4trace:configure.in:694: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSRTOWCS])
m4trace:configure.in:694: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBRTOWC])
m4trace:configure.in:694: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBRLEN])
m4trace:configure.in:694: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCTOMB])
m4trace:configure.in:694: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCWIDTH])
m4trace:configure.in:694: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSTATE_T])
m4trace:configure.in:694: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
m4trace:configure.in:698: -1- AC_CHECK_LIB([dl], [dlopen])
m4trace:configure.in:698: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define to 1 if you have the `dl\' library (-ldl). */
m4trace:configure.in:696: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSRTOWCS])
m4trace:configure.in:696: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBRTOWC])
m4trace:configure.in:696: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBRLEN])
m4trace:configure.in:696: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCTOMB])
m4trace:configure.in:696: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCWIDTH])
m4trace:configure.in:696: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSTATE_T])
m4trace:configure.in:696: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
m4trace:configure.in:700: -1- AC_CHECK_LIB([dl], [dlopen])
m4trace:configure.in:700: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define to 1 if you have the `dl\' library (-ldl). */
#undef HAVE_LIBDL])
m4trace:configure.in:698: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL])
m4trace:configure.in:699: -1- AC_CHECK_FUNCS([dlopen dlclose dlsym])
m4trace:configure.in:699: -1- AH_OUTPUT([HAVE_DLOPEN], [/* Define to 1 if you have the `dlopen\' function. */
m4trace:configure.in:700: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL])
m4trace:configure.in:701: -1- AC_CHECK_FUNCS([dlopen dlclose dlsym])
m4trace:configure.in:701: -1- AH_OUTPUT([HAVE_DLOPEN], [/* Define to 1 if you have the `dlopen\' function. */
#undef HAVE_DLOPEN])
m4trace:configure.in:699: -1- AH_OUTPUT([HAVE_DLCLOSE], [/* Define to 1 if you have the `dlclose\' function. */
m4trace:configure.in:701: -1- AH_OUTPUT([HAVE_DLCLOSE], [/* Define to 1 if you have the `dlclose\' function. */
#undef HAVE_DLCLOSE])
m4trace:configure.in:699: -1- AH_OUTPUT([HAVE_DLSYM], [/* Define to 1 if you have the `dlsym\' function. */
m4trace:configure.in:701: -1- AH_OUTPUT([HAVE_DLSYM], [/* Define to 1 if you have the `dlsym\' function. */
#undef HAVE_DLSYM])
m4trace:configure.in:703: -1- AC_DECL_SYS_SIGLIST
m4trace:configure.in:703: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
m4trace:configure.in:703: -1- AH_OUTPUT([HAVE_DECL_SYS_SIGLIST], [/* Define to 1 if you have the declaration of `sys_siglist\', and to 0 if you
m4trace:configure.in:705: -1- AC_DECL_SYS_SIGLIST
m4trace:configure.in:705: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
m4trace:configure.in:705: -1- AH_OUTPUT([HAVE_DECL_SYS_SIGLIST], [/* Define to 1 if you have the declaration of `sys_siglist\', and to 0 if you
don\'t. */
#undef HAVE_DECL_SYS_SIGLIST])
m4trace:configure.in:703: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
m4trace:configure.in:707: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INET_ATON])
m4trace:configure.in:707: -1- AC_LIBSOURCE([inet_aton.c])
m4trace:configure.in:707: -1- AC_SUBST([LIB@&t@OBJS])
m4trace:configure.in:713: -1- AC_CHECK_LIB([sun], [getpwent])
m4trace:configure.in:713: -1- AH_OUTPUT([HAVE_LIBSUN], [/* Define to 1 if you have the `sun\' library (-lsun). */
m4trace:configure.in:705: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
m4trace:configure.in:709: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INET_ATON])
m4trace:configure.in:709: -1- AC_LIBSOURCE([inet_aton.c])
m4trace:configure.in:709: -1- AC_SUBST([LIB@&t@OBJS])
m4trace:configure.in:715: -1- AC_CHECK_LIB([sun], [getpwent])
m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_LIBSUN], [/* Define to 1 if you have the `sun\' library (-lsun). */
#undef HAVE_LIBSUN])
m4trace:configure.in:713: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSUN])
m4trace:configure.in:718: -1- AC_CHECK_LIB([socket], [getpeername], [bash_cv_have_socklib=yes], [bash_cv_have_socklib=no], [-lnsl])
m4trace:configure.in:718: -1- AC_CHECK_LIB([nsl], [t_open], [bash_cv_have_libnsl=yes], [bash_cv_have_libnsl=no])
m4trace:configure.in:718: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET])
m4trace:configure.in:718: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPEERNAME])
m4trace:configure.in:722: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME])
m4trace:configure.in:726: -1- AC_TYPE_UID_T
m4trace:configure.in:726: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
m4trace:configure.in:726: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
m4trace:configure.in:715: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSUN])
m4trace:configure.in:720: -1- AC_CHECK_LIB([socket], [getpeername], [bash_cv_have_socklib=yes], [bash_cv_have_socklib=no], [-lnsl])
m4trace:configure.in:720: -1- AC_CHECK_LIB([nsl], [t_open], [bash_cv_have_libnsl=yes], [bash_cv_have_libnsl=no])
m4trace:configure.in:720: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET])
m4trace:configure.in:720: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPEERNAME])
m4trace:configure.in:724: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME])
m4trace:configure.in:728: -1- AC_TYPE_UID_T
m4trace:configure.in:728: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
m4trace:configure.in:728: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
#undef uid_t])
m4trace:configure.in:726: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
m4trace:configure.in:726: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
m4trace:configure.in:728: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
m4trace:configure.in:728: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
#undef gid_t])
m4trace:configure.in:726: -1- AC_DEFINE_TRACE_LITERAL([GETGROUPS_T])
m4trace:configure.in:726: -1- AH_OUTPUT([GETGROUPS_T], [/* Define to the type of elements in the array set by `getgroups\'. Usually
m4trace:configure.in:728: -1- AC_DEFINE_TRACE_LITERAL([GETGROUPS_T])
m4trace:configure.in:728: -1- AH_OUTPUT([GETGROUPS_T], [/* Define to the type of elements in the array set by `getgroups\'. Usually
this is either `int\' or `gid_t\'. */
#undef GETGROUPS_T])
m4trace:configure.in:727: -1- AC_TYPE_OFF_T
m4trace:configure.in:727: -1- AC_DEFINE_TRACE_LITERAL([off_t])
m4trace:configure.in:727: -1- AH_OUTPUT([off_t], [/* Define to `long\' if <sys/types.h> does not define. */
m4trace:configure.in:729: -1- AC_TYPE_OFF_T
m4trace:configure.in:729: -1- AC_DEFINE_TRACE_LITERAL([off_t])
m4trace:configure.in:729: -1- AH_OUTPUT([off_t], [/* Define to `long\' if <sys/types.h> does not define. */
#undef off_t])
m4trace:configure.in:728: -1- AC_TYPE_MODE_T
m4trace:configure.in:728: -1- AC_DEFINE_TRACE_LITERAL([mode_t])
m4trace:configure.in:728: -1- AH_OUTPUT([mode_t], [/* Define to `int\' if <sys/types.h> does not define. */
m4trace:configure.in:730: -1- AC_TYPE_MODE_T
m4trace:configure.in:730: -1- AC_DEFINE_TRACE_LITERAL([mode_t])
m4trace:configure.in:730: -1- AH_OUTPUT([mode_t], [/* Define to `int\' if <sys/types.h> does not define. */
#undef mode_t])
m4trace:configure.in:729: -1- AC_TYPE_UID_T
m4trace:configure.in:729: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
m4trace:configure.in:729: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
m4trace:configure.in:731: -1- AC_TYPE_UID_T
m4trace:configure.in:731: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
m4trace:configure.in:731: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
#undef uid_t])
m4trace:configure.in:729: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
m4trace:configure.in:729: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
m4trace:configure.in:731: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
m4trace:configure.in:731: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
#undef gid_t])
m4trace:configure.in:730: -1- AC_TYPE_PID_T
m4trace:configure.in:730: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
m4trace:configure.in:730: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
m4trace:configure.in:732: -1- AC_TYPE_PID_T
m4trace:configure.in:732: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
m4trace:configure.in:732: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
#undef pid_t])
m4trace:configure.in:731: -1- AC_TYPE_SIZE_T
m4trace:configure.in:731: -1- AC_DEFINE_TRACE_LITERAL([size_t])
m4trace:configure.in:731: -1- AH_OUTPUT([size_t], [/* Define to `unsigned\' if <sys/types.h> does not define. */
m4trace:configure.in:733: -1- AC_TYPE_SIZE_T
m4trace:configure.in:733: -1- AC_DEFINE_TRACE_LITERAL([size_t])
m4trace:configure.in:733: -1- AH_OUTPUT([size_t], [/* Define to `unsigned\' if <sys/types.h> does not define. */
#undef size_t])
m4trace:configure.in:732: -1- AC_DEFINE_TRACE_LITERAL([ssize_t])
m4trace:configure.in:732: -1- AH_OUTPUT([ssize_t], [/* Define to `int\' if <sys/types.h> does not define. */
m4trace:configure.in:734: -1- AC_DEFINE_TRACE_LITERAL([ssize_t])
m4trace:configure.in:734: -1- AH_OUTPUT([ssize_t], [/* Define to `int\' if <sys/types.h> does not define. */
#undef ssize_t])
m4trace:configure.in:733: -1- AC_DEFINE_TRACE_LITERAL([time_t])
m4trace:configure.in:733: -1- AH_OUTPUT([time_t], [/* Define to `long\' if <sys/types.h> does not define. */
m4trace:configure.in:735: -1- AC_DEFINE_TRACE_LITERAL([time_t])
m4trace:configure.in:735: -1- AH_OUTPUT([time_t], [/* Define to `long\' if <sys/types.h> does not define. */
#undef time_t])
m4trace:configure.in:735: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_LONG])
m4trace:configure.in:736: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
m4trace:configure.in:738: -1- AC_TYPE_SIGNAL
m4trace:configure.in:738: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
m4trace:configure.in:738: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
m4trace:configure.in:737: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_LONG])
m4trace:configure.in:738: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
m4trace:configure.in:740: -1- AC_TYPE_SIGNAL
m4trace:configure.in:740: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
m4trace:configure.in:740: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
#undef RETSIGTYPE])
m4trace:configure.in:740: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR])
m4trace:configure.in:740: -1- AH_OUTPUT([SIZEOF_CHAR], [/* The size of a `char\', as computed by sizeof. */
m4trace:configure.in:742: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR])
m4trace:configure.in:742: -1- AH_OUTPUT([SIZEOF_CHAR], [/* The size of a `char\', as computed by sizeof. */
#undef SIZEOF_CHAR])
m4trace:configure.in:741: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT])
m4trace:configure.in:741: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The size of a `short\', as computed by sizeof. */
m4trace:configure.in:743: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT])
m4trace:configure.in:743: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The size of a `short\', as computed by sizeof. */
#undef SIZEOF_SHORT])
m4trace:configure.in:742: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT])
m4trace:configure.in:742: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of a `int\', as computed by sizeof. */
m4trace:configure.in:744: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT])
m4trace:configure.in:744: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of a `int\', as computed by sizeof. */
#undef SIZEOF_INT])
m4trace:configure.in:743: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG])
m4trace:configure.in:743: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of a `long\', as computed by sizeof. */
m4trace:configure.in:745: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG])
m4trace:configure.in:745: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of a `long\', as computed by sizeof. */
#undef SIZEOF_LONG])
m4trace:configure.in:744: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR_P])
m4trace:configure.in:744: -1- AH_OUTPUT([SIZEOF_CHAR_P], [/* The size of a `char *\', as computed by sizeof. */
m4trace:configure.in:746: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR_P])
m4trace:configure.in:746: -1- AH_OUTPUT([SIZEOF_CHAR_P], [/* The size of a `char *\', as computed by sizeof. */
#undef SIZEOF_CHAR_P])
m4trace:configure.in:745: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_DOUBLE])
m4trace:configure.in:745: -1- AH_OUTPUT([SIZEOF_DOUBLE], [/* The size of a `double\', as computed by sizeof. */
m4trace:configure.in:747: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_DOUBLE])
m4trace:configure.in:747: -1- AH_OUTPUT([SIZEOF_DOUBLE], [/* The size of a `double\', as computed by sizeof. */
#undef SIZEOF_DOUBLE])
m4trace:configure.in:746: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG_LONG])
m4trace:configure.in:746: -1- AH_OUTPUT([SIZEOF_LONG_LONG], [/* The size of a `long long\', as computed by sizeof. */
m4trace:configure.in:748: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG_LONG])
m4trace:configure.in:748: -1- AH_OUTPUT([SIZEOF_LONG_LONG], [/* The size of a `long long\', as computed by sizeof. */
#undef SIZEOF_LONG_LONG])
m4trace:configure.in:748: -1- AC_DEFINE_TRACE_LITERAL([u_int])
m4trace:configure.in:748: -1- AH_OUTPUT([u_int], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
m4trace:configure.in:750: -1- AC_DEFINE_TRACE_LITERAL([u_int])
m4trace:configure.in:750: -1- AH_OUTPUT([u_int], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
#undef u_int])
m4trace:configure.in:749: -1- AC_DEFINE_TRACE_LITERAL([u_long])
m4trace:configure.in:749: -1- AH_OUTPUT([u_long], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
m4trace:configure.in:751: -1- AC_DEFINE_TRACE_LITERAL([u_long])
m4trace:configure.in:751: -1- AH_OUTPUT([u_long], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
#undef u_long])
m4trace:configure.in:751: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
m4trace:configure.in:751: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
m4trace:configure.in:753: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
m4trace:configure.in:753: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
#undef bits16_t])
m4trace:configure.in:751: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
m4trace:configure.in:751: -1- AH_OUTPUT([bits16_t], [/* Define to `char\' if <sys/types.h> does not define. */
m4trace:configure.in:753: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
m4trace:configure.in:753: -1- AH_OUTPUT([bits16_t], [/* Define to `char\' if <sys/types.h> does not define. */
#undef bits16_t])
m4trace:configure.in:751: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
m4trace:configure.in:751: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
m4trace:configure.in:753: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
m4trace:configure.in:753: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
#undef bits16_t])
m4trace:configure.in:752: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
m4trace:configure.in:752: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
m4trace:configure.in:754: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
m4trace:configure.in:754: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
#undef u_bits16_t])
m4trace:configure.in:752: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
m4trace:configure.in:752: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned char\' if <sys/types.h> does not define. */
m4trace:configure.in:754: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
m4trace:configure.in:754: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned char\' if <sys/types.h> does not define. */
#undef u_bits16_t])
m4trace:configure.in:752: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
m4trace:configure.in:752: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
m4trace:configure.in:754: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
m4trace:configure.in:754: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
#undef u_bits16_t])
m4trace:configure.in:753: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
m4trace:configure.in:753: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
m4trace:configure.in:755: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
m4trace:configure.in:755: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
#undef bits32_t])
m4trace:configure.in:753: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
m4trace:configure.in:753: -1- AH_OUTPUT([bits32_t], [/* Define to `long\' if <sys/types.h> does not define. */
m4trace:configure.in:755: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
m4trace:configure.in:755: -1- AH_OUTPUT([bits32_t], [/* Define to `long\' if <sys/types.h> does not define. */
#undef bits32_t])
m4trace:configure.in:753: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
m4trace:configure.in:753: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
m4trace:configure.in:755: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
m4trace:configure.in:755: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
#undef bits32_t])
m4trace:configure.in:754: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
m4trace:configure.in:754: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
m4trace:configure.in:756: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
m4trace:configure.in:756: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
#undef u_bits32_t])
m4trace:configure.in:754: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
m4trace:configure.in:754: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
m4trace:configure.in:756: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
m4trace:configure.in:756: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
#undef u_bits32_t])
m4trace:configure.in:754: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
m4trace:configure.in:754: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
m4trace:configure.in:756: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
m4trace:configure.in:756: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
#undef u_bits32_t])
m4trace:configure.in:755: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
m4trace:configure.in:755: -1- AH_OUTPUT([bits64_t], [/* Define to `char *\' if <sys/types.h> does not define. */
m4trace:configure.in:757: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
m4trace:configure.in:757: -1- AH_OUTPUT([bits64_t], [/* Define to `char *\' if <sys/types.h> does not define. */
#undef bits64_t])
m4trace:configure.in:755: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
m4trace:configure.in:755: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
m4trace:configure.in:757: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
m4trace:configure.in:757: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
#undef bits64_t])
m4trace:configure.in:755: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
m4trace:configure.in:755: -1- AH_OUTPUT([bits64_t], [/* Define to `long long\' if <sys/types.h> does not define. */
m4trace:configure.in:757: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
m4trace:configure.in:757: -1- AH_OUTPUT([bits64_t], [/* Define to `long long\' if <sys/types.h> does not define. */
#undef bits64_t])
m4trace:configure.in:755: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
m4trace:configure.in:755: -1- AH_OUTPUT([bits64_t], [/* Define to `long\' if <sys/types.h> does not define. */
m4trace:configure.in:757: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
m4trace:configure.in:757: -1- AH_OUTPUT([bits64_t], [/* Define to `long\' if <sys/types.h> does not define. */
#undef bits64_t])
m4trace:configure.in:755: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
m4trace:configure.in:755: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
m4trace:configure.in:757: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
m4trace:configure.in:757: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
#undef bits64_t])
m4trace:configure.in:757: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
m4trace:configure.in:757: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
m4trace:configure.in:759: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
m4trace:configure.in:759: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
#undef ptrdiff_t])
m4trace:configure.in:757: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
m4trace:configure.in:757: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long\' if <sys/types.h> does not define. */
m4trace:configure.in:759: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
m4trace:configure.in:759: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long\' if <sys/types.h> does not define. */
#undef ptrdiff_t])
m4trace:configure.in:757: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
m4trace:configure.in:757: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long long\' if <sys/types.h> does not define. */
m4trace:configure.in:759: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
m4trace:configure.in:759: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long long\' if <sys/types.h> does not define. */
#undef ptrdiff_t])
m4trace:configure.in:757: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
m4trace:configure.in:757: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
m4trace:configure.in:759: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
m4trace:configure.in:759: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
#undef ptrdiff_t])
m4trace:configure.in:760: -1- AC_HEADER_STAT
m4trace:configure.in:760: -1- AC_DEFINE_TRACE_LITERAL([STAT_MACROS_BROKEN])
m4trace:configure.in:760: -1- AH_OUTPUT([STAT_MACROS_BROKEN], [/* Define to 1 if the `S_IS*\' macros in <sys/stat.h> do not work properly. */
m4trace:configure.in:762: -1- AC_HEADER_STAT
m4trace:configure.in:762: -1- AC_DEFINE_TRACE_LITERAL([STAT_MACROS_BROKEN])
m4trace:configure.in:762: -1- AH_OUTPUT([STAT_MACROS_BROKEN], [/* Define to 1 if the `S_IS*\' macros in <sys/stat.h> do not work properly. */
#undef STAT_MACROS_BROKEN])
m4trace:configure.in:765: -1- AC_DEFINE_TRACE_LITERAL([HAVE_HASH_BANG_EXEC])
m4trace:configure.in:770: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LSTAT])
m4trace:configure.in:774: -1- AC_DEFINE_TRACE_LITERAL([CTYPE_NON_ASCII])
m4trace:configure.in:775: -1- AC_DEFINE_TRACE_LITERAL([DUP2_BROKEN])
m4trace:configure.in:776: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
m4trace:configure.in:777: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGNALS])
m4trace:configure.in:777: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BSD_SIGNALS])
m4trace:configure.in:777: -1- AC_DEFINE_TRACE_LITERAL([HAVE_USG_SIGHOLD])
m4trace:configure.in:780: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_ERRLIST])
m4trace:configure.in:781: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_SIGLIST])
m4trace:configure.in:782: -1- AC_DEFINE_TRACE_LITERAL([UNDER_SYS_SIGLIST_DECLARED])
m4trace:configure.in:782: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNDER_SYS_SIGLIST])
m4trace:configure.in:785: -1- AC_DEFINE_TRACE_LITERAL([VOID_SIGHANDLER])
m4trace:configure.in:786: -1- AC_DEFINE_TRACE_LITERAL([clock_t])
m4trace:configure.in:787: -1- AC_DEFINE_TRACE_LITERAL([sigset_t])
m4trace:configure.in:788: -1- AC_DEFINE_TRACE_LITERAL([HAVE_QUAD_T])
m4trace:configure.in:788: -1- AC_DEFINE_TRACE_LITERAL([quad_t])
m4trace:configure.in:789: -1- AC_DEFINE_TRACE_LITERAL([intmax_t])
m4trace:configure.in:790: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
m4trace:configure.in:792: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKLEN_T])
m4trace:configure.in:792: -1- AC_DEFINE_TRACE_LITERAL([socklen_t])
m4trace:configure.in:794: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
m4trace:configure.in:794: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
m4trace:configure.in:797: -2- AC_DEFINE_TRACE_LITERAL([TERMIOS_LDISC])
m4trace:configure.in:798: -2- AC_DEFINE_TRACE_LITERAL([TERMIO_LDISC])
m4trace:configure.in:799: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_DIRENT_HAS_D_INO])
m4trace:configure.in:800: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_DIRENT_HAS_D_FILENO])
m4trace:configure.in:801: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_SYS_IOCTL])
m4trace:configure.in:801: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_TERMIOS])
m4trace:configure.in:802: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIMEVAL])
m4trace:configure.in:803: -1- AC_CHECK_MEMBERS([struct stat.st_blocks])
m4trace:configure.in:803: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_BLOCKS])
m4trace:configure.in:803: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_BLOCKS], [/* Define to 1 if `st_blocks\' is member of `struct stat\'. */
m4trace:configure.in:767: -1- AC_DEFINE_TRACE_LITERAL([HAVE_HASH_BANG_EXEC])
m4trace:configure.in:772: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LSTAT])
m4trace:configure.in:776: -1- AC_DEFINE_TRACE_LITERAL([CTYPE_NON_ASCII])
m4trace:configure.in:777: -1- AC_DEFINE_TRACE_LITERAL([DUP2_BROKEN])
m4trace:configure.in:778: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
m4trace:configure.in:779: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGNALS])
m4trace:configure.in:779: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BSD_SIGNALS])
m4trace:configure.in:779: -1- AC_DEFINE_TRACE_LITERAL([HAVE_USG_SIGHOLD])
m4trace:configure.in:782: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_ERRLIST])
m4trace:configure.in:783: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_SIGLIST])
m4trace:configure.in:784: -1- AC_DEFINE_TRACE_LITERAL([UNDER_SYS_SIGLIST_DECLARED])
m4trace:configure.in:784: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNDER_SYS_SIGLIST])
m4trace:configure.in:787: -1- AC_DEFINE_TRACE_LITERAL([VOID_SIGHANDLER])
m4trace:configure.in:788: -1- AC_DEFINE_TRACE_LITERAL([clock_t])
m4trace:configure.in:789: -1- AC_DEFINE_TRACE_LITERAL([sigset_t])
m4trace:configure.in:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_QUAD_T])
m4trace:configure.in:790: -1- AC_DEFINE_TRACE_LITERAL([quad_t])
m4trace:configure.in:791: -1- AC_DEFINE_TRACE_LITERAL([intmax_t])
m4trace:configure.in:792: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
m4trace:configure.in:794: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKLEN_T])
m4trace:configure.in:794: -1- AC_DEFINE_TRACE_LITERAL([socklen_t])
m4trace:configure.in:796: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
m4trace:configure.in:796: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
m4trace:configure.in:799: -2- AC_DEFINE_TRACE_LITERAL([TERMIOS_LDISC])
m4trace:configure.in:800: -2- AC_DEFINE_TRACE_LITERAL([TERMIO_LDISC])
m4trace:configure.in:801: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_DIRENT_HAS_D_INO])
m4trace:configure.in:802: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_DIRENT_HAS_D_FILENO])
m4trace:configure.in:803: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_SYS_IOCTL])
m4trace:configure.in:803: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_TERMIOS])
m4trace:configure.in:804: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIMEVAL])
m4trace:configure.in:805: -1- AC_CHECK_MEMBERS([struct stat.st_blocks])
m4trace:configure.in:805: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_BLOCKS])
m4trace:configure.in:805: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_BLOCKS], [/* Define to 1 if `st_blocks\' is member of `struct stat\'. */
#undef HAVE_STRUCT_STAT_ST_BLOCKS])
m4trace:configure.in:804: -1- AC_STRUCT_TM
m4trace:configure.in:804: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
m4trace:configure.in:804: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares `struct tm\'. */
m4trace:configure.in:806: -1- AC_STRUCT_TM
m4trace:configure.in:806: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
m4trace:configure.in:806: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares `struct tm\'. */
#undef TM_IN_SYS_TIME])
m4trace:configure.in:805: -1- AC_STRUCT_TIMEZONE
m4trace:configure.in:805: -1- AC_CHECK_MEMBERS([struct tm.tm_zone], [], [], [#include <sys/types.h>
m4trace:configure.in:807: -1- AC_STRUCT_TIMEZONE
m4trace:configure.in:807: -1- AC_CHECK_MEMBERS([struct tm.tm_zone], [], [], [#include <sys/types.h>
#include <$ac_cv_struct_tm>
])
m4trace:configure.in:805: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TM_TM_ZONE])
m4trace:configure.in:805: -1- AH_OUTPUT([HAVE_STRUCT_TM_TM_ZONE], [/* Define to 1 if `tm_zone\' is member of `struct tm\'. */
m4trace:configure.in:807: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TM_TM_ZONE])
m4trace:configure.in:807: -1- AH_OUTPUT([HAVE_STRUCT_TM_TM_ZONE], [/* Define to 1 if `tm_zone\' is member of `struct tm\'. */
#undef HAVE_STRUCT_TM_TM_ZONE])
m4trace:configure.in:805: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TM_ZONE])
m4trace:configure.in:805: -1- AH_OUTPUT([HAVE_TM_ZONE], [/* Define to 1 if your `struct tm\' has `tm_zone\'. Deprecated, use
m4trace:configure.in:807: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TM_ZONE])
m4trace:configure.in:807: -1- AH_OUTPUT([HAVE_TM_ZONE], [/* Define to 1 if your `struct tm\' has `tm_zone\'. Deprecated, use
`HAVE_STRUCT_TM_TM_ZONE\' instead. */
#undef HAVE_TM_ZONE])
m4trace:configure.in:805: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TZNAME])
m4trace:configure.in:805: -1- AH_OUTPUT([HAVE_TZNAME], [/* Define to 1 if you don\'t have `tm_zone\' but do have the external array
m4trace:configure.in:807: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TZNAME])
m4trace:configure.in:807: -1- AH_OUTPUT([HAVE_TZNAME], [/* Define to 1 if you don\'t have `tm_zone\' but do have the external array
`tzname\'. */
#undef HAVE_TZNAME])
m4trace:configure.in:806: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMEZONE])
m4trace:configure.in:809: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSIGNAL])
m4trace:configure.in:810: -1- AC_DEFINE_TRACE_LITERAL([OPENDIR_NOT_ROBUST])
m4trace:configure.in:811: -1- AC_DEFINE_TRACE_LITERAL([ULIMIT_MAXFDS])
m4trace:configure.in:812: -1- AC_DEFINE_TRACE_LITERAL([CAN_REDEFINE_GETENV])
m4trace:configure.in:814: -1- AC_DEFINE_TRACE_LITERAL([GETCWD_BROKEN])
m4trace:configure.in:814: -1- AC_LIBSOURCE([getcwd.c])
m4trace:configure.in:814: -1- AC_SUBST([LIB@&t@OBJS])
m4trace:configure.in:816: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGSETJMP])
m4trace:configure.in:817: -1- AC_DEFINE_TRACE_LITERAL([STRCOLL_BROKEN])
m4trace:configure.in:823: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
m4trace:configure.in:808: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMEZONE])
m4trace:configure.in:811: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSIGNAL])
m4trace:configure.in:812: -1- AC_DEFINE_TRACE_LITERAL([OPENDIR_NOT_ROBUST])
m4trace:configure.in:813: -1- AC_DEFINE_TRACE_LITERAL([ULIMIT_MAXFDS])
m4trace:configure.in:814: -1- AC_DEFINE_TRACE_LITERAL([CAN_REDEFINE_GETENV])
m4trace:configure.in:816: -1- AC_DEFINE_TRACE_LITERAL([GETCWD_BROKEN])
m4trace:configure.in:816: -1- AC_LIBSOURCE([getcwd.c])
m4trace:configure.in:816: -1- AC_SUBST([LIB@&t@OBJS])
m4trace:configure.in:818: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGSETJMP])
m4trace:configure.in:819: -1- AC_DEFINE_TRACE_LITERAL([STRCOLL_BROKEN])
m4trace:configure.in:825: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
m4trace:configure.in:828: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
m4trace:configure.in:827: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
m4trace:configure.in:830: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
m4trace:configure.in:845: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRINTF_A_FORMAT])
m4trace:configure.in:848: -1- AC_DEFINE_TRACE_LITERAL([MUST_REINSTALL_SIGHANDLERS])
m4trace:configure.in:849: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL_MISSING])
m4trace:configure.in:850: -1- AC_DEFINE_TRACE_LITERAL([NAMED_PIPES_MISSING])
m4trace:configure.in:853: -1- AC_DEFINE_TRACE_LITERAL([GWINSZ_IN_SYS_IOCTL])
m4trace:configure.in:853: -1- AH_OUTPUT([GWINSZ_IN_SYS_IOCTL], [/* Define to 1 if `TIOCGWINSZ\' requires <sys/ioctl.h>. */
m4trace:configure.in:832: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
m4trace:configure.in:847: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRINTF_A_FORMAT])
m4trace:configure.in:850: -1- AC_DEFINE_TRACE_LITERAL([MUST_REINSTALL_SIGHANDLERS])
m4trace:configure.in:851: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL_MISSING])
m4trace:configure.in:852: -1- AC_DEFINE_TRACE_LITERAL([NAMED_PIPES_MISSING])
m4trace:configure.in:855: -1- AC_DEFINE_TRACE_LITERAL([GWINSZ_IN_SYS_IOCTL])
m4trace:configure.in:855: -1- AH_OUTPUT([GWINSZ_IN_SYS_IOCTL], [/* Define to 1 if `TIOCGWINSZ\' requires <sys/ioctl.h>. */
#undef GWINSZ_IN_SYS_IOCTL])
m4trace:configure.in:854: -1- AC_DEFINE_TRACE_LITERAL([TIOCSTAT_IN_SYS_IOCTL])
m4trace:configure.in:855: -1- AC_DEFINE_TRACE_LITERAL([FIONREAD_IN_SYS_IOCTL])
m4trace:configure.in:858: -1- AC_DEFINE_TRACE_LITERAL([SPEED_T_IN_SYS_TYPES])
m4trace:configure.in:859: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPW_DECLS])
m4trace:configure.in:860: -1- AC_DEFINE_TRACE_LITERAL([UNUSABLE_RT_SIGNALS])
m4trace:configure.in:861: -1- AC_SUBST([SIGLIST_O])
m4trace:configure.in:865: -1- AC_DEFINE_TRACE_LITERAL([RLIMIT_NEEDS_KERNEL])
m4trace:configure.in:873: -1- AC_CHECK_LIB([termcap], [tgetent], [bash_cv_termcap_lib=libtermcap], [AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcap_lib=libtinfo,
m4trace:configure.in:856: -1- AC_DEFINE_TRACE_LITERAL([TIOCSTAT_IN_SYS_IOCTL])
m4trace:configure.in:857: -1- AC_DEFINE_TRACE_LITERAL([FIONREAD_IN_SYS_IOCTL])
m4trace:configure.in:860: -1- AC_DEFINE_TRACE_LITERAL([SPEED_T_IN_SYS_TYPES])
m4trace:configure.in:861: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPW_DECLS])
m4trace:configure.in:862: -1- AC_DEFINE_TRACE_LITERAL([UNUSABLE_RT_SIGNALS])
m4trace:configure.in:863: -1- AC_SUBST([SIGLIST_O])
m4trace:configure.in:867: -1- AC_DEFINE_TRACE_LITERAL([RLIMIT_NEEDS_KERNEL])
m4trace:configure.in:875: -1- AC_CHECK_LIB([termcap], [tgetent], [bash_cv_termcap_lib=libtermcap], [AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcap_lib=libtinfo,
[AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
[AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
bash_cv_termcap_lib=gnutermcap)])])])
m4trace:configure.in:873: -1- AC_CHECK_LIB([tinfo], [tgetent], [bash_cv_termcap_lib=libtinfo], [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
m4trace:configure.in:875: -1- AC_CHECK_LIB([tinfo], [tgetent], [bash_cv_termcap_lib=libtinfo], [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
[AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
bash_cv_termcap_lib=gnutermcap)])])
m4trace:configure.in:873: -1- AC_CHECK_LIB([curses], [tgetent], [bash_cv_termcap_lib=libcurses], [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
m4trace:configure.in:875: -1- AC_CHECK_LIB([curses], [tgetent], [bash_cv_termcap_lib=libcurses], [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
bash_cv_termcap_lib=gnutermcap)])
m4trace:configure.in:873: -1- AC_CHECK_LIB([ncurses], [tgetent], [bash_cv_termcap_lib=libncurses], [bash_cv_termcap_lib=gnutermcap])
m4trace:configure.in:875: -1- AC_SUBST([TERMCAP_LIB])
m4trace:configure.in:876: -1- AC_SUBST([TERMCAP_DEP])
m4trace:configure.in:878: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
m4trace:configure.in:878: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
m4trace:configure.in:878: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
m4trace:configure.in:878: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
m4trace:configure.in:879: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_STDIN])
m4trace:configure.in:880: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_MAIL_DIRECTORY])
m4trace:configure.in:887: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL])
m4trace:configure.in:893: -1- AC_SUBST([JOBS_O])
m4trace:configure.in:906: -1- AC_DEFINE_TRACE_LITERAL([SVR4_2])
m4trace:configure.in:907: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
m4trace:configure.in:908: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
m4trace:configure.in:909: -1- AC_DEFINE_TRACE_LITERAL([SVR5])
m4trace:configure.in:966: -1- AC_SUBST([SHOBJ_CC])
m4trace:configure.in:967: -1- AC_SUBST([SHOBJ_CFLAGS])
m4trace:configure.in:968: -1- AC_SUBST([SHOBJ_LD])
m4trace:configure.in:969: -1- AC_SUBST([SHOBJ_LDFLAGS])
m4trace:configure.in:970: -1- AC_SUBST([SHOBJ_XLDFLAGS])
m4trace:configure.in:971: -1- AC_SUBST([SHOBJ_LIBS])
m4trace:configure.in:972: -1- AC_SUBST([SHOBJ_STATUS])
m4trace:configure.in:993: -1- AC_SUBST([PROFILE_FLAGS])
m4trace:configure.in:995: -1- AC_SUBST([incdir])
m4trace:configure.in:996: -1- AC_SUBST([BUILD_DIR])
m4trace:configure.in:998: -1- AC_SUBST([YACC])
m4trace:configure.in:999: -1- AC_SUBST([AR])
m4trace:configure.in:1000: -1- AC_SUBST([ARFLAGS])
m4trace:configure.in:1002: -1- AC_SUBST([BASHVERS])
m4trace:configure.in:1003: -1- AC_SUBST([RELSTATUS])
m4trace:configure.in:1004: -1- AC_SUBST([DEBUG])
m4trace:configure.in:1005: -1- AC_SUBST([MALLOC_DEBUG])
m4trace:configure.in:1007: -1- AC_SUBST([host_cpu])
m4trace:configure.in:1008: -1- AC_SUBST([host_vendor])
m4trace:configure.in:1009: -1- AC_SUBST([host_os])
m4trace:configure.in:1011: -1- AC_SUBST([LOCAL_LIBS])
m4trace:configure.in:1012: -1- AC_SUBST([LOCAL_CFLAGS])
m4trace:configure.in:1013: -1- AC_SUBST([LOCAL_LDFLAGS])
m4trace:configure.in:1014: -1- AC_SUBST([LOCAL_DEFS])
m4trace:configure.in:1028: -1- AC_CONFIG_FILES([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
m4trace:configure.in:875: -1- AC_CHECK_LIB([ncurses], [tgetent], [bash_cv_termcap_lib=libncurses], [bash_cv_termcap_lib=gnutermcap])
m4trace:configure.in:877: -1- AC_SUBST([TERMCAP_LIB])
m4trace:configure.in:878: -1- AC_SUBST([TERMCAP_DEP])
m4trace:configure.in:880: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
m4trace:configure.in:880: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
m4trace:configure.in:880: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
m4trace:configure.in:880: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
m4trace:configure.in:881: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_STDIN])
m4trace:configure.in:882: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_MAIL_DIRECTORY])
m4trace:configure.in:889: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL])
m4trace:configure.in:895: -1- AC_SUBST([JOBS_O])
m4trace:configure.in:908: -1- AC_DEFINE_TRACE_LITERAL([SVR4_2])
m4trace:configure.in:909: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
m4trace:configure.in:910: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
m4trace:configure.in:911: -1- AC_DEFINE_TRACE_LITERAL([SVR5])
m4trace:configure.in:968: -1- AC_SUBST([SHOBJ_CC])
m4trace:configure.in:969: -1- AC_SUBST([SHOBJ_CFLAGS])
m4trace:configure.in:970: -1- AC_SUBST([SHOBJ_LD])
m4trace:configure.in:971: -1- AC_SUBST([SHOBJ_LDFLAGS])
m4trace:configure.in:972: -1- AC_SUBST([SHOBJ_XLDFLAGS])
m4trace:configure.in:973: -1- AC_SUBST([SHOBJ_LIBS])
m4trace:configure.in:974: -1- AC_SUBST([SHOBJ_STATUS])
m4trace:configure.in:995: -1- AC_SUBST([PROFILE_FLAGS])
m4trace:configure.in:997: -1- AC_SUBST([incdir])
m4trace:configure.in:998: -1- AC_SUBST([BUILD_DIR])
m4trace:configure.in:1000: -1- AC_SUBST([YACC])
m4trace:configure.in:1001: -1- AC_SUBST([AR])
m4trace:configure.in:1002: -1- AC_SUBST([ARFLAGS])
m4trace:configure.in:1004: -1- AC_SUBST([BASHVERS])
m4trace:configure.in:1005: -1- AC_SUBST([RELSTATUS])
m4trace:configure.in:1006: -1- AC_SUBST([DEBUG])
m4trace:configure.in:1007: -1- AC_SUBST([MALLOC_DEBUG])
m4trace:configure.in:1009: -1- AC_SUBST([host_cpu])
m4trace:configure.in:1010: -1- AC_SUBST([host_vendor])
m4trace:configure.in:1011: -1- AC_SUBST([host_os])
m4trace:configure.in:1013: -1- AC_SUBST([LOCAL_LIBS])
m4trace:configure.in:1014: -1- AC_SUBST([LOCAL_CFLAGS])
m4trace:configure.in:1015: -1- AC_SUBST([LOCAL_LDFLAGS])
m4trace:configure.in:1016: -1- AC_SUBST([LOCAL_DEFS])
m4trace:configure.in:1030: -1- AC_CONFIG_FILES([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
lib/intl/Makefile \
lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \
lib/tilde/Makefile doc/Makefile support/Makefile po/Makefile.in \
examples/loadables/Makefile examples/loadables/perl/Makefile \
pathnames.h])
m4trace:configure.in:1028: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.in:1028: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
m4trace:configure.in:1030: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.in:1030: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
+12 -2
View File
@@ -324,6 +324,9 @@ enable_hostname_completion (on_or_off)
void
initialize_readline ()
{
rl_command_func_t *func;
char kseq[2];
if (bash_readline_initialized)
return;
@@ -395,8 +398,15 @@ initialize_readline ()
/* In Bash, the user can switch editing modes with "set -o [vi emacs]",
so it is not necessary to allow C-M-j for context switching. Turn
off this occasionally confusing behaviour. */
rl_unbind_key_in_map (CTRL('J'), emacs_meta_keymap);
rl_unbind_key_in_map (CTRL('M'), emacs_meta_keymap);
kseq[0] = CTRL('J');
kseq[1] = '\0';
func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL);
if (func == rl_vi_editing_mode)
rl_unbind_key_in_map (CTRL('J'), emacs_meta_keymap);
kseq[0] = CTRL('M');
func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL);
if (func == rl_vi_editing_mode)
rl_unbind_key_in_map (CTRL('M'), emacs_meta_keymap);
#if defined (VI_MODE)
rl_unbind_key_in_map (CTRL('E'), vi_movement_keymap);
#endif
+43 -36
View File
@@ -50,6 +50,8 @@ INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
BUILD_DIR = @BUILD_DIR@
LIBBUILD = ${BUILD_DIR}/lib
PROFILE_FLAGS = @PROFILE_FLAGS@
CFLAGS = @CFLAGS@
CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
@@ -70,10 +72,15 @@ BASHINCDIR = ${topdir}/include
RL_INCLUDEDIR = @RL_INCLUDEDIR@
INTL_LIBSRC = ${topdir}/lib/intl
INTL_BUILDDIR = ${LIBBUILD}/intl
INTL_INC = @INTL_INC@
LIBINTL_H = @LIBINTL_H@
HELPDIR = @HELPDIR@
MKDIRS = ${topdir}/support/mkdirs
INCLUDES = -I. -I.. @RL_INCLUDE@ -I$(topdir) -I$(BASHINCDIR) -I$(topdir)/lib -I$(srcdir)
INCLUDES = -I. -I.. @RL_INCLUDE@ -I$(topdir) -I$(BASHINCDIR) -I$(topdir)/lib -I$(srcdir) ${INTL_INC}
BASE_CCFLAGS = ${PROFILE_FLAGS} $(DEFS) $(LOCAL_DEFS) $(SYSTEM_FLAGS) \
${INCLUDES} $(LOCAL_CFLAGS)
@@ -577,38 +584,38 @@ complete.o: ${srcdir}/common.h ${srcdir}/bashgetopt.h
#bind.o: $(RL_LIBSRC)chardefs.h $(RL_LIBSRC)readline.h $(RL_LIBSRC)keymaps.h
# libintl dependencies
bind.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
break.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
caller.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
cd.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
common.c: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
complete.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
declare.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
enable.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
evalfile.c: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
exec.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
exit.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
fc.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
fg_bg.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
getopt.c: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
hash.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
help.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
history.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
inlib.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
jobs.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
kill.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
let.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
mkbuiltins.c: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
printf.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
pushd.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
read.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
return.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
set.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
setattr.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
shift.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
shopt.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
source.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
suspend.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
type.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
ulimit.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
umask.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
bind.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
break.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
caller.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
cd.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
common.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
complete.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
declare.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
enable.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
evalfile.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
exec.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
exit.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
fc.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
fg_bg.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
getopt.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
hash.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
help.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
history.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
inlib.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
jobs.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
kill.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
let.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
mkbuiltins.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
printf.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
pushd.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
read.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
return.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
set.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
setattr.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
shift.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
shopt.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
source.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
suspend.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
type.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
ulimit.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
umask.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+5 -4
View File
@@ -573,7 +573,11 @@ get_job_spec (list)
word = list->word->word;
if (*word == '\0')
#if 0
return (current_job);
#else
return (NO_JOB);
#endif
if (*word == '%')
word++;
@@ -581,17 +585,14 @@ get_job_spec (list)
if (DIGIT (*word) && all_digits (word))
{
job = atoi (word);
#if 0
return (job >= job_slots ? NO_JOB : job - 1);
#else
return (job > job_slots ? NO_JOB : job - 1);
#endif
}
jflags = 0;
switch (*word)
{
case 0:
return NO_JOB;
case '%':
case '+':
return (current_job);
+818
View File
@@ -0,0 +1,818 @@
/* Copyright (C) 1987-2002 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
Bash is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
version.
Bash is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License along
with Bash; see the file COPYING. If not, write to the Free Software
Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
#include <config.h>
#if defined (HAVE_UNISTD_H)
# ifdef _MINIX
# include <sys/types.h>
# endif
# include <unistd.h>
#endif
#include <stdio.h>
#include <chartypes.h>
#include "../bashtypes.h"
#include "posixstat.h"
#include <signal.h>
#include <errno.h>
#if defined (PREFER_STDARG)
# include <stdarg.h>
#else
# include <varargs.h>
#endif
#include "../bashansi.h"
#include "../bashintl.h"
#include "../shell.h"
#include "maxpath.h"
#include "../flags.h"
#include "../jobs.h"
#include "../builtins.h"
#include "../input.h"
#include "../execute_cmd.h"
#include "../trap.h"
#include "bashgetopt.h"
#include "common.h"
#include "builtext.h"
#include <tilde/tilde.h>
#if defined (HISTORY)
# include "../bashhist.h"
#endif
#if !defined (errno)
extern int errno;
#endif /* !errno */
extern int indirection_level, subshell_environment;
extern int line_number;
extern int last_command_exit_value;
extern int running_trap;
extern int posixly_correct;
extern char *this_command_name, *shell_name;
extern char *bash_getcwd_errstr;
/* Used by some builtins and the mainline code. */
sh_builtin_func_t *last_shell_builtin = (sh_builtin_func_t *)NULL;
sh_builtin_func_t *this_shell_builtin = (sh_builtin_func_t *)NULL;
/* **************************************************************** */
/* */
/* Error reporting, usage, and option processing */
/* */
/* **************************************************************** */
/* This is a lot like report_error (), but it is for shell builtins
instead of shell control structures, and it won't ever exit the
shell. */
void
#if defined (PREFER_STDARG)
builtin_error (const char *format, ...)
#else
builtin_error (format, va_alist)
const char *format;
va_dcl
#endif
{
va_list args;
char *name;
name = get_name_for_error ();
fprintf (stderr, "%s: ", name);
if (interactive_shell == 0)
fprintf (stderr, "line %d: ", executing_line_number ());
if (this_command_name && *this_command_name)
fprintf (stderr, "%s: ", this_command_name);
SH_VA_START (args, format);
vfprintf (stderr, format, args);
va_end (args);
fprintf (stderr, "\n");
}
/* Print a usage summary for the currently-executing builtin command. */
void
builtin_usage ()
{
if (this_command_name && *this_command_name)
fprintf (stderr, "%s: usage: ", this_command_name);
fprintf (stderr, "%s\n", current_builtin->short_doc);
fflush (stderr);
}
/* Return if LIST is NULL else barf and jump to top_level. Used by some
builtins that do not accept arguments. */
void
no_args (list)
WORD_LIST *list;
{
if (list)
{
builtin_error (_("too many arguments"));
jump_to_top_level (DISCARD);
}
}
/* Check that no options were given to the currently-executing builtin,
and return 0 if there were options. */
int
no_options (list)
WORD_LIST *list;
{
reset_internal_getopt ();
if (internal_getopt (list, "") != -1)
{
builtin_usage ();
return (1);
}
return (0);
}
void
sh_needarg (s)
char *s;
{
builtin_error (_("%s: option requires an argument"), s);
}
void
sh_neednumarg (s)
char *s;
{
builtin_error (_("%s: numeric argument required"), s);
}
void
sh_notfound (s)
char *s;
{
builtin_error (_("%s: not found"), s);
}
/* Function called when one of the builtin commands detects an invalid
option. */
void
sh_invalidopt (s)
char *s;
{
builtin_error (_("%s: invalid option"), s);
}
void
sh_invalidoptname (s)
char *s;
{
builtin_error (_("%s: invalid option name"), s);
}
void
sh_invalidid (s)
char *s;
{
builtin_error (_("`%s': not a valid identifier"), s);
}
void
sh_invalidnum (s)
char *s;
{
builtin_error (_("%s: invalid number"), s);
}
void
sh_invalidsig (s)
char *s;
{
builtin_error (_("%s: invalid signal specification"), s);
}
void
sh_badpid (s)
char *s;
{
builtin_error (_("`%s': not a pid or valid job spec"), s);
}
void
sh_readonly (s)
const char *s;
{
builtin_error (_("%s: readonly variable"), s);
}
void
sh_erange (s, desc)
char *s, *desc;
{
if (s)
builtin_error (_("%s: %s out of range"), s, desc ? desc : _("argument"));
else
builtin_error (_("%s out of range"), desc ? desc : _("argument"));
}
#if defined (JOB_CONTROL)
void
sh_badjob (s)
char *s;
{
builtin_error (_("%s: no such job"), s);
}
void
sh_nojobs (s)
char *s;
{
if (s)
builtin_error (_("%s: no job control"), s);
else
builtin_error (_("no job control"));
}
#endif
#if defined (RESTRICTED_SHELL)
void
sh_restricted (s)
char *s;
{
if (s)
builtin_error (_("%s: restricted"), s);
else
builtin_error (_("restricted"));
}
#endif
void
sh_notbuiltin (s)
char *s;
{
builtin_error (_("%s: not a shell builtin"), s);
}
/* **************************************************************** */
/* */
/* Shell positional parameter manipulation */
/* */
/* **************************************************************** */
/* Convert a WORD_LIST into a C-style argv. Return the number of elements
in the list in *IP, if IP is non-null. A convenience function for
loadable builtins; also used by `test'. */
char **
make_builtin_argv (list, ip)
WORD_LIST *list;
int *ip;
{
char **argv;
argv = strvec_from_word_list (list, 0, 1, ip);
argv[0] = this_command_name;
return argv;
}
/* Remember LIST in $0 ... $9, and REST_OF_ARGS. If DESTRUCTIVE is
non-zero, then discard whatever the existing arguments are, else
only discard the ones that are to be replaced. */
void
remember_args (list, destructive)
WORD_LIST *list;
int destructive;
{
register int i;
for (i = 1; i < 10; i++)
{
if ((destructive || list) && dollar_vars[i])
{
free (dollar_vars[i]);
dollar_vars[i] = (char *)NULL;
}
if (list)
{
dollar_vars[i] = savestring (list->word->word);
list = list->next;
}
}
/* If arguments remain, assign them to REST_OF_ARGS.
Note that copy_word_list (NULL) returns NULL, and
that dispose_words (NULL) does nothing. */
if (destructive || list)
{
dispose_words (rest_of_args);
rest_of_args = copy_word_list (list);
}
if (destructive)
set_dollar_vars_changed ();
}
static int changed_dollar_vars;
/* Have the dollar variables been reset to new values since we last
checked? */
int
dollar_vars_changed ()
{
return (changed_dollar_vars);
}
void
set_dollar_vars_unchanged ()
{
changed_dollar_vars = 0;
}
void
set_dollar_vars_changed ()
{
if (variable_context)
changed_dollar_vars |= ARGS_FUNC;
else if (this_shell_builtin == set_builtin)
changed_dollar_vars |= ARGS_SETBLTIN;
else
changed_dollar_vars |= ARGS_INVOC;
}
/* **************************************************************** */
/* */
/* Validating numeric input and arguments */
/* */
/* **************************************************************** */
/* Read a numeric arg for this_command_name, the name of the shell builtin
that wants it. LIST is the word list that the arg is to come from.
Accept only the numeric argument; report an error if other arguments
follow. If FATAL is true, call throw_to_top_level, which exits the
shell; if not, call jump_to_top_level (DISCARD), which aborts the
current command. */
intmax_t
get_numeric_arg (list, fatal)
WORD_LIST *list;
int fatal;
{
intmax_t count = 1;
if (list && list->word && ISOPTION (list->word->word, '-'))
list = list->next;
if (list)
{
register char *arg;
arg = list->word->word;
if (arg == 0 || (legal_number (arg, &count) == 0))
{
sh_neednumarg (list->word->word);
if (fatal)
throw_to_top_level ();
else
jump_to_top_level (DISCARD);
}
no_args (list->next);
}
return (count);
}
/* Get an eight-bit status value from LIST */
int
get_exitstat (list)
WORD_LIST *list;
{
int status;
intmax_t sval;
char *arg;
if (list && list->word && ISOPTION (list->word->word, '-'))
list = list->next;
if (list == 0)
return (last_command_exit_value);
arg = list->word->word;
if (arg == 0 || legal_number (arg, &sval) == 0)
{
sh_neednumarg (list->word->word ? list->word->word : "`'");
return 255;
}
no_args (list->next);
status = sval & 255;
return status;
}
/* Return the octal number parsed from STRING, or -1 to indicate
that the string contained a bad number. */
int
read_octal (string)
char *string;
{
int result, digits;
result = digits = 0;
while (*string && ISOCTAL (*string))
{
digits++;
result = (result * 8) + (*string++ - '0');
if (result > 0777)
return -1;
}
if (digits == 0 || *string)
result = -1;
return (result);
}
/* **************************************************************** */
/* */
/* Manipulating the current working directory */
/* */
/* **************************************************************** */
/* Return a consed string which is the current working directory.
FOR_WHOM is the name of the caller for error printing. */
char *the_current_working_directory = (char *)NULL;
char *
get_working_directory (for_whom)
char *for_whom;
{
char *directory;
if (no_symbolic_links)
{
if (the_current_working_directory)
free (the_current_working_directory);
the_current_working_directory = (char *)NULL;
}
if (the_current_working_directory == 0)
{
the_current_working_directory = (char *)xmalloc (PATH_MAX);
the_current_working_directory[0] = '\0';
directory = getcwd (the_current_working_directory, PATH_MAX);
if (directory == 0)
{
fprintf (stderr, _("%s: could not get current directory: %s: %s\n"),
(for_whom && *for_whom) ? for_whom : get_name_for_error (),
_(bash_getcwd_errstr), strerror (errno));
free (the_current_working_directory);
the_current_working_directory = (char *)NULL;
return (char *)NULL;
}
}
return (savestring (the_current_working_directory));
}
/* Make NAME our internal idea of the current working directory. */
void
set_working_directory (name)
char *name;
{
FREE (the_current_working_directory);
the_current_working_directory = savestring (name);
}
/* **************************************************************** */
/* */
/* Job control support functions */
/* */
/* **************************************************************** */
#if defined (JOB_CONTROL)
int
get_job_by_name (name, flags)
const char *name;
int flags;
{
register int i, wl, cl, match, job;
register PROCESS *p;
job = NO_JOB;
wl = strlen (name);
for (i = job_slots - 1; i >= 0; i--)
{
if (jobs[i] == 0 || ((flags & JM_STOPPED) && JOBSTATE(i) != JSTOPPED))
continue;
p = jobs[i]->pipe;
do
{
if (flags & JM_EXACT)
{
cl = strlen (p->command);
match = STREQN (p->command, name, cl);
}
else if (flags & JM_SUBSTRING)
match = strindex (p->command, name) != (char *)0;
else
match = STREQN (p->command, name, wl);
if (match == 0)
{
p = p->next;
continue;
}
else if (flags & JM_FIRSTMATCH)
return i; /* return first match */
else if (job != NO_JOB)
{
if (this_shell_builtin)
builtin_error (_("%s: ambiguous job spec"), name);
else
report_error (_("%s: ambiguous job spec"), name);
return (DUP_JOB);
}
else
job = i;
}
while (p != jobs[i]->pipe);
}
return (job);
}
/* Return the job spec found in LIST. */
int
get_job_spec (list)
WORD_LIST *list;
{
register char *word;
int job, jflags;
if (list == 0)
return (current_job);
word = list->word->word;
if (*word == '\0')
#if 0
return (current_job);
#else
return (NO_JOB);
#endif
if (*word == '%')
word++;
if (DIGIT (*word) && all_digits (word))
{
job = atoi (word);
#if 0
return (job >= job_slots ? NO_JOB : job - 1);
#else
return (job > job_slots ? NO_JOB : job - 1);
#endif
}
jflags = 0;
switch (*word)
{
case 0:
return NO_JOB;
case '%':
case '+':
return (current_job);
case '-':
return (previous_job);
case '?': /* Substring search requested. */
jflags |= JM_SUBSTRING;
word++;
/* FALLTHROUGH */
default:
return get_job_by_name (word, jflags);
}
}
#endif /* JOB_CONTROL */
/*
* NOTE: `kill' calls this function with forcecols == 0
*/
int
display_signal_list (list, forcecols)
WORD_LIST *list;
int forcecols;
{
register int i, column;
char *name;
int result, signum, dflags;
intmax_t lsignum;
result = EXECUTION_SUCCESS;
if (!list)
{
for (i = 1, column = 0; i < NSIG; i++)
{
name = signal_name (i);
if (STREQN (name, "SIGJUNK", 7) || STREQN (name, "Unknown", 7))
continue;
if (posixly_correct && !forcecols)
{
/* This is for the kill builtin. POSIX.2 says the signal names
are displayed without the `SIG' prefix. */
if (STREQN (name, "SIG", 3))
name += 3;
printf ("%s%s", name, (i == NSIG - 1) ? "" : " ");
}
else
{
printf ("%2d) %s", i, name);
if (++column < 4)
printf ("\t");
else
{
printf ("\n");
column = 0;
}
}
}
if ((posixly_correct && !forcecols) || column != 0)
printf ("\n");
return result;
}
/* List individual signal names or numbers. */
while (list)
{
if (legal_number (list->word->word, &lsignum))
{
/* This is specified by Posix.2 so that exit statuses can be
mapped into signal numbers. */
if (lsignum > 128)
lsignum -= 128;
if (lsignum < 0 || lsignum >= NSIG)
{
sh_invalidsig (list->word->word);
result = EXECUTION_FAILURE;
list = list->next;
continue;
}
signum = lsignum;
name = signal_name (signum);
if (STREQN (name, "SIGJUNK", 7) || STREQN (name, "Unknown", 7))
{
list = list->next;
continue;
}
#if defined (JOB_CONTROL)
/* POSIX.2 says that `kill -l signum' prints the signal name without
the `SIG' prefix. */
printf ("%s\n", (this_shell_builtin == kill_builtin) ? name + 3 : name);
#else
printf ("%s\n", name);
#endif
}
else
{
dflags = DSIG_NOCASE;
if (posixly_correct == 0 || this_shell_builtin != kill_builtin)
dflags |= DSIG_SIGPREFIX;
signum = decode_signal (list->word->word, dflags);
if (signum == NO_SIG)
{
sh_invalidsig (list->word->word);
result = EXECUTION_FAILURE;
list = list->next;
continue;
}
printf ("%d\n", signum);
}
list = list->next;
}
return (result);
}
/* **************************************************************** */
/* */
/* Finding builtin commands and their functions */
/* */
/* **************************************************************** */
/* Perform a binary search and return the address of the builtin function
whose name is NAME. If the function couldn't be found, or the builtin
is disabled or has no function associated with it, return NULL.
Return the address of the builtin.
DISABLED_OKAY means find it even if the builtin is disabled. */
struct builtin *
builtin_address_internal (name, disabled_okay)
char *name;
int disabled_okay;
{
int hi, lo, mid, j;
hi = num_shell_builtins - 1;
lo = 0;
while (lo <= hi)
{
mid = (lo + hi) / 2;
j = shell_builtins[mid].name[0] - name[0];
if (j == 0)
j = strcmp (shell_builtins[mid].name, name);
if (j == 0)
{
/* It must have a function pointer. It must be enabled, or we
must have explicitly allowed disabled functions to be found,
and it must not have been deleted. */
if (shell_builtins[mid].function &&
((shell_builtins[mid].flags & BUILTIN_DELETED) == 0) &&
((shell_builtins[mid].flags & BUILTIN_ENABLED) || disabled_okay))
return (&shell_builtins[mid]);
else
return ((struct builtin *)NULL);
}
if (j > 0)
hi = mid - 1;
else
lo = mid + 1;
}
return ((struct builtin *)NULL);
}
/* Return the pointer to the function implementing builtin command NAME. */
sh_builtin_func_t *
find_shell_builtin (name)
char *name;
{
current_builtin = builtin_address_internal (name, 0);
return (current_builtin ? current_builtin->function : (sh_builtin_func_t *)NULL);
}
/* Return the address of builtin with NAME, whether it is enabled or not. */
sh_builtin_func_t *
builtin_address (name)
char *name;
{
current_builtin = builtin_address_internal (name, 1);
return (current_builtin ? current_builtin->function : (sh_builtin_func_t *)NULL);
}
/* Return the function implementing the builtin NAME, but only if it is a
POSIX.2 special builtin. */
sh_builtin_func_t *
find_special_builtin (name)
char *name;
{
current_builtin = builtin_address_internal (name, 0);
return ((current_builtin && (current_builtin->flags & SPECIAL_BUILTIN)) ?
current_builtin->function :
(sh_builtin_func_t *)NULL);
}
static int
shell_builtin_compare (sbp1, sbp2)
struct builtin *sbp1, *sbp2;
{
int result;
if ((result = sbp1->name[0] - sbp2->name[0]) == 0)
result = strcmp (sbp1->name, sbp2->name);
return (result);
}
/* Sort the table of shell builtins so that the binary search will work
in find_shell_builtin. */
void
initialize_shell_builtins ()
{
qsort (shell_builtins, num_shell_builtins, sizeof (struct builtin),
(QSFUNC *)shell_builtin_compare);
}
+8 -1
View File
@@ -1,7 +1,7 @@
This file is read.def, from which is created read.c.
It implements the builtin "read" in Bash.
Copyright (C) 1987-2003 Free Software Foundation, Inc.
Copyright (C) 1987-2004 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -499,6 +499,13 @@ read_builtin (list)
an assign them to `arrayname' in turn. */
if (arrayname)
{
if (legal_identifier (arrayname) == 0)
{
sh_invalidid (arrayname);
xfree (input_string);
return (EXECUTION_FAILURE);
}
var = find_or_make_array_variable (arrayname, 1);
if (var == 0)
return EXECUTION_FAILURE; /* readonly or noassign */
+736
View File
@@ -0,0 +1,736 @@
This file is read.def, from which is created read.c.
It implements the builtin "read" in Bash.
Copyright (C) 1987-2003 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
Bash is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
version.
Bash is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License along
with Bash; see the file COPYING. If not, write to the Free Software
Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA.
$PRODUCES read.c
$BUILTIN read
$FUNCTION read_builtin
$SHORT_DOC read [-ers] [-u fd] [-t timeout] [-p prompt] [-a array] [-n nchars] [-d delim] [name ...]
One line is read from the standard input, or from file descriptor FD if the
-u option is supplied, and the first word is assigned to the first NAME,
the second word to the second NAME, and so on, with leftover words assigned
to the last NAME. Only the characters found in $IFS are recognized as word
delimiters. If no NAMEs are supplied, the line read is stored in the REPLY
variable. If the -r option is given, this signifies `raw' input, and
backslash escaping is disabled. The -d option causes read to continue
until the first character of DELIM is read, rather than newline. If the -p
option is supplied, the string PROMPT is output without a trailing newline
before attempting to read. If -a is supplied, the words read are assigned
to sequential indices of ARRAY, starting at zero. If -e is supplied and
the shell is interactive, readline is used to obtain the line. If -n is
supplied with a non-zero NCHARS argument, read returns after NCHARS
characters have been read. The -s option causes input coming from a
terminal to not be echoed.
The -t option causes read to time out and return failure if a complete line
of input is not read within TIMEOUT seconds. If the TMOUT variable is set,
its value is the default timeout. The return code is zero, unless end-of-file
is encountered, read times out, or an invalid file descriptor is supplied as
the argument to -u.
$END
#include <config.h>
#include "bashtypes.h"
#include "posixstat.h"
#include <stdio.h>
#if defined (HAVE_UNISTD_H)
# include <unistd.h>
#endif
#include <signal.h>
#include <errno.h>
#ifdef __CYGWIN__
# include <fcntl.h>
# include <io.h>
#endif
#include "../bashintl.h"
#include "../shell.h"
#include "common.h"
#include "bashgetopt.h"
#include <shtty.h>
#if defined (READLINE)
#include "../bashline.h"
#include <readline/readline.h>
#endif
#if !defined(errno)
extern int errno;
#endif
extern int interrupt_immediately;
#if defined (READLINE)
static char *edit_line __P((char *));
static void set_eol_delim __P((int));
static void reset_eol_delim __P((char *));
#endif
static SHELL_VAR *bind_read_variable __P((char *, char *));
static sighandler sigalrm __P((int));
static void reset_alarm __P((void));
static procenv_t alrmbuf;
static SigHandler *old_alrm;
static unsigned char delim;
static sighandler
sigalrm (s)
int s;
{
longjmp (alrmbuf, 1);
}
static void
reset_alarm ()
{
set_signal_handler (SIGALRM, old_alrm);
alarm (0);
}
/* Read the value of the shell variables whose names follow.
The reading is done from the current input stream, whatever
that may be. Successive words of the input line are assigned
to the variables mentioned in LIST. The last variable in LIST
gets the remainder of the words on the line. If no variables
are mentioned in LIST, then the default variable is $REPLY. */
int
read_builtin (list)
WORD_LIST *list;
{
register char *varname;
int size, i, pass_next, saw_escape, eof, opt, retval, code;
int input_is_tty, input_is_pipe, unbuffered_read;
int raw, edit, nchars, silent, have_timeout, fd;
unsigned int tmout;
intmax_t intval;
char c;
char *input_string, *orig_input_string, *ifs_chars, *prompt, *arrayname;
char *e, *t, *t1;
struct stat tsb;
SHELL_VAR *var;
#if defined (ARRAY_VARS)
WORD_LIST *alist;
#endif
#if defined (READLINE)
char *rlbuf;
int rlind;
#endif
USE_VAR(size);
USE_VAR(i);
USE_VAR(pass_next);
USE_VAR(saw_escape);
USE_VAR(input_is_pipe);
/* USE_VAR(raw); */
USE_VAR(edit);
USE_VAR(tmout);
USE_VAR(nchars);
USE_VAR(silent);
USE_VAR(ifs_chars);
USE_VAR(prompt);
USE_VAR(arrayname);
#if defined (READLINE)
USE_VAR(rlbuf);
USE_VAR(rlind);
#endif
USE_VAR(list);
i = 0; /* Index into the string that we are reading. */
raw = edit = 0; /* Not reading raw input by default. */
silent = 0;
arrayname = prompt = (char *)NULL;
fd = 0; /* file descriptor to read from */
#if defined (READLINE)
rlbuf = (char *)0;
rlind = 0;
#endif
tmout = 0; /* no timeout */
nchars = input_is_tty = input_is_pipe = unbuffered_read = have_timeout = 0;
delim = '\n'; /* read until newline */
reset_internal_getopt ();
while ((opt = internal_getopt (list, "ersa:d:n:p:t:u:")) != -1)
{
switch (opt)
{
case 'r':
raw = 1;
break;
case 'p':
prompt = list_optarg;
break;
case 's':
silent = 1;
break;
case 'e':
#if defined (READLINE)
edit = 1;
#endif
break;
#if defined (ARRAY_VARS)
case 'a':
arrayname = list_optarg;
break;
#endif
case 't':
code = legal_number (list_optarg, &intval);
if (code == 0 || intval < 0 || intval != (unsigned int)intval)
{
builtin_error (_("%s: invalid timeout specification"), list_optarg);
return (EXECUTION_FAILURE);
}
else
{
have_timeout = 1;
tmout = intval;
}
break;
case 'n':
code = legal_number (list_optarg, &intval);
if (code == 0 || intval < 0 || intval != (int)intval)
{
sh_invalidnum (list_optarg);
return (EXECUTION_FAILURE);
}
else
nchars = intval;
break;
case 'u':
code = legal_number (list_optarg, &intval);
if (code == 0 || intval < 0 || intval != (int)intval)
{
builtin_error (_("%s: invalid file descriptor specification"), list_optarg);
return (EXECUTION_FAILURE);
}
else
fd = intval;
if (sh_validfd (fd) == 0)
{
builtin_error (_("%d: invalid file descriptor: %s"), fd, strerror (errno));
return (EXECUTION_FAILURE);
}
break;
case 'd':
delim = *list_optarg;
break;
default:
builtin_usage ();
return (EX_USAGE);
}
}
list = loptend;
/* `read -t 0 var' returns failure immediately. XXX - should it test
whether input is available with select/FIONREAD, and fail if those
are unavailable? */
if (have_timeout && tmout == 0)
return (EXECUTION_FAILURE);
/* IF IFS is unset, we use the default of " \t\n". */
ifs_chars = getifs ();
if (ifs_chars == 0) /* XXX - shouldn't happen */
ifs_chars = "";
input_string = (char *)xmalloc (size = 112); /* XXX was 128 */
/* $TMOUT, if set, is the default timeout for read. */
if (have_timeout == 0 && (e = get_string_value ("TMOUT")))
{
code = legal_number (e, &intval);
if (code == 0 || intval < 0 || intval != (unsigned int)intval)
tmout = 0;
else
tmout = intval;
}
begin_unwind_frame ("read_builtin");
input_is_tty = isatty (fd);
if (input_is_tty == 0)
#ifndef __CYGWIN__
input_is_pipe = (lseek (0, 0L, SEEK_CUR) < 0) && (errno == ESPIPE);
#else
input_is_pipe = 1;
#endif
/* If the -p, -e or -s flags were given, but input is not coming from the
terminal, turn them off. */
if ((prompt || edit || silent) && input_is_tty == 0)
{
prompt = (char *)NULL;
edit = silent = 0;
}
#if defined (READLINE)
if (edit)
add_unwind_protect (xfree, rlbuf);
#endif
if (prompt && edit == 0)
{
fprintf (stderr, "%s", prompt);
fflush (stderr);
}
pass_next = 0; /* Non-zero signifies last char was backslash. */
saw_escape = 0; /* Non-zero signifies that we saw an escape char */
if (tmout > 0)
{
/* Turn off the timeout if stdin is a regular file (e.g. from
input redirection). */
if ((fstat (fd, &tsb) < 0) || S_ISREG (tsb.st_mode))
tmout = 0;
}
if (tmout > 0)
{
code = setjmp (alrmbuf);
if (code)
{
run_unwind_frame ("read_builtin");
return (EXECUTION_FAILURE);
}
old_alrm = set_signal_handler (SIGALRM, sigalrm);
add_unwind_protect (reset_alarm, (char *)NULL);
alarm (tmout);
}
/* If we've been asked to read only NCHARS chars, or we're using some
character other than newline to terminate the line, do the right
thing to readline or the tty. */
if (nchars > 0 || delim != '\n')
{
#if defined (READLINE)
if (edit)
{
if (nchars > 0)
{
unwind_protect_int (rl_num_chars_to_read);
rl_num_chars_to_read = nchars;
}
if (delim != '\n')
{
set_eol_delim (delim);
add_unwind_protect (reset_eol_delim, (char *)NULL);
}
}
else
#endif
if (input_is_tty)
{
ttsave ();
if (silent)
ttcbreak ();
else
ttonechar ();
add_unwind_protect ((Function *)ttrestore, (char *)NULL);
}
}
else if (silent) /* turn off echo but leave term in canonical mode */
{
ttsave ();
ttnoecho ();
add_unwind_protect ((Function *)ttrestore, (char *)NULL);
}
/* This *must* be the top unwind-protect on the stack, so the manipulation
of the unwind-protect stack after the realloc() works right. */
add_unwind_protect (xfree, input_string);
interrupt_immediately++;
unbuffered_read = (nchars > 0) || (delim != '\n') || input_is_pipe;
#if defined (__CYGWIN__) && defined (O_TEXT)
setmode (0, O_TEXT);
#endif
for (eof = retval = 0;;)
{
#if defined (READLINE)
if (edit)
{
if (rlbuf && rlbuf[rlind] == '\0')
{
xfree (rlbuf);
rlbuf = (char *)0;
}
if (rlbuf == 0)
{
rlbuf = edit_line (prompt ? prompt : "");
rlind = 0;
}
if (rlbuf == 0)
{
eof = 1;
break;
}
c = rlbuf[rlind++];
}
else
{
#endif
if (unbuffered_read)
retval = zread (fd, &c, 1);
else
retval = zreadc (fd, &c);
if (retval <= 0)
{
eof = 1;
break;
}
#if defined (READLINE)
}
#endif
if (i + 2 >= size)
{
input_string = (char *)xrealloc (input_string, size += 128);
remove_unwind_protect ();
add_unwind_protect (xfree, input_string);
}
/* If the next character is to be accepted verbatim, a backslash
newline pair still disappears from the input. */
if (pass_next)
{
if (c == '\n')
i--; /* back up over the CTLESC */
else
input_string[i++] = c;
pass_next = 0;
continue;
}
if (c == '\\' && raw == 0)
{
pass_next++;
saw_escape++;
input_string[i++] = CTLESC;
continue;
}
if ((unsigned char)c == delim)
break;
if (c == CTLESC || c == CTLNUL)
{
saw_escape++;
input_string[i++] = CTLESC;
}
input_string[i++] = c;
if (nchars > 0 && i >= nchars)
break;
}
input_string[i] = '\0';
#if 1
if (retval < 0)
{
builtin_error (_("read error: %d: %s"), fd, strerror (errno));
return (EXECUTION_FAILURE);
}
#endif
if (tmout > 0)
reset_alarm ();
if (nchars > 0 || delim != '\n')
{
#if defined (READLINE)
if (edit)
{
if (nchars > 0)
rl_num_chars_to_read = 0;
if (delim != '\n')
reset_eol_delim ((char *)NULL);
}
else
#endif
if (input_is_tty)
ttrestore ();
}
else if (silent)
ttrestore ();
if (unbuffered_read == 0)
zsyncfd (fd);
interrupt_immediately--;
discard_unwind_frame ("read_builtin");
retval = eof ? EXECUTION_FAILURE : EXECUTION_SUCCESS;
#if defined (ARRAY_VARS)
/* If -a was given, take the string read, break it into a list of words,
an assign them to `arrayname' in turn. */
if (arrayname)
{
if (legal_identifier (arrayname) == 0)
{
sh_invalidid (arrayname);
xfree (input_string);
return (EXECUTION_FAILURE);
}
var = find_or_make_array_variable (arrayname, 1);
if (var == 0)
return EXECUTION_FAILURE; /* readonly or noassign */
array_flush (array_cell (var));
alist = list_string (input_string, ifs_chars, 0);
if (alist)
{
word_list_remove_quoted_nulls (alist);
assign_array_var_from_word_list (var, alist);
dispose_words (alist);
}
xfree (input_string);
return (retval);
}
#endif /* ARRAY_VARS */
/* If there are no variables, save the text of the line read to the
variable $REPLY. ksh93 strips leading and trailing IFS whitespace,
so that `read x ; echo "$x"' and `read ; echo "$REPLY"' behave the
same way, but I believe that the difference in behaviors is useful
enough to not do it. Without the bash behavior, there is no way
to read a line completely without interpretation or modification
unless you mess with $IFS (e.g., setting it to the empty string).
If you disagree, change the occurrences of `#if 0' to `#if 1' below. */
if (list == 0)
{
#if 0
orig_input_string = input_string;
for (t = input_string; ifs_chars && *ifs_chars && spctabnl(*t) && isifs(*t); t++)
;
input_string = t;
input_string = strip_trailing_ifs_whitespace (input_string, ifs_chars, saw_escape);
#endif
if (saw_escape)
{
t = dequote_string (input_string);
var = bind_variable ("REPLY", t);
free (t);
}
else
var = bind_variable ("REPLY", input_string);
VUNSETATTR (var, att_invisible);
free (input_string);
return (retval);
}
/* This code implements the Posix.2 spec for splitting the words
read and assigning them to variables. */
orig_input_string = input_string;
/* Remove IFS white space at the beginning of the input string. If
$IFS is null, no field splitting is performed. */
for (t = input_string; ifs_chars && *ifs_chars && spctabnl(*t) && isifs(*t); t++)
;
input_string = t;
for (; list->next; list = list->next)
{
varname = list->word->word;
#if defined (ARRAY_VARS)
if (legal_identifier (varname) == 0 && valid_array_reference (varname) == 0)
#else
if (legal_identifier (varname) == 0)
#endif
{
sh_invalidid (varname);
xfree (orig_input_string);
return (EXECUTION_FAILURE);
}
/* If there are more variables than words read from the input,
the remaining variables are set to the empty string. */
if (*input_string)
{
/* This call updates INPUT_STRING. */
t = get_word_from_string (&input_string, ifs_chars, &e);
if (t)
*e = '\0';
/* Don't bother to remove the CTLESC unless we added one
somewhere while reading the string. */
if (t && saw_escape)
{
t1 = dequote_string (t);
var = bind_read_variable (varname, t1);
xfree (t1);
}
else
var = bind_read_variable (varname, t);
}
else
{
t = (char *)0;
var = bind_read_variable (varname, "");
}
FREE (t);
if (var == 0)
{
xfree (orig_input_string);
return (EXECUTION_FAILURE);
}
stupidly_hack_special_variables (varname);
VUNSETATTR (var, att_invisible);
}
/* Now assign the rest of the line to the last variable argument. */
#if defined (ARRAY_VARS)
if (legal_identifier (list->word->word) == 0 && valid_array_reference (list->word->word) == 0)
#else
if (legal_identifier (list->word->word) == 0)
#endif
{
sh_invalidid (list->word->word);
xfree (orig_input_string);
return (EXECUTION_FAILURE);
}
/* This has to be done this way rather than using string_list
and list_string because Posix.2 says that the last variable gets the
remaining words and their intervening separators. */
input_string = strip_trailing_ifs_whitespace (input_string, ifs_chars, saw_escape);
if (saw_escape)
{
t = dequote_string (input_string);
var = bind_read_variable (list->word->word, t);
xfree (t);
}
else
var = bind_read_variable (list->word->word, input_string);
stupidly_hack_special_variables (list->word->word);
if (var)
VUNSETATTR (var, att_invisible);
xfree (orig_input_string);
return (retval);
}
static SHELL_VAR *
bind_read_variable (name, value)
char *name, *value;
{
#if defined (ARRAY_VARS)
if (valid_array_reference (name) == 0)
return (bind_variable (name, value));
else
return (assign_array_element (name, value));
#else /* !ARRAY_VARS */
return bind_variable (name, value);
#endif /* !ARRAY_VARS */
}
#if defined (READLINE)
static rl_completion_func_t *old_attempted_completion_function;
static char *
edit_line (p)
char *p;
{
char *ret;
int len;
if (!bash_readline_initialized)
initialize_readline ();
old_attempted_completion_function = rl_attempted_completion_function;
rl_attempted_completion_function = (rl_completion_func_t *)NULL;
ret = readline (p);
rl_attempted_completion_function = old_attempted_completion_function;
if (ret == 0)
return ret;
len = strlen (ret);
ret = (char *)xrealloc (ret, len + 2);
ret[len++] = delim;
ret[len] = '\0';
return ret;
}
static int old_delim_ctype;
static rl_command_func_t *old_delim_func;
static int old_newline_ctype;
static rl_command_func_t *old_newline_func;
static unsigned char delim_char;
static void
set_eol_delim (c)
int c;
{
Keymap cmap;
if (bash_readline_initialized == 0)
initialize_readline ();
cmap = rl_get_keymap ();
/* Change newline to self-insert */
old_newline_ctype = cmap[RETURN].type;
old_newline_func = cmap[RETURN].function;
cmap[RETURN].type = ISFUNC;
cmap[RETURN].function = rl_insert;
/* Bind the delimiter character to accept-line. */
old_delim_ctype = cmap[c].type;
old_delim_func = cmap[c].function;
cmap[c].type = ISFUNC;
cmap[c].function = rl_newline;
delim_char = c;
}
static void
reset_eol_delim (cp)
char *cp;
{
Keymap cmap;
cmap = rl_get_keymap ();
cmap[RETURN].type = old_newline_ctype;
cmap[RETURN].function = old_newline_func;
cmap[delim_char].type = old_delim_ctype;
cmap[delim_char].function = old_delim_func;
}
#endif
Vendored
+7 -4
View File
@@ -1,5 +1,5 @@
#! /bin/sh
# From configure.in for Bash 3.0, version 3.159, from autoconf version AC_ACVERSION.
# From configure.in for Bash 3.0, version 3.160, from autoconf version AC_ACVERSION.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.57 for bash 3.0-beta1.
#
@@ -311,7 +311,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os EMACS lispdir DEBUGGER_START_FILE TESTSCRIPT PURIFY MALLOC_TARGET MALLOC_SRC MALLOC_LIB MALLOC_LIBRARY MALLOC_LDFLAGS MALLOC_DEP htmldir HELPDIR HELPDIRDEFINE HELPINSTALL CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP SIGNAMES_H CC_FOR_BUILD STATIC_LD CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD RL_VERSION RL_MAJOR RL_MINOR READLINE_LIB READLINE_DEP RL_LIBDIR RL_INCLUDEDIR RL_INCLUDE HISTORY_LIB HISTORY_DEP HIST_LIBDIR INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AR RANLIB ac_ct_RANLIB YACC SET_MAKE MAKE_SHELL MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE ALLOCA GLIBC21 LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LIBOBJS INTL_DEP INTL_INC SIGLIST_O TERMCAP_LIB TERMCAP_DEP JOBS_O SHOBJ_CC SHOBJ_CFLAGS SHOBJ_LD SHOBJ_LDFLAGS SHOBJ_XLDFLAGS SHOBJ_LIBS SHOBJ_STATUS PROFILE_FLAGS incdir BUILD_DIR ARFLAGS BASHVERS RELSTATUS DEBUG MALLOC_DEBUG LOCAL_LIBS LOCAL_CFLAGS LOCAL_LDFLAGS LOCAL_DEFS LTLIBOBJS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os EMACS lispdir DEBUGGER_START_FILE TESTSCRIPT PURIFY MALLOC_TARGET MALLOC_SRC MALLOC_LIB MALLOC_LIBRARY MALLOC_LDFLAGS MALLOC_DEP htmldir HELPDIR HELPDIRDEFINE HELPINSTALL CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP SIGNAMES_H CC_FOR_BUILD STATIC_LD CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD RL_VERSION RL_MAJOR RL_MINOR READLINE_LIB READLINE_DEP RL_LIBDIR RL_INCLUDEDIR RL_INCLUDE HISTORY_LIB HISTORY_DEP HIST_LIBDIR INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AR RANLIB ac_ct_RANLIB YACC SET_MAKE MAKE_SHELL MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE ALLOCA GLIBC21 LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LIBOBJS INTL_DEP INTL_INC LIBINTL_H SIGLIST_O TERMCAP_LIB TERMCAP_DEP JOBS_O SHOBJ_CC SHOBJ_CFLAGS SHOBJ_LD SHOBJ_LDFLAGS SHOBJ_XLDFLAGS SHOBJ_LIBS SHOBJ_STATUS PROFILE_FLAGS incdir BUILD_DIR ARFLAGS BASHVERS RELSTATUS DEBUG MALLOC_DEBUG LOCAL_LIBS LOCAL_CFLAGS LOCAL_LDFLAGS LOCAL_DEFS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -13780,10 +13780,11 @@ fi
done
INTL_DEP= INTL_INC=
INTL_DEP= INTL_INC= LIBINTL_H=
if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
INTL_DEP='${INTL_LIBDIR}/libintl.a'
INTL_INC='-I${INTL_LIBSRC}'
INTL_INC='-I${INTL_LIBSRC} -I${INTL_BUILDDIR}'
LIBINTL_H='${INTL_BUILDDIR}/libintl.h'
fi
@@ -13791,6 +13792,7 @@ fi
for ac_header in wctype.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
@@ -24854,6 +24856,7 @@ s,@POSUB@,$POSUB,;t t
s,@LIBOBJS@,$LIBOBJS,;t t
s,@INTL_DEP@,$INTL_DEP,;t t
s,@INTL_INC@,$INTL_INC,;t t
s,@LIBINTL_H@,$LIBINTL_H,;t t
s,@SIGLIST_O@,$SIGLIST_O,;t t
s,@TERMCAP_LIB@,$TERMCAP_LIB,;t t
s,@TERMCAP_DEP@,$TERMCAP_DEP,;t t
+6 -4
View File
@@ -5,7 +5,7 @@ dnl report bugs to chet@po.cwru.edu
dnl
dnl Process this file with autoconf to produce a configure script.
# Copyright (C) 1987-2003 Free Software Foundation, Inc.
# Copyright (C) 1987-2004 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
@@ -22,7 +22,7 @@ dnl Process this file with autoconf to produce a configure script.
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_REVISION([for Bash 3.0, version 3.159, from autoconf version] AC_ACVERSION)dnl
AC_REVISION([for Bash 3.0, version 3.160, from autoconf version] AC_ACVERSION)dnl
define(bashvers, 3.0)
define(relstatus, beta1)
@@ -679,13 +679,15 @@ AC_FUNC_MMAP
AC_CHECK_FUNCS([__argz_count __argz_next __argz_stringify dcgettext mempcpy \
munmap stpcpy strcspn strdup])
INTL_DEP= INTL_INC=
INTL_DEP= INTL_INC= LIBINTL_H=
if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
INTL_DEP='${INTL_LIBDIR}/libintl.a'
INTL_INC='-I${INTL_LIBSRC}'
INTL_INC='-I${INTL_LIBSRC} -I${INTL_BUILDDIR}'
LIBINTL_H='${INTL_BUILDDIR}/libintl.h'
fi
AC_SUBST(INTL_DEP)
AC_SUBST(INTL_INC)
AC_SUBST(LIBINTL_H)
dnl
dnl End of checks needed by files in lib/intl
+1 -1
View File
@@ -1 +1 @@
/usr/local/build/chet/bash/bash-current/doc/Makefile
/usr/local/build/bash/bash-current/doc/Makefile
+10 -8
View File
@@ -9,7 +9,7 @@ SSYYNNOOPPSSIISS
bbaasshh [options] [file]
CCOOPPYYRRIIGGHHTT
Bash is Copyright (C) 1989-2003 by the Free Software Foundation, Inc.
Bash is Copyright (C) 1989-2004 by the Free Software Foundation, Inc.
DDEESSCCRRIIPPTTIIOONN
BBaasshh is an sshh-compatible command language interpreter that executes
@@ -2293,8 +2293,10 @@ PPRROOMMPPTTIINNGG
\\uu the username of the current user
\\vv the version of bbaasshh (e.g., 2.00)
\\VV the release of bbaasshh, version + patchelvel (e.g., 2.00.0)
\\ww the current working directory
\\WW the basename of the current working directory
\\ww the current working directory, with $$HHOOMMEE abbreviated
with a tilde
\\WW the basename of the current working directory, with $$HHOOMMEE
abbreviated with a tilde
\\!! the history number of this command
\\## the command number of this command
\\$$ if the effective UID is 0, a ##, otherwise a $$
@@ -3133,8 +3135,8 @@ HHIISSTTOORRYY
are appended to the history file, otherwise the history file is over-
written. If HHIISSTTFFIILLEE is unset, or if the history file is unwritable,
the history is not saved. After saving the history, the history file
is truncated to contain no more than HHIISSTTFFIILLEESSIIZZEE lines. If
HHIISSTTFFIILLEESSIIZZEE is not set, no truncation is performed.
is truncated to contain no more than HHIISSTTFFIILLEESSIIZZEE lines. If HHIISSTTFFIILLEE--
SSIIZZEE is not set, no truncation is performed.
The builtin command ffcc (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below) may be used
to list or edit and re-execute a portion of the history list. The hhiiss--
@@ -4515,8 +4517,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
given, ttrraapp prints the list of commands associated with each
signal number. The --ll option causes the shell to print a list
of signal names and their corresponding numbers. Each _s_i_g_s_p_e_c
is either a signal name defined in <_s_i_g_n_a_l_._h>, or a signal
number. If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on
is either a signal name defined in <_s_i_g_n_a_l_._h>, or a signal num-
ber. If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on
exit from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is
executed before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command,
_s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the
@@ -4767,4 +4769,4 @@ BBUUGGSS
GNU Bash-3.0 2003 Nov 13 BASH(1)
GNU Bash-3.0 2004 Jan 24 BASH(1)
+7 -6
View File
@@ -6,12 +6,12 @@
.\" Case Western Reserve University
.\" chet@po.CWRU.Edu
.\"
.\" Last Change: Thu Nov 13 09:47:27 EST 2003
.\" Last Change: Sat Jan 24 13:18:08 EST 2004
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
.TH BASH 1 "2003 Nov 13" "GNU Bash-3.0"
.TH BASH 1 "2004 Jan 24" "GNU Bash-3.0"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -51,8 +51,8 @@ bash \- GNU Bourne-Again SHell
[options]
[file]
.SH COPYRIGHT
.if n Bash is Copyright (C) 1989-2003 by the Free Software Foundation, Inc.
.if t Bash is Copyright \(co 1989-2003 by the Free Software Foundation, Inc.
.if n Bash is Copyright (C) 1989-2004 by the Free Software Foundation, Inc.
.if t Bash is Copyright \(co 1989-2004 by the Free Software Foundation, Inc.
.SH DESCRIPTION
.B Bash
is an \fBsh\fR-compatible command language interpreter that
@@ -4157,10 +4157,11 @@ the version of \fBbash\fP (e.g., 2.00)
the release of \fBbash\fP, version + patchelvel (e.g., 2.00.0)
.TP
.B \ew
the current working directory
the current working directory, with \fB$HOME\fP abbreviated with a tilde
.TP
.B \eW
the basename of the current working directory
the basename of the current working directory, with \fB$HOME\fP
abbreviated with a tilde
.TP
.B \e!
the history number of this command
+8722
View File
File diff suppressed because it is too large Load Diff
+98 -124
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.18.1
%%CreationDate: Thu Nov 13 09:47:38 2003
%%CreationDate: Sun Jan 25 21:10:35 2004
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
@@ -189,11 +189,11 @@ setpacking
%%IncludeResource: font Palatino-Italic
%%IncludeResource: font Palatino-Bold
grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron
/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef
def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron
/Zcaron/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
/.notdef/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
@@ -230,7 +230,7 @@ BP
(bash \255 GNU Bourne-Ag)108 96 Q(ain SHell)-.05 E F1(SYNOPSIS)72 112.8
Q/F2 10/Times-Bold@0 SF(bash)108 124.8 Q F0([options] [\214le])2.5 E F1
(COPYRIGHT)72 141.6 Q F0(Bash is Cop)108 153.6 Q
(yright \251 1989-2003 by the Free Softw)-.1 E(are F)-.1 E
(yright \251 1989-2004 by the Free Softw)-.1 E(are F)-.1 E
(oundation, Inc.)-.15 E F1(DESCRIPTION)72 170.4 Q F2(Bash)108 182.4 Q F0
.973(is an)3.474 F F2(sh)3.473 E F0 .973
(-compatible command language interpreter that e)B -.15(xe)-.15 G .973
@@ -321,8 +321,7 @@ E F2(po)2.5 E F0(\(portable object\) \214le format.)2.5 E F2
144 686.4 Q .3 -.15(ve \()-.25 H(see).15 E F4(INV)2.5 E(OCA)-.405 E
(TION)-.855 E F0(belo)2.25 E(w\).)-.25 E F2(\255\255login)108 703.2 Q F0
(Equi)144 715.2 Q -.25(va)-.25 G(lent to).25 E F2<ad6c>2.5 E F0(.)A
(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 202.965(31)-2.5 G
0 Cg EP
(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(1)204.835 E 0 Cg EP
%%Page: 2 2
%%BeginPageSetup
BP
@@ -445,7 +444,7 @@ F(ariable)-.25 E F3 -.27(BA)108 679.2 S(SH_ENV).27 E F0 1.01(in the en)
108 727.2 S 2.5(tt).2 G(he v)-2.5 E(alue of the)-.25 E F3 -.666(PA)2.5 G
(TH)-.189 E F0 -.25(va)2.25 G
(riable is not used to search for the \214le name.).25 E(GNU Bash-3.0)72
768 Q(2003 No)147.975 E 2.5(v1)-.15 G 202.965(32)-2.5 G 0 Cg EP
768 Q(2004 Jan 24)149.845 E(2)204.835 E 0 Cg EP
%%Page: 3 3
%%BeginPageSetup
BP
@@ -570,8 +569,7 @@ F1(Pipelines)87 679.2 Q F0(A)108 691.2 Q F2(pipeline)2.919 E F0 .419
F F1(|)2.92 E F0 5.42(.T)C .42(he format for a pipeline)-5.42 F(is:)108
703.2 Q([)144 720 Q F1(time)A F0([)2.5 E F1<ad70>A F0(]] [ ! ])A F2
(command)2.5 E F0([)2.5 E F1(|)2.5 E F2(command2)2.5 E F0(... ])2.5 E
(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 202.965(33)-2.5 G
0 Cg EP
(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(3)204.835 E 0 Cg EP
%%Page: 4 4
%%BeginPageSetup
BP
@@ -691,8 +689,8 @@ A({)108 573.6 Q F1(list)2.5 E F0 2.5(;})C F1(list)3.89 E F0 .402
F(SIONS)144 727.2 Q F5(.)A F0 -.8(Wo)5.633 G 1.133
(rd splitting and pathname e).8 F 1.133
(xpansion are not performed on the w)-.15 F 1.133(ords between the)-.1 F
F3([[)3.632 E F0(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G
202.965(34)-2.5 G 0 Cg EP
F3([[)3.632 E F0(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(4)204.835 E
0 Cg EP
%%Page: 5 5
%%BeginPageSetup
BP
@@ -831,8 +829,8 @@ F F2(name)144 727.2 Q F0 .759(to be set to null.)3.439 F .759
(The line read is sa)5.759 F -.15(ve)-.2 G 3.26(di).15 G 3.26(nt)-3.26 G
.76(he v)-3.26 F(ariable)-.25 E F1(REPL)3.26 E(Y)-.92 E F0 5.76(.T)C(he)
-5.76 E F2(list)3.35 E F0 .76(is e)3.94 F -.15(xe)-.15 G .76
(cuted after).15 F(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G
202.965(35)-2.5 G 0 Cg EP
(cuted after).15 F(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(5)204.835
E 0 Cg EP
%%Page: 6 6
%%BeginPageSetup
BP
@@ -967,7 +965,7 @@ E(xpansion.)-.15 E(There are three quoting mechanisms: the)108 708 Q F2
G(he)-2.974 E F2 .474(escape c)2.974 F(har)-.15 E(acter)-.15 E F0 5.474
(.I).73 G 2.974(tp)-5.474 G(reserv)-2.974 E .474(es the literal v)-.15 F
.474(alue of the ne)-.25 F .474(xt character that)-.15 F(GNU Bash-3.0)72
768 Q(2003 No)147.975 E 2.5(v1)-.15 G 202.965(36)-2.5 G 0 Cg EP
768 Q(2004 Jan 24)149.845 E(6)204.835 E 0 Cg EP
%%Page: 7 7
%%BeginPageSetup
BP
@@ -1084,7 +1082,7 @@ d by one or more digits, other than the single digit 0.)3.935 F(Posi-)
5.706 E .445(tional parameters are assigned from the shell')108 729.6 R
2.944(sa)-.55 G -.18(rg)-2.944 G .444(uments when it is in).18 F -.2(vo)
-.4 G -.1(ke).2 G .444(d, and may be reassigned using).1 F(GNU Bash-3.0)
72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 202.965(37)-2.5 G 0 Cg EP
72 768 Q(2004 Jan 24)149.845 E(7)204.835 E 0 Cg EP
%%Page: 8 8
%%BeginPageSetup
BP
@@ -1202,7 +1200,7 @@ F F1 -.3(BA)144 619.2 S(SH_ARGV).3 E F0(.)A F1 -.3(BA)108 631.2 S
F F1(${FUNCN)144 727.2 Q(AME[)-.2 E F3 8.951($i + 1)B F1(]})A F0 -.1(wa)
11.451 G 11.451(sc).1 G 11.451(alled. The)-11.451 F 8.951
(corresponding source \214le name is)11.451 F(GNU Bash-3.0)72 768 Q
(2003 No)147.975 E 2.5(v1)-.15 G 202.965(38)-2.5 G 0 Cg EP
(2004 Jan 24)149.845 E(8)204.835 E 0 Cg EP
%%Page: 9 9
%%BeginPageSetup
BP
@@ -1303,7 +1301,7 @@ F(ariable)-.25 E .351(will not change the current directory)144 711.6 R
5.35(.I)-.65 G(f)-5.35 E F3(DIRST)2.85 E -.495(AC)-.81 G(K).495 E F0 .35
(is unset, it loses its special properties, e)2.6 F -.15(ve)-.25 G 2.85
(ni).15 G(f)-2.85 E(it is subsequently reset.)144 723.6 Q(GNU Bash-3.0)
72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 202.965(39)-2.5 G 0 Cg EP
72 768 Q(2004 Jan 24)149.845 E(9)204.835 E 0 Cg EP
%%Page: 10 10
%%BeginPageSetup
BP
@@ -1392,8 +1390,7 @@ R .01(alue to)-.25 F F2(RANDOM)2.51 E/F4 9/Times-Roman@0 SF(.)A F0(If)
4.51 E F2(RANDOM)2.51 E F0(is)2.26 E
(unset, it loses its special properties, e)144 720 Q -.15(ve)-.25 G 2.5
(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)
-2.5 E(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(31)
-2.5 G(0)-197.965 E 0 Cg EP
-2.5 E(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(10)199.835 E 0 Cg EP
%%Page: 11 11
%%BeginPageSetup
BP
@@ -1502,8 +1499,7 @@ me e)-3.118 F(xpan-)-.15 E 3.131(sion. If)144 640.8 R 3.132<618c>3.131 G
(all pre)144 724.8 R .698
(vious lines matching the current line to be remo)-.25 F -.15(ve)-.15 G
3.198(df).15 G .698(rom the history list before that line is)-3.198 F
(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(31)-2.5 G
(1)-197.965 E 0 Cg EP
(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(11)199.835 E 0 Cg EP
%%Page: 12 12
%%BeginPageSetup
BP
@@ -1616,8 +1612,7 @@ E F1(LANG)108 648 Q F0 1.24(Used to determine the locale cate)7.11 F
(rrides the v).15 F .764(alue of)-.25 F F1(LANG)3.264 E F0 .764(and an)
3.264 F 3.264(yo)-.15 G(ther)-3.264 E F1(LC_)3.264 E F0 -.25(va)3.264 G
.764(riable specifying a locale cate-).25 F(gory)144 696 Q(.)-.65 E
(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(31)-2.5 G
(2)-197.965 E 0 Cg EP
(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(12)199.835 E 0 Cg EP
%%Page: 13 13
%%BeginPageSetup
BP
@@ -1721,8 +1716,8 @@ F0 1.225(displays during an e)3.725 F -.15(xe)-.15 G 1.225
E F0 1.226(is replicated multiple)3.476 F(times, as necessary)144 696 Q
2.5(,t)-.65 G 2.5(oi)-2.5 G(ndicate multiple le)-2.5 E -.15(ve)-.25 G
(ls of indirection.).15 E(The def)5 E(ault is `)-.1 E(`)-.74 E F1(+)A F0
-.74('')2.5 G(.).74 E(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)
-.15 G 197.965(31)-2.5 G(3)-197.965 E 0 Cg EP
-.74('')2.5 G(.).74 E(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(13)
199.835 E 0 Cg EP
%%Page: 14 14
%%BeginPageSetup
BP
@@ -1840,7 +1835,7 @@ G .961(or an)-3.461 F 3.461(yr)-.15 G(equirement)-3.461 E
1.302(An array is created automatically if an)108 728.4 R 3.801(yv)-.15
G 1.301(ariable is assigned to using the syntax)-4.051 F F2(name)3.801 E
F0([)A F2(subscript)A F0(]=)A F2(value)A F0(.)A(GNU Bash-3.0)72 768 Q
(2003 No)147.975 E 2.5(v1)-.15 G 197.965(31)-2.5 G(4)-197.965 E 0 Cg EP
(2004 Jan 24)149.845 E(14)199.835 E 0 Cg EP
%%Page: 15 15
%%BeginPageSetup
BP
@@ -1992,8 +1987,7 @@ F0(must be of the same type.)2.5 E .582(Brace e)108 705.6 R .582
(does not apply an)2.516 F 2.516(ys)-.15 G .016
(yntactic interpretation to the con-)-2.516 F(te)108 729.6 Q
(xt of the e)-.15 E(xpansion or the te)-.15 E(xt between the braces.)
-.15 E(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(31)
-2.5 G(5)-197.965 E 0 Cg EP
-.15 E(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(15)199.835 E 0 Cg EP
%%Page: 16 16
%%BeginPageSetup
BP
@@ -2120,8 +2114,8 @@ E .351(able is then e)108 700.8 R .351(xpanded and that v)-.15 F .352
(e\214x)-.37 E F0 .019(*} and)B(${)108 724.8 Q F1(!)A F2(name)A F0([)A
F2(@)A F0 .762(]} described belo)B 4.563 -.65(w. T)-.25 H .763(he e).65
F .763(xclamation point must immediately follo)-.15 F 3.263(wt)-.25 G
.763(he left brace in order to)-3.263 F(GNU Bash-3.0)72 768 Q(2003 No)
147.975 E 2.5(v1)-.15 G 197.965(31)-2.5 G(6)-197.965 E 0 Cg EP
.763(he left brace in order to)-3.263 F(GNU Bash-3.0)72 768 Q
(2004 Jan 24)149.845 E(16)199.835 E 0 Cg EP
%%Page: 17 17
%%BeginPageSetup
BP
@@ -2244,8 +2238,7 @@ F1(par)145.25 664.8 Q(ameter)-.15 E F0 .607
3.151(,t)C .651(he pattern remo)-3.151 F -.25(va)-.15 G 3.151(lo).25 G
.65(peration is applied to each member of the array in)-3.151 F
(turn, and the e)144 712.8 Q(xpansion is the resultant list.)-.15 E
(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(31)-2.5 G
(7)-197.965 E 0 Cg EP
(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(17)199.835 E 0 Cg EP
%%Page: 18 18
%%BeginPageSetup
BP
@@ -2358,8 +2351,7 @@ F1 -.2(ex)2.666 G(pr).2 E(ession)-.37 E F0 .165
A F0(If)5.878 E F1 -.2(ex)108 705.6 S(pr).2 E(ession)-.37 E F0(is in)
2.74 E -.25(va)-.4 G(lid,).25 E F2(bash)2.5 E F0
(prints a message indicating f)2.5 E(ailure and no substitution occurs.)
-.1 E(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(31)
-2.5 G(8)-197.965 E 0 Cg EP
-.1 E(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(18)199.835 E 0 Cg EP
%%Page: 19 19
%%BeginPageSetup
BP
@@ -2496,8 +2488,8 @@ R 1.12(NUL character may not occur in a pattern.)3.62 F 3.62(Ab)6.12 G
(The special pattern characters must be quoted if the)5.576 F 3.076(ya)
-.15 G(re)-3.076 E(to be matched literally)108 691.2 Q(.)-.65 E
(The special pattern characters ha)108 708 Q .3 -.15(ve t)-.2 H
(he follo).15 E(wing meanings:)-.25 E(GNU Bash-3.0)72 768 Q(2003 No)
147.975 E 2.5(v1)-.15 G 197.965(31)-2.5 G(9)-197.965 E 0 Cg EP
(he follo).15 E(wing meanings:)-.25 E(GNU Bash-3.0)72 768 Q(2004 Jan 24)
149.845 E(19)199.835 E 0 Cg EP
%%Page: 20 20
%%BeginPageSetup
BP
@@ -2607,8 +2599,7 @@ ted, and the \214rst character of the redirec-)-.25 F .365
E F0(dirlist 2)2.5 E F1(>&)A F0(1)A
(directs both standard output and standard error to the \214le)108 728.4
Q F2(dirlist)2.5 E F0 2.5(,w).68 G(hile the command)-2.5 E(GNU Bash-3.0)
72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(32)-2.5 G(0)-197.965 E
0 Cg EP
72 768 Q(2004 Jan 24)149.845 E(20)199.835 E 0 Cg EP
%%Page: 21 21
%%BeginPageSetup
BP
@@ -2697,7 +2688,7 @@ Q F0(allo)3.141 E .642(ws both the standard output \(\214le descriptor \
E(There are tw)108 693.6 Q 2.5(of)-.1 G
(ormats for redirecting standard output and standard error:)-2.5 E F1
(&>)144 710.4 Q F2(wor)A(d)-.37 E F0(and)108 722.4 Q(GNU Bash-3.0)72 768
Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(32)-2.5 G(1)-197.965 E 0 Cg EP
Q(2004 Jan 24)149.845 E(21)199.835 E 0 Cg EP
%%Page: 22 22
%%BeginPageSetup
BP
@@ -2784,7 +2775,7 @@ E F0(is closed after being duplicated to)2.5 E F2(n)2.5 E F0(.)A
.24 G 2.786(rt)-2.786 G .285
(he standard output \(\214le descriptor 1\) if)-2.786 F F2(n)2.785 E F0
.285(is not speci-)2.785 F(\214ed.)108 705.6 Q(GNU Bash-3.0)72 768 Q
(2003 No)147.975 E 2.5(v1)-.15 G 197.965(32)-2.5 G(2)-197.965 E 0 Cg EP
(2004 Jan 24)149.845 E(22)199.835 E 0 Cg EP
%%Page: 23 23
%%BeginPageSetup
BP
@@ -2924,8 +2915,8 @@ F F1 .616(\255o functrace)3.115 F F0 .616
(alues of the positional parameters and the spe-)-.25 F(cial parameter)
108 724.8 Q F1(#)2.5 E F0(are restored to the v)2.5 E(alues the)-.25 E
2.5(yh)-.15 G(ad prior to the function')-2.5 E 2.5(se)-.55 G -.15(xe)
-2.65 G(cution.).15 E(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)
-.15 G 197.965(32)-2.5 G(3)-197.965 E 0 Cg EP
-2.65 G(cution.).15 E(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(23)
199.835 E 0 Cg EP
%%Page: 24 24
%%BeginPageSetup
BP
@@ -3027,8 +3018,7 @@ H .343(ts inte).15 F .343(ger attrib)-.15 F .343(ute turned on)-.2 F
(xpressions in parentheses are e)-.15 F -.25(va)-.25 G .234
(luated \214rst and may).25 F -.15(ove)108 724.8 S
(rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E
(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(32)-2.5 G
(4)-197.965 E 0 Cg EP
(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(24)199.835 E 0 Cg EP
%%Page: 25 25
%%BeginPageSetup
BP
@@ -3138,8 +3128,7 @@ qual to, greater than, or greater than or equal to)144 696 R F3(ar)144
-.65 E F3(Ar)6.01 E(g1)-.37 E F0(and)2.5 E F3(ar)2.83 E(g2)-.37 E F0
(may be positi)2.52 E .3 -.15(ve o)-.25 H 2.5(rn).15 G -2.25 -.15(eg a)
-2.5 H(ti).15 E .3 -.15(ve i)-.25 H(nte).15 E(gers.)-.15 E(GNU Bash-3.0)
72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(32)-2.5 G(5)-197.965 E
0 Cg EP
72 768 Q(2004 Jan 24)149.845 E(25)199.835 E 0 Cg EP
%%Page: 26 26
%%BeginPageSetup
BP
@@ -3255,8 +3244,7 @@ e remainder of the \214rst line speci\214es an interpreter for the pro-)
(COMMAND EXECUTION ENVIR)72 703.2 Q(ONMENT)-.329 E F0(The shell has an)
108 715.2 Q F5 -.2(ex)2.5 G(ecution en).2 E(vir)-.4 E(onment)-.45 E F0
2.5(,w)C(hich consists of the follo)-2.5 E(wing:)-.25 E(GNU Bash-3.0)72
768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(32)-2.5 G(6)-197.965 E 0
Cg EP
768 Q(2004 Jan 24)149.845 E(26)199.835 E 0 Cg EP
%%Page: 27 27
%%BeginPageSetup
BP
@@ -3366,8 +3354,8 @@ t for)-.4 F F2 -.2(ex)2.643 G(port).2 E F0 .143(to child pro-)3.323 F
.202(parameter assignments, as described abo)108 724.8 R .502 -.15(ve i)
-.15 H(n).15 E/F4 9/Times-Bold@0 SF -.666(PA)2.702 G(RAMETERS).666 E/F5
9/Times-Roman@0 SF(.)A F0 .202(These assignment statements af)4.702 F
.203(fect only the)-.25 F(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5
(v1)-.15 G 197.965(32)-2.5 G(7)-197.965 E 0 Cg EP
.203(fect only the)-.25 F(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E
(27)199.835 E 0 Cg EP
%%Page: 28 28
%%BeginPageSetup
BP
@@ -3491,8 +3479,7 @@ iated)108 676.8 R .732(with this job is 25647.)108 688.8 R .733
.87(notion of a)108 729.6 R F2(curr)3.37 E .87(ent terminal pr)-.37 F
.871(ocess gr)-.45 F .871(oup ID)-.45 F F0 5.871(.M)C .871
(embers of this process group \(processes whose process)-5.871 F
(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(32)-2.5 G
(8)-197.965 E 0 Cg EP
(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(28)199.835 E 0 Cg EP
%%Page: 29 29
%%BeginPageSetup
BP
@@ -3619,8 +3606,7 @@ ized by inserting a number of backslash-escaped special characters that\
(\\r)144 700.8 Q F0(carriage return)28.78 E F4(\\s)144 712.8 Q F0
(the name of the shell, the basename of)29.33 E F4($0)2.5 E F0
(\(the portion follo)2.5 E(wing the \214nal slash\))-.25 E(GNU Bash-3.0)
72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(32)-2.5 G(9)-197.965 E
0 Cg EP
72 768 Q(2004 Jan 24)149.845 E(29)199.835 E 0 Cg EP
%%Page: 30 30
%%BeginPageSetup
BP
@@ -3635,12 +3621,14 @@ BP
28.22 E(ersion of)-.15 E F1(bash)2.5 E F0(\(e.g., 2.00\))2.5 E F1(\\V)
144 156 Q F0(the release of)26 E F1(bash)2.5 E F0 2.5(,v)C
(ersion + patchelv)-2.65 E(el \(e.g., 2.00.0\))-.15 E F1(\\w)144 168 Q
F0(the current w)26 E(orking directory)-.1 E F1(\\W)144 180 Q F0
(the basename of the current w)23.22 E(orking directory)-.1 E F1(\\!)144
192 Q F0(the history number of this command)29.89 E F1(\\#)144 204 Q F0
(the command number of this command)28.22 E F1(\\$)144 216 Q F0
(if the ef)28.22 E(fecti)-.25 E .3 -.15(ve U)-.25 H(ID is 0, a).15 E F1
(#)2.5 E F0 2.5(,o)C(therwise a)-2.5 E F1($)2.5 E(\\)144 228 Q/F2 10
F0(the current w)26 E(orking directory)-.1 E 2.5(,w)-.65 G(ith)-2.5 E F1
($HOME)2.5 E F0(abbre)2.5 E(viated with a tilde)-.25 E F1(\\W)144 180 Q
F0(the basename of the current w)23.22 E(orking directory)-.1 E 2.5(,w)
-.65 G(ith)-2.5 E F1($HOME)2.5 E F0(abbre)2.5 E(viated with a tilde)-.25
E F1(\\!)144 192 Q F0(the history number of this command)29.89 E F1(\\#)
144 204 Q F0(the command number of this command)28.22 E F1(\\$)144 216 Q
F0(if the ef)28.22 E(fecti)-.25 E .3 -.15(ve U)-.25 H(ID is 0, a).15 E
F1(#)2.5 E F0 2.5(,o)C(therwise a)-2.5 E F1($)2.5 E(\\)144 228 Q/F2 10
/Times-Italic@0 SF(nnn)A F0
(the character corresponding to the octal number)18.22 E F2(nnn)2.5 E F1
(\\\\)144 240 Q F0 2.5(ab)30.44 G(ackslash)-2.5 E F1(\\[)144 252 Q F0
@@ -3739,8 +3727,8 @@ nd the k)108 652.8 R 1.334 -.15(ey b)-.1 H 1.034(indings and).15 F -.25
-.15(ey)-.1 G .987(-bindings may be changed with an).15 F F2(inputr)
3.497 E(c)-.37 E F0 3.487(\214le. Other)3.797 F .987
(programs that use this library may)3.487 F(add their o)108 717.6 Q
(wn commands and bindings.)-.25 E(GNU Bash-3.0)72 768 Q(2003 No)147.975
E 2.5(v1)-.15 G 197.965(33)-2.5 G(0)-197.965 E 0 Cg EP
(wn commands and bindings.)-.25 E(GNU Bash-3.0)72 768 Q(2004 Jan 24)
149.845 E(30)199.835 E 0 Cg EP
%%Page: 31 31
%%BeginPageSetup
BP
@@ -3822,8 +3810,8 @@ pes is a)108 612 Q -.25(va)-.2 G(ilable:).25 E F2(\\a)144 624 Q F0
648 Q F0(delete)27.66 E F2(\\f)144 660 Q F0(form feed)29.89 E F2(\\n)144
672 Q F0(ne)27.66 E(wline)-.25 E F2(\\r)144 684 Q F0(carriage return)
28.78 E F2(\\t)144 696 Q F0(horizontal tab)29.89 E F2(\\v)144 708 Q F0
-.15(ve)28.22 G(rtical tab).15 E(GNU Bash-3.0)72 768 Q(2003 No)147.975 E
2.5(v1)-.15 G 197.965(33)-2.5 G(1)-197.965 E 0 Cg EP
-.15(ve)28.22 G(rtical tab).15 E(GNU Bash-3.0)72 768 Q(2004 Jan 24)
149.845 E(31)199.835 E 0 Cg EP
%%Page: 32 32
%%BeginPageSetup
BP
@@ -3922,7 +3910,7 @@ F0 .448(When set to)144 688.8 R F1(On)2.948 E F0 2.948(,m)C(ak)-2.948 E
.449(crolling the input horizontally on a)-2.948 F 1.194(single screen \
line when it becomes longer than the screen width rather than wrapping \
to a ne)144 700.8 R(w)-.25 E(line.)144 712.8 Q(GNU Bash-3.0)72 768 Q
(2003 No)147.975 E 2.5(v1)-.15 G 197.965(33)-2.5 G(2)-197.965 E 0 Cg EP
(2004 Jan 24)149.845 E(32)199.835 E 0 Cg EP
%%Page: 33 33
%%BeginPageSetup
BP
@@ -4020,8 +4008,8 @@ F0 .463(construct allo)2.963 F .462(ws bindings to be made based on the\
(or the application using readline.)144 693.6 R .477(The te)5.477 F .477
(xt of the test e)-.15 F .477
(xtends to the end of the line; no characters)-.15 F
(are required to isolate it.)144 705.6 Q(GNU Bash-3.0)72 768 Q(2003 No)
147.975 E 2.5(v1)-.15 G 197.965(33)-2.5 G(3)-197.965 E 0 Cg EP
(are required to isolate it.)144 705.6 Q(GNU Bash-3.0)72 768 Q
(2004 Jan 24)149.845 E(33)199.835 E 0 Cg EP
%%Page: 34 34
%%BeginPageSetup
BP
@@ -4129,8 +4117,8 @@ E F0 .911(refers to the current cursor position, and)3.411 F F2(mark)
(db).15 G 3.41(yt)-3.41 G(he)-3.41 E F1(set\255mark)108 724.8 Q F0 2.5
(command. The)2.5 F(te)2.5 E
(xt between the point and mark is referred to as the)-.15 E F2 -.37(re)
2.5 G(gion)-.03 E F0(.)A(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)
-.15 G 197.965(33)-2.5 G(4)-197.965 E 0 Cg EP
2.5 G(gion)-.03 E F0(.)A(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(34)
199.835 E 0 Cg EP
%%Page: 35 35
%%BeginPageSetup
BP
@@ -4209,8 +4197,8 @@ etween the start of the current)-.1 F(line and the point.)144 688.8 Q
(th an ar).4 F(gument)-.18 E/F3 10/Times-Italic@0 SF(n)3.294 E F0 3.294
(,i).24 G .794(nsert the)-3.294 F F3(n)3.294 E F0 .794(th w)B .794
(ord from the pre)-.1 F .794(vious command \(the w)-.25 F .795
(ords in the)-.1 F(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G
197.965(33)-2.5 G(5)-197.965 E 0 Cg EP
(ords in the)-.1 F(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(35)
199.835 E 0 Cg EP
%%Page: 36 36
%%BeginPageSetup
BP
@@ -4306,8 +4294,8 @@ G .779(nsert characters lik)-3.279 F(e)-.1 E F2(C\255q)3.278 E F0 3.278
-.1 F .023(ving point o)-.15 F -.15(ve)-.15 G 2.524(rt).15 G .024(hat w)
-2.524 F .024(ord as well.)-.1 F .024(If point)5.024 F
(is at the end of the line, this transposes the last tw)144 700.8 Q 2.5
(ow)-.1 G(ords on the line.)-2.6 E(GNU Bash-3.0)72 768 Q(2003 No)147.975
E 2.5(v1)-.15 G 197.965(33)-2.5 G(6)-197.965 E 0 Cg EP
(ow)-.1 G(ords on the line.)-2.6 E(GNU Bash-3.0)72 768 Q(2004 Jan 24)
149.845 E(36)199.835 E 0 Cg EP
%%Page: 37 37
%%BeginPageSetup
BP
@@ -4397,8 +4385,7 @@ F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 681.6 Q
(gument already accumulating, or start a ne)-.18 F 3.141(wa)-.25 G -.18
(rg)-3.141 G 3.141(ument. M\255\255).18 F .641(starts a ne)3.141 F(g-)
-.15 E(ati)144 717.6 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E
(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(33)-2.5 G
(7)-197.965 E 0 Cg EP
(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(37)199.835 E 0 Cg EP
%%Page: 38 38
%%BeginPageSetup
BP
@@ -4498,8 +4485,7 @@ F0(List the possible completions of the te)144 580.8 Q
(possible\255command\255completions \(C\255x !\))108 688.8 Q F0
(List the possible completions of the te)144 700.8 Q
(xt before point, treating it as a command name.)-.15 E(GNU Bash-3.0)72
768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(33)-2.5 G(8)-197.965 E 0
Cg EP
768 Q(2004 Jan 24)149.845 E(38)199.835 E 0 Cg EP
%%Page: 39 39
%%BeginPageSetup
BP
@@ -4591,8 +4577,8 @@ F0 1.095(command enough times to)3.595 F
(he current line a shell comment.)-3.339 F .84(If a numeric ar)5.84 F
(gu-)-.18 E(ment causes the comment character to be remo)144 705.6 Q
-.15(ve)-.15 G(d, the line will be e).15 E -.15(xe)-.15 G
(cuted by the shell.).15 E(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5
(v1)-.15 G 197.965(33)-2.5 G(9)-197.965 E 0 Cg EP
(cuted by the shell.).15 E(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E
(39)199.835 E 0 Cg EP
%%Page: 40 40
%%BeginPageSetup
BP
@@ -4712,8 +4698,8 @@ F .404(gument is the name of the command whose ar)-.18 F .404
(guments are being completed, the second)-.18 F(ar)108 729.6 Q 1.994
(gument is the w)-.18 F 1.993(ord being completed, and the third ar)-.1
F 1.993(gument is the w)-.18 F 1.993(ord preceding the w)-.1 F 1.993
(ord being)-.1 F(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G
197.965(34)-2.5 G(0)-197.965 E 0 Cg EP
(ord being)-.1 F(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(40)199.835
E 0 Cg EP
%%Page: 41 41
%%BeginPageSetup
BP
@@ -4858,8 +4844,7 @@ R 1.486(ws control o)-.25 F -.15(ve)-.15 G 3.986(rw).15 G 1.486
E(OL)-.27 E F0(and)3.735 E F2(HISTIGNORE)108 729.6 Q F0 -.25(va)2.707 G
.457(riables may be set to cause the shell to sa).25 F .758 -.15(ve o)
-.2 H .458(nly a subset of the commands entered.).15 F(The)5.458 E
(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(34)-2.5 G
(1)-197.965 E 0 Cg EP
(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(41)199.835 E 0 Cg EP
%%Page: 42 42
%%BeginPageSetup
BP
@@ -4982,8 +4967,7 @@ SF(^)108 667.4 Q F4(string1)-5 I F5(^)5 I F4(string2)-5 I F5(^)5 I F0
F4(string2)A F0(/')A 2.5('\()-.74 G(see)-2.5 E F1(Modi\214ers)2.5 E F0
(belo)2.5 E(w\).)-.25 E F1(!#)108 698.4 Q F0
(The entire command line typed so f)27.67 E(ar)-.1 E(.)-.55 E
(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(34)-2.5 G
(2)-197.965 E 0 Cg EP
(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(42)199.835 E 0 Cg EP
%%Page: 43 43
%%BeginPageSetup
BP
@@ -5099,7 +5083,7 @@ R -.15(xe)-.15 G 3.333(cutable. When).15 F F1(bash)3.333 E F0 .832
/Times-Roman@0 SF(.)A F0 .981(If the)5.481 F F1(sour)3.481 E(cepath)-.18
E F0 .981(option to the)3.481 F F1(shopt)3.481 E F0 -.2(bu)3.481 G .981
(iltin command is turned of).2 F .982(f, the)-.25 F(GNU Bash-3.0)72 768
Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(34)-2.5 G(3)-197.965 E 0 Cg EP
Q(2004 Jan 24)149.845 E(43)199.835 E 0 Cg EP
%%Page: 44 44
%%BeginPageSetup
BP
@@ -5211,8 +5195,7 @@ F2 -.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 650.4 Q .3 -.15(ve a)-.15 H .3
F2 -.1(ke)2.5 G(yseq)-.2 E F0(is entered.)2.5 E(The return v)144 691.2 Q
(alue is 0 unless an unrecognized option is gi)-.25 E -.15(ve)-.25 G 2.5
(no).15 G 2.5(ra)-2.5 G 2.5(ne)-2.5 G(rror occurred.)-2.5 E
(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(34)-2.5 G
(4)-197.965 E 0 Cg EP
(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(44)199.835 E 0 Cg EP
%%Page: 45 45
%%BeginPageSetup
BP
@@ -5348,8 +5331,8 @@ F2(action)2.786 E F0 2.786(][)C F1<ad47>-2.786 E F2(globpat)2.786 E F0
E F2(suf-)2.787 E<8c78>108 712.8 Q F0(])A([)144 724.8 Q F1<ad58>A F2
(\214lterpat)2.5 E F0 2.5(][)C F1<ad46>-2.5 E F2(function)2.5 E F0 2.5
(][)C F1<ad43>-2.5 E F2(command)2.5 E F0(])A F2(name)2.5 E F0([)2.5 E F2
(name ...)A F0(])A(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G
197.965(34)-2.5 G(5)-197.965 E 0 Cg EP
(name ...)A F0(])A(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(45)
199.835 E 0 Cg EP
%%Page: 46 46
%%BeginPageSetup
BP
@@ -5424,7 +5407,7 @@ Q(en from the \214le speci\214ed by the)-.1 E/F3 9/Times-Bold@0 SF
(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 696 Q F0
(Job names, if job control is acti)26.11 E -.15(ve)-.25 G 5(.M).15 G
(ay also be speci\214ed as)-5 E F1<ad6a>2.5 E F0(.)A(GNU Bash-3.0)72 768
Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(34)-2.5 G(6)-197.965 E 0 Cg EP
Q(2004 Jan 24)149.845 E(46)199.835 E 0 Cg EP
%%Page: 47 47
%%BeginPageSetup
BP
@@ -5531,8 +5514,7 @@ n is de\214ned are displayed as well.)144 662.4 R(The)6.308 E F1<ad46>
698.4 Q F0(Each)25.3 E F2(name)2.5 E F0(is an array v)2.5 E
(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).)
.15 E F1<ad66>144 710.4 Q F0(Use function names only)26.97 E(.)-.65 E
(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(34)-2.5 G
(7)-197.965 E 0 Cg EP
(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(47)199.835 E 0 Cg EP
%%Page: 48 48
%%BeginPageSetup
BP
@@ -5652,7 +5634,7 @@ E F0(shell)4.002 E .009
(\\a)144 672 Q F0(alert \(bell\))28.22 E F1(\\b)144 684 Q F0(backspace)
27.66 E F1(\\c)144 696 Q F0(suppress trailing ne)28.78 E(wline)-.25 E F1
(\\e)144 708 Q F0(an escape character)28.78 E(GNU Bash-3.0)72 768 Q
(2003 No)147.975 E 2.5(v1)-.15 G 197.965(34)-2.5 G(8)-197.965 E 0 Cg EP
(2004 Jan 24)149.845 E(48)199.835 E 0 Cg EP
%%Page: 49 49
%%BeginPageSetup
BP
@@ -5786,8 +5768,8 @@ Q F0(that is not a function.)2.68 E F1(fc)108 688.8 Q F0([)2.5 E F1
(is selected from the his-)3.658 F .881(tory list.)144 724.8 R F2 -.45
(Fi)5.881 G -.1(rs).45 G(t).1 E F0(and)4.061 E F2(last)3.471 E F0 .882
(may be speci\214ed as a string \(to locate the last command be)4.062 F
.882(ginning with)-.15 F(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)
-.15 G 197.965(34)-2.5 G(9)-197.965 E 0 Cg EP
.882(ginning with)-.15 F(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(49)
199.835 E 0 Cg EP
%%Page: 50 50
%%BeginPageSetup
BP
@@ -5917,8 +5899,7 @@ E F0 .399(is silent, the option character found is placed in)2.899 F F4
729.6 R 1.242(gument is not found, and)-.18 F F3(getopts)3.741 E F0
1.241(is not silent, a question mark \()3.741 F F3(?).833 E F0 3.741
(\)i).833 G 3.741(sp)-3.741 G 1.241(laced in)-3.741 F(GNU Bash-3.0)72
768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(35)-2.5 G(0)-197.965 E 0
Cg EP
768 Q(2004 Jan 24)149.845 E(50)199.835 E 0 Cg EP
%%Page: 51 51
%%BeginPageSetup
BP
@@ -6033,8 +6014,7 @@ E F0 .28
(is supplied as an ar)2.922 F .422(gument to)-.18 F F3<ad64>2.922 E F0
(,)A(or the history e)144 703.2 Q(xpansion supplied as an ar)-.15 E
(gument to)-.18 E F3<ad70>2.5 E F0 -.1(fa)2.5 G(ils.).1 E(GNU Bash-3.0)
72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(35)-2.5 G(1)-197.965 E
0 Cg EP
72 768 Q(2004 Jan 24)149.845 E(51)199.835 E 0 Cg EP
%%Page: 52 52
%%BeginPageSetup
BP
@@ -6161,8 +6141,7 @@ tring which contains three types of objects: plain characters, which ar\
e simply)144 715.2 R 1.858
(copied to standard output, character escape sequences, which are con)
144 727.2 R -.15(ve)-.4 G 1.859(rted and copied to the).15 F
(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(35)-2.5 G
(2)-197.965 E 0 Cg EP
(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(52)199.835 E 0 Cg EP
%%Page: 53 53
%%BeginPageSetup
BP
@@ -6280,8 +6259,8 @@ F2<ad65>144 655.2 Q F0 .372
-.15 E(s)-.1 E F2 -.18(re)180 691.2 S(ad).18 E F0 1.395
(returns after reading)3.895 F F1(nc)3.895 E(har)-.15 E(s)-.1 E F0 1.395
(characters rather than w)3.895 F 1.394(aiting for a complete line of)
-.1 F(input.)180 703.2 Q(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)
-.15 G 197.965(35)-2.5 G(3)-197.965 E 0 Cg EP
-.1 F(input.)180 703.2 Q(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(53)
199.835 E 0 Cg EP
%%Page: 54 54
%%BeginPageSetup
BP
@@ -6405,8 +6384,7 @@ F3(or)3.196 E F7(until)3.196 E F3(keywor)3.196 E .696
.711(This option is on by default for interac-)5.711 F 1.164
(tive shells on systems that support it \(see)184 727.2 R F5 1.165
(JOB CONTROL)3.665 F F3 3.665(above\). Backgr)3.415 F(ound)-.18 E F0
(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(35)-2.5 G
(4)-197.965 E 0 Cg EP
(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(54)199.835 E 0 Cg EP
%%Page: 55 55
%%BeginPageSetup
BP
@@ -6468,8 +6446,8 @@ F2<ad6f>4.63 E F1 2.131(is supplied with no)4.63 F F3(option\255name)
(ent options ar)-.18 F(e)-.18 E 4.412(printed. If)184 726 R F2(+o)4.412
E F1 1.912(is supplied with no)4.412 F F3(option\255name)4.412 E F1
4.411(,as)C 1.911(eries of)-4.411 F F2(set)4.411 E F1 1.911(commands to)
4.411 F F0(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965
(35)-2.5 G(5)-197.965 E 0 Cg EP
4.411 F F0(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(55)199.835 E 0 Cg
EP
%%Page: 56 56
%%BeginPageSetup
BP
@@ -6590,8 +6568,8 @@ G(f)-2.5 E F3(n)2.76 E F1(is gr)2.58 E(eater than)-.18 E F2($#)2.5 E F1
(olling optional shell behavior)-.18 F 6.522(.W)-.74 G 1.522
(ith no options, or)-7.072 F 2.531(with the)144 722.4 R F2<ad70>5.031 E
F1 2.531(option, a list of all settable options is displayed, with an i\
ndication of)5.031 F F0(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)
-.15 G 197.965(35)-2.5 G(6)-197.965 E 0 Cg EP
ndication of)5.031 F F0(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(56)
199.835 E 0 Cg EP
%%Page: 57 57
%%BeginPageSetup
BP
@@ -6685,8 +6663,7 @@ F1 1.106(trap r)3.606 F 1.106(eturns a value of 2, and the)-.18 F .87
(outine \(a shell function or a shell script exe-)-.18 F(cuted by the)
220 728.4 Q F2(.)2.5 E F1(or)2.5 E F2(source)2.5 E F1
(builtins\), a call to)2.5 E F2(return)2.5 E F1(is simulated.)2.5 E F0
(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(35)-2.5 G
(7)-197.965 E 0 Cg EP
(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(57)199.835 E 0 Cg EP
%%Page: 58 58
%%BeginPageSetup
BP
@@ -6765,8 +6742,8 @@ F3(mail\214le)4.147 E F2 1.647(has been r)4.147 F(ead')-.18 E 4.148('i)
F2 1.548
(matches \214lenames in a case\255insensitive fashion when performing)
4.048 F(pathname expansion \(see)184 696 Q F1(Pathname Expansion)2.5 E
F2(above\).)2.5 E F0(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15
G 197.965(35)-2.5 G(8)-197.965 E 0 Cg EP
F2(above\).)2.5 E F0(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(58)
199.835 E 0 Cg EP
%%Page: 59 59
%%BeginPageSetup
BP
@@ -6852,8 +6829,7 @@ F2 1.401(the expr)3.651 F 1.401(ession is tr)-.18 F 1.401
1.356(the \214rst ar)3.855 F 1.356
(gument is not a valid unary conditional operator)-.18 F 3.856(,t)-.74 G
(he)-3.856 E(expr)180 712.8 Q(ession is false.)-.18 E F0(GNU Bash-3.0)72
768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(35)-2.5 G(9)-197.965 E 0
Cg EP
768 Q(2004 Jan 24)149.845 E(59)199.835 E 0 Cg EP
%%Page: 60 60
%%BeginPageSetup
BP
@@ -6994,8 +6970,8 @@ E F1 2.516(,e)C .016(ven if)-2.516 F F7 .016(type -t)2.516 F(name)144
.411(option is used,)2.911 F F4(type)2.911 E F1 .411(prints all)2.911 F
.164(of the places that contain an executable named)144 722.4 R F5(name)
2.664 E F1 5.164(.T).35 G .164(his includes aliases and functions,)
-5.164 F F0(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G
197.965(36)-2.5 G(0)-197.965 E 0 Cg EP
-5.164 F F0(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(60)199.835 E 0
Cg EP
%%Page: 61 61
%%BeginPageSetup
BP
@@ -7116,8 +7092,7 @@ E F5(,)A F4(HISTCMD)3.725 E F5(,)A F4(FUNCNAME)144 708 Q F5(,)A F4
.553(operties, even if)-.18 F(they ar)144 720 Q 2.5(es)-.18 G
(ubsequently r)-2.5 E 2.5(eset. The)-.18 F(exit status is tr)2.5 E
(ue unless a)-.08 E F3(name)2.76 E F1(is r)2.85 E(eadonly)-.18 E(.)-1.11
E F0(GNU Bash-3.0)72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(36)
-2.5 G(1)-197.965 E 0 Cg EP
E F0(GNU Bash-3.0)72 768 Q(2004 Jan 24)149.845 E(61)199.835 E 0 Cg EP
%%Page: 62 62
%%BeginPageSetup
BP
@@ -7201,7 +7176,7 @@ F2 2.5(,B)C(rian Fox and Chet Ramey)-2.5 E F3(Portable Operating System\
(The personal initialization \214le, executed for login shells)144 686.4
Q F3(~/.bashr)109.666 698.4 Q(c)-.18 E F2(The individual per)144 710.4 Q
(-interactive-shell startup \214le)-.18 E F0(GNU Bash-3.0)72 768 Q
(2003 No)147.975 E 2.5(v1)-.15 G 197.965(36)-2.5 G(2)-197.965 E 0 Cg EP
(2004 Jan 24)149.845 E(62)199.835 E 0 Cg EP
%%Page: 63 63
%%BeginPageSetup
BP
@@ -7264,8 +7239,7 @@ F1(bashbug)108.13 393.6 Q F2 1.316(inserts the \214rst thr)4.296 F 1.316
(This will delay err)108 607.2 Q(or r)-.18 E
(eporting until some time after the command is enter)-.18 E(ed.)-.18 E
(Array variables may not \(yet\) be exported.)108 624 Q F0(GNU Bash-3.0)
72 768 Q(2003 No)147.975 E 2.5(v1)-.15 G 197.965(36)-2.5 G(3)-197.965 E
0 Cg EP
72 768 Q(2004 Jan 24)149.845 E(63)199.835 E 0 Cg EP
%%Trailer
end
%%EOF
+1 -112
View File
@@ -1,115 +1,4 @@
\initial {A}
\entry {\code {abort (C-g)}}{101}
\entry {\code {accept-line (Newline or Return)}}{95}
\entry {\code {alias-expand-line ()}}{102}
\initial {B}
\entry {\code {backward-char (C-b)}}{95}
\entry {\code {backward-delete-char (Rubout)}}{97}
\entry {\code {backward-kill-line (C-x Rubout)}}{98}
\entry {\code {backward-kill-word (M-\key {DEL})}}{98}
\entry {\code {backward-word (M-b)}}{95}
\entry {\code {beginning-of-history (M-<)}}{96}
\entry {\code {beginning-of-line (C-a)}}{95}
\initial {C}
\entry {\code {call-last-kbd-macro (C-x e)}}{101}
\entry {\code {capitalize-word (M-c)}}{97}
\entry {\code {character-search (C-])}}{101}
\entry {\code {character-search-backward (M-C-])}}{101}
\entry {\code {clear-screen (C-l)}}{95}
\entry {\code {complete (\key {TAB})}}{99}
\entry {\code {complete-command (M-!)}}{100}
\entry {\code {complete-filename (M-/)}}{99}
\entry {\code {complete-hostname (M-@)}}{100}
\entry {\code {complete-into-braces (M-{\tt \char 123})}}{100}
\entry {\code {complete-username (M-~)}}{100}
\entry {\code {complete-variable (M-$)}}{100}
\entry {\code {copy-backward-word ()}}{98}
\entry {\code {copy-forward-word ()}}{98}
\entry {\code {copy-region-as-kill ()}}{98}
\initial {D}
\entry {\code {delete-char (C-d)}}{97}
\entry {\code {delete-char-or-list ()}}{99}
\entry {\code {delete-horizontal-space ()}}{98}
\entry {\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{99}
\entry {\code {display-shell-version (C-x C-v)}}{102}
\entry {\code {do-uppercase-version (M-a, M-b, M-\var {x}, \dots {})}}{101}
\entry {\code {downcase-word (M-l)}}{97}
\entry {\code {dump-functions ()}}{102}
\entry {\code {dump-macros ()}}{102}
\entry {\code {dump-variables ()}}{102}
\entry {\code {dynamic-complete-history (M-\key {TAB})}}{100}
\initial {E}
\entry {\code {edit-and-execute-command (C-xC-e)}}{103}
\entry {\code {end-kbd-macro (C-x ))}}{100}
\entry {\code {end-of-history (M->)}}{96}
\entry {\code {end-of-line (C-e)}}{95}
\entry {\code {exchange-point-and-mark (C-x C-x)}}{101}
\initial {F}
\entry {\code {forward-backward-delete-char ()}}{97}
\entry {\code {forward-char (C-f)}}{95}
\entry {\code {forward-search-history (C-s)}}{96}
\entry {\code {forward-word (M-f)}}{95}
\initial {G}
\entry {\code {glob-complete-word (M-g)}}{102}
\entry {\code {glob-expand-word (C-x *)}}{102}
\entry {\code {glob-list-expansions (C-x g)}}{102}
\initial {H}
\entry {\code {history-and-alias-expand-line ()}}{103}
\entry {\code {history-expand-line (M-^)}}{102}
\entry {\code {history-search-backward ()}}{96}
\entry {\code {history-search-forward ()}}{96}
\initial {I}
\entry {\code {insert-comment (M-#)}}{101}
\entry {\code {insert-completions (M-*)}}{99}
\entry {\code {insert-last-argument (M-. or M-_)}}{103}
\initial {K}
\entry {\code {kill-line (C-k)}}{98}
\entry {\code {kill-region ()}}{98}
\entry {\code {kill-whole-line ()}}{98}
\entry {\code {kill-word (M-d)}}{98}
\initial {M}
\entry {\code {magic-space ()}}{102}
\entry {\code {menu-complete ()}}{99}
\initial {N}
\entry {\code {next-history (C-n)}}{96}
\entry {\code {non-incremental-forward-search-history (M-n)}}{96}
\entry {\code {non-incremental-reverse-search-history (M-p)}}{96}
\initial {O}
\entry {\code {operate-and-get-next (C-o)}}{103}
\entry {\code {overwrite-mode ()}}{97}
\initial {P}
\entry {\code {possible-command-completions (C-x !)}}{100}
\entry {\code {possible-completions (M-?)}}{99}
\entry {\code {possible-filename-completions (C-x /)}}{100}
\entry {\code {possible-hostname-completions (C-x @)}}{100}
\entry {\code {possible-username-completions (C-x ~)}}{100}
\entry {\code {possible-variable-completions (C-x $)}}{100}
\entry {\code {prefix-meta (\key {ESC})}}{101}
\entry {\code {previous-history (C-p)}}{96}
\initial {Q}
\entry {\code {quoted-insert (C-q or C-v)}}{97}
\initial {R}
\entry {\code {re-read-init-file (C-x C-r)}}{101}
\entry {\code {redraw-current-line ()}}{95}
\entry {\code {reverse-search-history (C-r)}}{96}
\entry {\code {revert-line (M-r)}}{101}
\initial {S}
\entry {\code {self-insert (a, b, A, 1, !, \dots {})}}{97}
\entry {\code {set-mark (C-@)}}{101}
\entry {\code {shell-expand-line (M-C-e)}}{102}
\entry {\code {start-kbd-macro (C-x ()}}{100}
\initial {T}
\entry {\code {tilde-expand (M-&)}}{101}
\entry {\code {transpose-chars (C-t)}}{97}
\entry {\code {transpose-words (M-t)}}{97}
\initial {U}
\entry {\code {undo (C-_ or C-x C-u)}}{101}
\entry {\code {universal-argument ()}}{99}
\entry {\code {unix-line-discard (C-u)}}{98}
\entry {\code {unix-word-rubout (C-w)}}{98}
\entry {\code {upcase-word (M-u)}}{97}
\initial {Y}
\entry {\code {yank (C-y)}}{98}
\entry {\code {yank-last-arg (M-. or M-_)}}{96}
\entry {\code {yank-nth-arg (M-C-y)}}{96}
\entry {\code {yank-pop (M-y)}}{98}
\entry {\code {alias-expand-line ()}}{102
+134 -169
View File
@@ -1,11 +1,11 @@
This is bashref.info, produced by makeinfo version 4.5 from
/usr/homes/chet/src/bash/src/doc/bashref.texi.
This is bashref.info, produced by makeinfo version 4.2 from
/usr/src/local/bash/bash-20040121/doc/bashref.texi.
This text is a brief description of the features that are present in
the Bash shell (version 3.0-alpha, 13 November 2003).
the Bash shell (version 3.0-beta1, 24 January 2004).
This is Edition 3.0, last updated 13 November 2003, of `The GNU Bash
Reference Manual', for `Bash', Version 3.0-alpha.
This is Edition 3.0, last updated 24 January 2004, of `The GNU Bash
Reference Manual', for `Bash', Version 3.0-beta1.
Copyright (C) 1988-2003 Free Software Foundation, Inc.
@@ -37,10 +37,10 @@ Bash Features
*************
This text is a brief description of the features that are present in
the Bash shell (version 3.0-alpha, 13 November 2003)..
the Bash shell (version 3.0-beta1, 24 January 2004)..
This is Edition 3.0, last updated 13 November 2003, of `The GNU Bash
Reference Manual', for `Bash', Version 3.0-alpha.
This is Edition 3.0, last updated 24 January 2004, of `The GNU Bash
Reference Manual', for `Bash', Version 3.0-beta1.
Bash contains features that appear in other popular shells, and some
features that only appear in Bash. Some of the shells that Bash has
@@ -731,7 +731,6 @@ syntax, it may be replaced with one or more newlines.
command in LIST that is executed, or false if any of the
expressions is invalid.
The `break' and `continue' builtins (*note Bourne Shell Builtins::)
may be used to control loop execution.
@@ -896,7 +895,6 @@ Conditional Constructs
value of EXPRESSION1 is sufficient to determine the return value
of the entire conditional expression.

File: bashref.info, Node: Command Grouping, Prev: Conditional Constructs, Up: Compound Commands
@@ -1301,7 +1299,6 @@ the expanded value.
`~-N'
The string that would be displayed by `dirs -N'

File: bashref.info, Node: Shell Parameter Expansion, Next: Command Substitution, Prev: Tilde Expansion, Up: Shell Expansions
@@ -1448,7 +1445,6 @@ if the colon is omitted, the operator tests only for existence.
member of the array in turn, and the expansion is the resultant
list.

File: bashref.info, Node: Command Substitution, Next: Arithmetic Expansion, Prev: Shell Parameter Expansion, Up: Shell Expansions
@@ -1756,7 +1752,6 @@ redirections, as described in the following table:
integer port number or service name, Bash attempts to open a UDP
connection to the corresponding socket.
A failure to open or create a file causes the redirection to fail.
Redirecting Input
@@ -2715,7 +2710,6 @@ POSIX 1003.2 standard.
`-x KEYSEQ:SHELL-COMMAND'
Cause SHELL-COMMAND to be executed whenever KEYSEQ is entered.
The return status is zero unless an invalid option is supplied or
an error occurs.
@@ -3011,7 +3005,6 @@ POSIX 1003.2 standard.
`-u FD'
Read input from file descriptor FD.
`shopt'
shopt [-pqsu] [-o] [OPTNAME ...]
Toggle the values of variables controlling optional shell behavior.
@@ -3221,7 +3214,6 @@ POSIX 1003.2 standard.
If set, the `echo' builtin expands backslash-escape sequences
by default.
The return status when listing options is zero if all OPTNAMES are
enabled, non-zero otherwise. When setting or unsetting options,
the return status is zero unless an OPTNAME is not a valid shell
@@ -3315,7 +3307,6 @@ POSIX 1003.2 standard.
`-v'
The maximum amount of virtual memory available to the process.
If LIMIT is given, it is the new value of the specified resource;
the special LIMIT values `hard', `soft', and `unlimited' stand for
the current hard limit, the current soft limit, and no limit,
@@ -3336,7 +3327,6 @@ POSIX 1003.2 standard.
Remove each NAME from the list of aliases. If `-a' is supplied,
all aliases are removed. Aliases are described in *Note Aliases::.

File: bashref.info, Node: The Set Builtin, Next: Special Builtins, Prev: Bash Builtins, Up: Shell Builtin Commands
@@ -3683,7 +3673,6 @@ shell. In some cases, Bash assigns a default value to the variable.
`PS2'
The secondary prompt string. The default value is `> '.

File: bashref.info, Node: Bash Variables, Prev: Bourne Shell Variables, Up: Shell Variables
@@ -3776,7 +3765,6 @@ Variables::).
`BASH_VERSINFO[5]'
The value of `MACHTYPE'.
`BASH_VERSION'
The version number of the current instance of Bash.
@@ -4157,7 +4145,6 @@ Variables::).
The numeric real user id of the current user. This variable is
readonly.

File: bashref.info, Node: Bash Features, Next: Job Control, Prev: Shell Variables, Up: Top
@@ -4255,7 +4242,6 @@ the single-character options to be recognized.
Show version information for this instance of Bash on the standard
output and exit successfully.
There are several single-character options that may be supplied at
invocation which are not available with the `set' builtin.
@@ -4307,7 +4293,6 @@ invocation which are not available with the `set' builtin.
processing. Any arguments after the `--' are treated as filenames
and arguments.
A _login_ shell is one whose first character of argument zero is
`-', or one invoked with the `--login' option.
@@ -4699,7 +4684,6 @@ checked. If the FILE argument to one of the primaries is one of
greater than or equal to ARG2, respectively. ARG1 and ARG2 may be
positive or negative integers.

File: bashref.info, Node: Shell Arithmetic, Next: Aliases, Prev: Bash Conditional Expressions, Up: Bash Features
@@ -5016,7 +5000,6 @@ Directory Stack Builtins
Makes the current working directory be the top of the stack,
and then executes the equivalent of ``cd' DIR'. `cd's to DIR.

File: bashref.info, Node: Printing a Prompt, Next: The Restricted Shell, Prev: The Directory Stack, Up: Bash Features
@@ -5089,10 +5072,11 @@ which can appear in the prompt variables:
The release of Bash, version + patchlevel (e.g., 2.00.0)
`\w'
The current working directory.
The current working directory, with `$HOME' abbreviated with a
tilde.
`\W'
The basename of `$PWD'.
The basename of `$PWD', with `$HOME' abbreviated with a tilde.
`\!'
The history number of this command.
@@ -5532,7 +5516,6 @@ Job Control Builtins
signal. The `-f' option means to suspend even if the shell is a
login shell.
When job control is not active, the `kill' and `wait' builtins do
not accept JOBSPEC arguments. They must be supplied process IDs.
@@ -5559,7 +5542,6 @@ Job Control Variables
a prefix of a stopped job's name; this provides functionality
analogous to the `%' job ID.

File: bashref.info, Node: Command Line Editing, Next: Installing Bash, Prev: Using History Interactively, Up: Top
@@ -5766,7 +5748,6 @@ available to be yanked back later, when you are typing another line.
Kill from the cursor to the previous whitespace. This is
different than `M-<DEL>' because the word boundaries differ.
Here is how to "yank" the text back into the line. Yanking means to
copy the most-recently-killed text from the kill buffer.
@@ -6044,7 +6025,6 @@ Variable Settings
appended to the filename when listing possible completions.
The default is `off'.
Key Bindings
The syntax for controlling key bindings in the init file is
simple. First you need to find the name of the command that you
@@ -6099,7 +6079,6 @@ Key Bindings
`<ESC> <[> <1> <1> <~>' is bound to insert the text `Function
Key 1'.
The following GNU Emacs style escape sequences are available when
specifying key sequences:
@@ -6165,7 +6144,6 @@ Key Bindings
the line:
"\C-x\\": "\\"

File: bashref.info, Node: Conditional Init Constructs, Next: Sample Init File, Prev: Readline Init File Syntax, Up: Readline Init File
@@ -6397,7 +6375,6 @@ Commands For Moving
`redraw-current-line ()'
Refresh the current line. By default, this is unbound.

File: bashref.info, Node: Commands For History, Next: Commands For Text, Prev: Commands For Moving, Up: Bindable Readline Commands
@@ -6468,7 +6445,6 @@ Commands For Manipulating The History
through the history list, inserting the last argument of each line
in turn.

File: bashref.info, Node: Commands For Text, Next: Commands For Killing, Prev: Commands For History, Up: Bindable Readline Commands
@@ -6533,7 +6509,6 @@ Commands For Changing Text
By default, this command is unbound.

File: bashref.info, Node: Commands For Killing, Next: Numeric Arguments, Prev: Commands For Text, Up: Bindable Readline Commands
@@ -6709,7 +6684,6 @@ Letting Readline Type For You
completions enclosed within braces so the list is available to the
shell (*note Brace Expansion::).

File: bashref.info, Node: Keyboard Macros, Next: Miscellaneous Commands, Prev: Commands For Completion, Up: Bindable Readline Commands
@@ -6727,7 +6701,6 @@ Keyboard Macros
Re-execute the last keyboard macro defined, by making the
characters in the macro appear as if typed at the keyboard.

File: bashref.info, Node: Miscellaneous Commands, Prev: Keyboard Macros, Up: Bindable Readline Commands
@@ -6862,7 +6835,6 @@ Some Miscellaneous Commands
result as shell commands. Bash attempts to invoke `$FCEDIT',
`$EDITOR', and `emacs' as the editor, in that order.

File: bashref.info, Node: Readline vi Mode, Next: Programmable Completion, Prev: Bindable Readline Commands, Up: Command Line Editing
@@ -7195,7 +7167,6 @@ completion facilities.
for a NAME for which no specification exists, or an error occurs
adding a completion specification.

File: bashref.info, Node: Using History Interactively, Next: Command Line Editing, Prev: Job Control, Up: Top
@@ -7354,12 +7325,10 @@ and history file.
The ARGs are added to the end of the history list as a single
entry.
When any of the `-w', `-r', `-a', or `-n' options is used, if
FILENAME is given, then it is used as the history file. If not,
then the value of the `HISTFILE' variable is used.

File: bashref.info, Node: History Interaction, Prev: Bash History Builtins, Up: Using History Interactively
@@ -7449,7 +7418,6 @@ history list.
`!#'
The entire command line typed so far.

File: bashref.info, Node: Word Designators, Next: Modifiers, Prev: Event Designators, Up: History Interaction
@@ -7508,7 +7476,6 @@ line separated by single spaces.
`X-'
Abbreviates `X-$' like `X*', but omits the last word.
If a word designator is supplied without an event specification, the
previous command is used as the event.
@@ -7563,7 +7530,6 @@ more of the following modifiers, each preceded by a `:'.
`G'
Apply the following `s' modifier once to each word in the event.

File: bashref.info, Node: Installing Bash, Next: Reporting Bugs, Prev: Command Line Editing, Up: Top
@@ -7997,7 +7963,6 @@ does not provide the necessary support.
Specification, version 2. *Note Bash Builtins::, for a
description of the escape sequences that `echo' recognizes.
The file `config-top.h' contains C Preprocessor `#define' statements
for options which are not settable from `configure'. Some of these are
not meant to be changed; beware of the consequences if you do. Read
@@ -9249,129 +9214,129 @@ Concept Index

Tag Table:
Node: Top1373
Node: Introduction3532
Node: What is Bash?3757
Node: What is a shell?4845
Node: Definitions7381
Node: Basic Shell Features10121
Node: Shell Syntax11339
Node: Shell Operation12363
Node: Quoting13648
Node: Escape Character14910
Node: Single Quotes15382
Node: Double Quotes15717
Node: ANSI-C Quoting16730
Node: Locale Translation17673
Node: Comments18556
Node: Shell Commands19161
Node: Simple Commands19922
Node: Pipelines20543
Node: Lists22409
Node: Compound Commands24031
Node: Looping Constructs24803
Node: Top1376
Node: Introduction3533
Node: What is Bash?3758
Node: What is a shell?4846
Node: Definitions7382
Node: Basic Shell Features10122
Node: Shell Syntax11340
Node: Shell Operation12364
Node: Quoting13649
Node: Escape Character14911
Node: Single Quotes15383
Node: Double Quotes15718
Node: ANSI-C Quoting16731
Node: Locale Translation17674
Node: Comments18557
Node: Shell Commands19162
Node: Simple Commands19923
Node: Pipelines20544
Node: Lists22410
Node: Compound Commands24032
Node: Looping Constructs24804
Node: Conditional Constructs27237
Node: Command Grouping34290
Node: Shell Functions35726
Node: Shell Parameters39991
Node: Positional Parameters41562
Node: Special Parameters42453
Node: Shell Expansions45111
Node: Brace Expansion47031
Node: Tilde Expansion49347
Node: Shell Parameter Expansion51679
Node: Command Substitution58933
Node: Arithmetic Expansion60255
Node: Process Substitution61096
Node: Word Splitting62133
Node: Filename Expansion63585
Node: Pattern Matching65709
Node: Quote Removal69030
Node: Redirections69316
Node: Executing Commands76791
Node: Simple Command Expansion77458
Node: Command Search and Execution79379
Node: Command Execution Environment81376
Node: Environment84138
Node: Exit Status85789
Node: Signals86984
Node: Shell Scripts88939
Node: Shell Builtin Commands91450
Node: Bourne Shell Builtins92880
Node: Bash Builtins109763
Node: The Set Builtin137885
Node: Special Builtins146103
Node: Shell Variables147075
Node: Bourne Shell Variables147511
Node: Bash Variables149488
Node: Bash Features168993
Node: Invoking Bash169875
Node: Bash Startup Files175686
Node: Interactive Shells180556
Node: What is an Interactive Shell?180958
Node: Is this Shell Interactive?181593
Node: Interactive Shell Behavior182399
Node: Bash Conditional Expressions185666
Node: Shell Arithmetic189086
Node: Aliases191826
Node: Arrays194329
Node: The Directory Stack197349
Node: Directory Stack Builtins198055
Node: Printing a Prompt200934
Node: The Restricted Shell203560
Node: Bash POSIX Mode205385
Node: Job Control212031
Node: Job Control Basics212497
Node: Job Control Builtins216777
Node: Job Control Variables221073
Node: Command Line Editing222223
Node: Introduction and Notation223221
Node: Readline Interaction224838
Node: Readline Bare Essentials226024
Node: Readline Movement Commands227804
Node: Readline Killing Commands228760
Node: Readline Arguments230669
Node: Searching231704
Node: Readline Init File233881
Node: Readline Init File Syntax234935
Node: Conditional Init Constructs246579
Node: Sample Init File249103
Node: Bindable Readline Commands252286
Node: Commands For Moving253485
Node: Commands For History254334
Node: Commands For Text257223
Node: Commands For Killing259884
Node: Numeric Arguments261834
Node: Commands For Completion262961
Node: Keyboard Macros266542
Node: Miscellaneous Commands267101
Node: Readline vi Mode272400
Node: Programmable Completion273309
Node: Programmable Completion Builtins279116
Node: Using History Interactively286478
Node: Bash History Facilities287157
Node: Bash History Builtins289847
Node: History Interaction293699
Node: Event Designators296250
Node: Word Designators297254
Node: Modifiers298884
Node: Installing Bash300281
Node: Basic Installation301415
Node: Compilers and Options304100
Node: Compiling For Multiple Architectures304834
Node: Installation Names306491
Node: Specifying the System Type307302
Node: Sharing Defaults308011
Node: Operation Controls308676
Node: Optional Features309627
Node: Reporting Bugs317899
Node: Major Differences From The Bourne Shell319074
Node: Copying This Manual334822
Node: GNU Free Documentation License335076
Node: Builtin Index357469
Node: Reserved Word Index361096
Node: Variable Index362572
Node: Function Index369565
Node: Concept Index374115
Node: Command Grouping34289
Node: Shell Functions35725
Node: Shell Parameters39990
Node: Positional Parameters41561
Node: Special Parameters42452
Node: Shell Expansions45110
Node: Brace Expansion47030
Node: Tilde Expansion49346
Node: Shell Parameter Expansion51677
Node: Command Substitution58930
Node: Arithmetic Expansion60252
Node: Process Substitution61093
Node: Word Splitting62130
Node: Filename Expansion63582
Node: Pattern Matching65706
Node: Quote Removal69027
Node: Redirections69313
Node: Executing Commands76787
Node: Simple Command Expansion77454
Node: Command Search and Execution79375
Node: Command Execution Environment81372
Node: Environment84134
Node: Exit Status85785
Node: Signals86980
Node: Shell Scripts88935
Node: Shell Builtin Commands91446
Node: Bourne Shell Builtins92876
Node: Bash Builtins109759
Node: The Set Builtin137876
Node: Special Builtins146094
Node: Shell Variables147066
Node: Bourne Shell Variables147502
Node: Bash Variables149478
Node: Bash Features168981
Node: Invoking Bash169863
Node: Bash Startup Files175672
Node: Interactive Shells180542
Node: What is an Interactive Shell?180944
Node: Is this Shell Interactive?181579
Node: Interactive Shell Behavior182385
Node: Bash Conditional Expressions185652
Node: Shell Arithmetic189071
Node: Aliases191811
Node: Arrays194314
Node: The Directory Stack197334
Node: Directory Stack Builtins198040
Node: Printing a Prompt200918
Node: The Restricted Shell203627
Node: Bash POSIX Mode205452
Node: Job Control212098
Node: Job Control Basics212564
Node: Job Control Builtins216844
Node: Job Control Variables221139
Node: Command Line Editing222288
Node: Introduction and Notation223286
Node: Readline Interaction224903
Node: Readline Bare Essentials226089
Node: Readline Movement Commands227869
Node: Readline Killing Commands228825
Node: Readline Arguments230733
Node: Searching231768
Node: Readline Init File233945
Node: Readline Init File Syntax234999
Node: Conditional Init Constructs246640
Node: Sample Init File249164
Node: Bindable Readline Commands252347
Node: Commands For Moving253546
Node: Commands For History254394
Node: Commands For Text257282
Node: Commands For Killing259942
Node: Numeric Arguments261892
Node: Commands For Completion263019
Node: Keyboard Macros266599
Node: Miscellaneous Commands267157
Node: Readline vi Mode272455
Node: Programmable Completion273364
Node: Programmable Completion Builtins279171
Node: Using History Interactively286532
Node: Bash History Facilities287211
Node: Bash History Builtins289901
Node: History Interaction293751
Node: Event Designators296302
Node: Word Designators297305
Node: Modifiers298934
Node: Installing Bash300330
Node: Basic Installation301464
Node: Compilers and Options304149
Node: Compiling For Multiple Architectures304883
Node: Installation Names306540
Node: Specifying the System Type307351
Node: Sharing Defaults308060
Node: Operation Controls308725
Node: Optional Features309676
Node: Reporting Bugs317947
Node: Major Differences From The Bourne Shell319122
Node: Copying This Manual334870
Node: GNU Free Documentation License335124
Node: Builtin Index357517
Node: Reserved Word Index361144
Node: Variable Index362620
Node: Function Index369613
Node: Concept Index374163

End Tag Table
+2 -2
View File
@@ -5716,9 +5716,9 @@ The version of Bash (e.g., 2.00)
@item \V
The release of Bash, version + patchlevel (e.g., 2.00.0)
@item \w
The current working directory.
The current working directory, with @env{$HOME} abbreviated with a tilde.
@item \W
The basename of @env{$PWD}.
The basename of @env{$PWD}, with @env{$HOME} abbreviated with a tilde.
@item \!
The history number of this command.
@item \#
+7255
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.18.1
%%CreationDate: Thu Nov 13 09:47:38 2003
%%CreationDate: Sun Jan 25 21:10:35 2004
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
@@ -189,11 +189,11 @@ setpacking
%%IncludeResource: font Palatino-Italic
%%IncludeResource: font Palatino-Bold
grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron
/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef
def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron
/Zcaron/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
/.notdef/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
+4 -4
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.18.1
%%CreationDate: Thu Nov 13 09:47:38 2003
%%CreationDate: Sun Jan 25 21:10:36 2004
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.18 1
@@ -177,11 +177,11 @@ setpacking
%%IncludeResource: font Times-Roman
%%IncludeResource: font Times-Bold
grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron
/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef
def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron
/Zcaron/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
/.notdef/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
+5 -5
View File
@@ -1,10 +1,10 @@
@ignore
Copyright (C) 1988-2003 Free Software Foundation, Inc.
Copyright (C) 1988-2004 Free Software Foundation, Inc.
@end ignore
@set EDITION 3.0
@set VERSION 3.0-alpha
@set UPDATED 13 November 2003
@set UPDATED-MONTH November 2003
@set VERSION 3.0-beta1
@set UPDATED 24 January 2004
@set UPDATED-MONTH January 2004
@set LASTCHANGE Thu Nov 13 09:47:04 EST 2003
@set LASTCHANGE Sat Jan 24 13:17:53 EST 2004
+10
View File
@@ -0,0 +1,10 @@
@ignore
Copyright (C) 1988-2003 Free Software Foundation, Inc.
@end ignore
@set EDITION 3.0
@set VERSION 3.0-alpha
@set UPDATED 13 November 2003
@set UPDATED-MONTH November 2003
@set LASTCHANGE Thu Nov 13 09:47:04 EST 2003
+1
View File
@@ -95,6 +95,7 @@ typedef struct job {
#define NO_JOB -1 /* An impossible job array index. */
#define DUP_JOB -2 /* A possible return value for get_job_spec (). */
#define BAD_JOBSPEC -3 /* Bad syntax for job spec. */
/* A value which cannot be a process ID. */
#define NO_PID (pid_t)-1
+182
View File
@@ -0,0 +1,182 @@
/* jobs.h -- structures and stuff used by the jobs.c file. */
/* Copyright (C) 1993 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
Bash is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
version.
Bash is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License along
with Bash; see the file COPYING. If not, write to the Free Software
Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
#if !defined (_JOBS_H_)
# define _JOBS_H_
#include "quit.h"
#include "siglist.h"
#include "stdc.h"
#include "posixwait.h"
/* Defines controlling the fashion in which jobs are listed. */
#define JLIST_STANDARD 0
#define JLIST_LONG 1
#define JLIST_PID_ONLY 2
#define JLIST_CHANGED_ONLY 3
#define JLIST_NONINTERACTIVE 4
/* I looked it up. For pretty_print_job (). The real answer is 24. */
#define LONGEST_SIGNAL_DESC 24
/* We keep an array of jobs. Each entry in the array is a linked list
of processes that are piped together. The first process encountered is
the group leader. */
/* Values for the `running' field of a struct process. */
#define PS_DONE 0
#define PS_RUNNING 1
#define PS_STOPPED 2
/* Each child of the shell is remembered in a STRUCT PROCESS. A chain of
such structures is a pipeline. The chain is circular. */
typedef struct process {
struct process *next; /* Next process in the pipeline. A circular chain. */
pid_t pid; /* Process ID. */
WAIT status; /* The status of this command as returned by wait. */
int running; /* Non-zero if this process is running. */
char *command; /* The particular program that is running. */
} PROCESS;
/* PRUNNING really means `not exited' */
#define PRUNNING(p) ((p)->running || WIFSTOPPED((p)->status))
#define PSTOPPED(p) (WIFSTOPPED((p)->status))
#define PDEADPROC(p) ((p)->running == PS_DONE)
/* A description of a pipeline's state. */
typedef enum { JRUNNING, JSTOPPED, JDEAD, JMIXED } JOB_STATE;
#define JOBSTATE(job) (jobs[(job)]->state)
#define STOPPED(j) (jobs[(j)]->state == JSTOPPED)
#define RUNNING(j) (jobs[(j)]->state == JRUNNING)
#define DEADJOB(j) (jobs[(j)]->state == JDEAD)
/* Values for the FLAGS field in the JOB struct below. */
#define J_FOREGROUND 0x01 /* Non-zero if this is running in the foreground. */
#define J_NOTIFIED 0x02 /* Non-zero if already notified about job state. */
#define J_JOBCONTROL 0x04 /* Non-zero if this job started under job control. */
#define J_NOHUP 0x08 /* Don't send SIGHUP to job if shell gets SIGHUP. */
#define IS_FOREGROUND(j) ((jobs[j]->flags & J_FOREGROUND) != 0)
#define IS_NOTIFIED(j) ((jobs[j]->flags & J_NOTIFIED) != 0)
#define IS_JOBCONTROL(j) ((jobs[j]->flags & J_JOBCONTROL) != 0)
typedef struct job {
char *wd; /* The working directory at time of invocation. */
PROCESS *pipe; /* The pipeline of processes that make up this job. */
pid_t pgrp; /* The process ID of the process group (necessary). */
JOB_STATE state; /* The state that this job is in. */
int flags; /* Flags word: J_NOTIFIED, J_FOREGROUND, or J_JOBCONTROL. */
#if defined (JOB_CONTROL)
COMMAND *deferred; /* Commands that will execute when this job is done. */
sh_vptrfunc_t *j_cleanup; /* Cleanup function to call when job marked JDEAD */
PTR_T cleanarg; /* Argument passed to (*j_cleanup)() */
#endif /* JOB_CONTROL */
} JOB;
#define NO_JOB -1 /* An impossible job array index. */
#define DUP_JOB -2 /* A possible return value for get_job_spec (). */
/* A value which cannot be a process ID. */
#define NO_PID (pid_t)-1
/* System calls. */
#if !defined (HAVE_UNISTD_H)
extern pid_t fork (), getpid (), getpgrp ();
#endif /* !HAVE_UNISTD_H */
/* Stuff from the jobs.c file. */
extern pid_t original_pgrp, shell_pgrp, pipeline_pgrp;
extern pid_t last_made_pid, last_asynchronous_pid;
extern int current_job, previous_job;
extern int asynchronous_notification;
extern JOB **jobs;
extern int job_slots;
extern void making_children __P((void));
extern void stop_making_children __P((void));
extern void cleanup_the_pipeline __P((void));
extern void save_pipeline __P((int));
extern void restore_pipeline __P((int));
extern void start_pipeline __P((void));
extern int stop_pipeline __P((int, COMMAND *));
extern void delete_job __P((int, int));
extern void nohup_job __P((int));
extern void delete_all_jobs __P((int));
extern void nohup_all_jobs __P((int));
extern int count_all_jobs __P((void));
extern void terminate_current_pipeline __P((void));
extern void terminate_stopped_jobs __P((void));
extern void hangup_all_jobs __P((void));
extern void kill_current_pipeline __P((void));
#if defined (__STDC__) && defined (pid_t)
extern int get_job_by_pid __P((int, int));
extern void describe_pid __P((int));
#else
extern int get_job_by_pid __P((pid_t, int));
extern void describe_pid __P((pid_t));
#endif
extern void list_one_job __P((JOB *, int, int, int));
extern void list_all_jobs __P((int));
extern void list_stopped_jobs __P((int));
extern void list_running_jobs __P((int));
extern pid_t make_child __P((char *, int));
extern int get_tty_state __P((void));
extern int set_tty_state __P((void));
extern int wait_for_single_pid __P((pid_t));
extern void wait_for_background_pids __P((void));
extern int wait_for __P((pid_t));
extern int wait_for_job __P((int));
extern void notify_and_cleanup __P((void));
extern void reap_dead_jobs __P((void));
extern int start_job __P((int, int));
extern int kill_pid __P((pid_t, int, int));
extern int initialize_job_control __P((int));
extern void initialize_job_signals __P((void));
extern int give_terminal_to __P((pid_t, int));
extern void set_sigwinch_handler __P((void));
extern void unset_sigwinch_handler __P((void));
extern void unfreeze_jobs_list __P((void));
extern int set_job_control __P((int));
extern void without_job_control __P((void));
extern void end_job_control __P((void));
extern void restart_job_control __P((void));
extern void set_sigchld_handler __P((void));
extern void ignore_tty_job_signals __P((void));
extern void default_tty_job_signals __P((void));
#if defined (JOB_CONTROL)
extern int job_control;
#endif
#endif /* _JOBS_H_ */
+13 -6
View File
@@ -46,9 +46,16 @@ LDFLAGS = @LDFLAGS@
DEFS = @DEFS@
LOCAL_DEFS = @LOCAL_DEFS@
LIBBUILD = ${BUILD_DIR}/lib
BASHINCDIR = ${topdir}/include
INCLUDES = -I. -I../.. -I$(topdir) -I$(BASHINCDIR) -I$(topdir)/lib
INTL_LIBSRC = ${topdir}/lib/intl
INTL_BUILDDIR = ${LIBBUILD}/intl
INTL_INC = @INTL_INC@
LIBINTL_H = @LIBINTL_H@
INCLUDES = -I. -I../.. -I$(topdir) -I$(BASHINCDIR) -I$(topdir)/lib $(INTL_INC)
CCFLAGS = ${PROFILE_FLAGS} ${INCLUDES} $(DEFS) $(LOCAL_DEFS) $(LOCAL_CFLAGS) \
$(CFLAGS) $(MALLOC_CFLAGS) $(CPPFLAGS)
@@ -116,11 +123,11 @@ trace.o: ${srcdir}/imalloc.h
table.o: ${srcdir}/imalloc.h ${srcdir}/table.h
watch.o: ${srcdir}/imalloc.h ${srcdir}/watch.h
malloc.o: ${topdir}/bashintl.h ${BASHINCDIR}/gettext.h
stats.o: ${topdir}/bashintl.h ${BASHINCDIR}/gettext.h
trace.o: ${topdir}/bashintl.h ${BASHINCDIR}/gettext.h
table.o: ${topdir}/bashintl.h ${BASHINCDIR}/gettext.h
watch.o: ${topdir}/bashintl.h ${BASHINCDIR}/gettext.h
malloc.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h
stats.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h
trace.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h
table.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h
watch.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h
# Rules for deficient makes, like SunOS and Solaris
stub.o: stub.c
+1 -1
View File
@@ -1,6 +1,6 @@
/* complete.c -- filename completion for readline. */
/* Copyright (C) 1987, 1989, 1992 Free Software Foundation, Inc.
/* Copyright (C) 1987-2004 Free Software Foundation, Inc.
This file is part of the GNU Readline Library, a library for
reading lines of text with interactive input and history editing.
+1 -1
View File
@@ -1,6 +1,6 @@
/* display.c -- readline redisplay facility. */
/* Copyright (C) 1987, 1989, 1992 Free Software Foundation, Inc.
/* Copyright (C) 1987-2004 Free Software Foundation, Inc.
This file is part of the GNU Readline Library, a library for
reading lines of text with interactive input and history editing.
+5
View File
@@ -933,6 +933,11 @@ expand the primary prompt if the @code{rl_on_new_line_with_prompt()}
function or @code{rl_already_prompted} variable is used.
It returns the number of visible characters on the last line of the
(possibly multi-line) prompt.
Applications may indicate that the prompt contains characters that take
up no physical screen space when displayed by bracketing a sequence of
such characters with the special markers @code{RL_PROMPT_START_IGNORE}
and @code{RL_PROMPT_END_IGNORE} (declared in @file{readline.h}. This may
be used to embed terminal-specific escape sequences in prompts.
@end deftypefun
@deftypefun int rl_set_prompt (const char *prompt)
+2 -2
View File
@@ -4,7 +4,7 @@ Copyright (C) 1988-2004 Free Software Foundation, Inc.
@set EDITION 5.0
@set VERSION 5.0
@set UPDATED 8 January 2004
@set UPDATED 15 January 2004
@set UPDATED-MONTH January 2003
@set LASTCHANGE Thu Jan 8 10:34:23 EST 2004
@set LASTCHANGE Thu Jan 15 09:05:10 EST 2004
+2 -2
View File
@@ -1,6 +1,6 @@
/* mbutil.c -- readline multibyte character utility functions */
/* Copyright (C) 2001 Free Software Foundation, Inc.
/* Copyright (C) 2001-2004 Free Software Foundation, Inc.
This file is part of the GNU Readline Library, a library for
reading lines of text with interactive input and history editing.
@@ -92,7 +92,7 @@ _rl_find_next_mbchar_internal (string, seed, count, find_non_zero)
/* if this is true, means that seed was not pointed character
started byte. So correct the point and consume count */
if (seed < point)
count --;
count--;
while (count > 0)
{
+1 -1
View File
@@ -1,6 +1,6 @@
/* Readline.h -- the names of functions callable from within readline. */
/* Copyright (C) 1987, 1989, 1992 Free Software Foundation, Inc.
/* Copyright (C) 1987-2004 Free Software Foundation, Inc.
This file is part of the GNU Readline Library, a library for
reading lines of text with interactive input and history editing.
+12 -5
View File
@@ -31,8 +31,15 @@ VPATH = .:@srcdir@
topdir = @top_srcdir@
BUILD_DIR = @BUILD_DIR@
LIBBUILD = ${BUILD_DIR}/lib
BASHINCDIR = ${topdir}/include
INTL_LIBSRC = ${topdir}/lib/intl
INTL_BUILDDIR = ${LIBBUILD}/intl
INTL_INC = @INTL_INC@
LIBINTL_H = @LIBINTL_H@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
@@ -57,7 +64,7 @@ PROFILE_FLAGS = @PROFILE_FLAGS@
DEFS = @DEFS@
LOCAL_DEFS = @LOCAL_DEFS@
INCLUDES = -I. -I../.. -I$(topdir) -I$(topdir)/lib -I$(BASHINCDIR) -I$(srcdir)
INCLUDES = -I. -I../.. -I$(topdir) -I$(topdir)/lib -I$(BASHINCDIR) -I$(srcdir) $(INTL_INC)
CCFLAGS = ${PROFILE_FLAGS} ${INCLUDES} $(DEFS) $(LOCAL_DEFS) $(LOCAL_CFLAGS) \
$(CFLAGS) $(CPPFLAGS)
@@ -277,7 +284,7 @@ netopen.o: ${topdir}/array.h ${topdir}/hashlib.h ${topdir}/quit.h
netopen.o: ${topdir}/unwind_prot.h ${topdir}/dispose_cmd.h
netopen.o: ${topdir}/make_cmd.h ${topdir}/subst.h ${topdir}/sig.h
netopen.o: ${BUILD_DIR}/pathnames.h ${topdir}/externs.h ${BUILD_DIR}/version.h
netopen.o: ${topdir}/bashintl.h $(BASHINCDIR)/gettext.h
netopen.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
oslib.o: ${topdir}/bashtypes.h ${topdir}/bashansi.h ${BASHINCDIR}/maxpath.h
oslib.o: ${topdir}/shell.h ${topdir}/syntax.h ${topdir}/bashjmp.h ${BASHINCDIR}/posixjmp.h
@@ -423,21 +430,21 @@ fmtulong.o: ${BASHINCDIR}/ansi_stdlib.h
fmtulong.o: ${BASHINCDIR}/chartypes.h
fmtulong.o: ${BASHINCDIR}/stdc.h
fmtulong.o: ${BASHINCDIR}/typemax.h
fmtulong.o: ${topdir}/bashintl.h ${BASHINCDIR}/gettext.h
fmtulong.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h
fmtullong.o: ${topdir}/bashansi.h
fmtullong.o: ${BASHINCDIR}/ansi_stdlib.h
fmtullong.o: ${BASHINCDIR}/chartypes.h
fmtullong.o: ${BASHINCDIR}/stdc.h
fmtullong.o: ${BASHINCDIR}/typemax.h
fmtullong.o: ${topdir}/bashintl.h ${BASHINCDIR}/gettext.h
fmtullong.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h
fmtumax.o: ${topdir}/bashansi.h
fmtumax.o: ${BASHINCDIR}/ansi_stdlib.h
fmtumax.o: ${BASHINCDIR}/chartypes.h
fmtumax.o: ${BASHINCDIR}/stdc.h
fmtumax.o: ${BASHINCDIR}/typemax.h
fmtumax.o: ${topdir}/bashintl.h ${BASHINCDIR}/gettext.h
fmtumax.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h
xstrchr.o: ${topdir}/bashansi.h
xstrchr.o: ${BASHINCDIR}/ansi_stdlib.h
+4 -3
View File
@@ -1,6 +1,6 @@
/* Yacc grammar for bash. */
/* Copyright (C) 1989-2002 Free Software Foundation, Inc.
/* Copyright (C) 1989-2004 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -4070,7 +4070,7 @@ decode_prompt_string (string)
case 'W':
{
/* Use the value of PWD because it is much more efficient. */
char t_string[PATH_MAX];
char t_string[PATH_MAX], *t;
int tlen;
temp = get_string_value ("PWD");
@@ -4094,7 +4094,8 @@ decode_prompt_string (string)
#define ROOT_PATH(x) ((x)[0] == '/' && (x)[1] == 0)
#define DOUBLE_SLASH_ROOT(x) ((x)[0] == '/' && (x)[1] == '/' && (x)[2] == 0)
if (c == 'W')
/* Abbreviate \W as ~ if $PWD == $HOME */
if (c == 'W' && (((t = get_string_value ("HOME")) == 0) || STREQ (t, temp) == 0))
{
if (ROOT_PATH (t_string) == 0 && DOUBLE_SLASH_ROOT (t_string) == 0)
{
+4851
View File
File diff suppressed because it is too large Load Diff
+18 -17
View File
@@ -1332,25 +1332,8 @@ open_shell_script (script_name)
ARRAY *funcname_a, *bash_source_a, *bash_lineno_a;
#endif
free (dollar_vars[0]);
dollar_vars[0] = savestring (script_name);
filename = savestring (script_name);
#if defined (ARRAY_VARS)
GET_ARRAY_FROM_VAR ("FUNCNAME", funcname_v, funcname_a);
GET_ARRAY_FROM_VAR ("BASH_SOURCE", bash_source_v, bash_source_a);
GET_ARRAY_FROM_VAR ("BASH_LINENO", bash_lineno_v, bash_lineno_a);
array_push (bash_source_a, filename);
if (bash_lineno_a)
{
t = itos (executing_line_number ());
array_push (bash_lineno_a, t);
free (t);
}
array_push (funcname_a, "main");
#endif
fd = open (filename, O_RDONLY);
if ((fd < 0) && (errno == ENOENT) && (absolute_program (filename) == 0))
{
@@ -1375,6 +1358,24 @@ open_shell_script (script_name)
exit ((e == ENOENT) ? EX_NOTFOUND : EX_NOINPUT);
}
free (dollar_vars[0]);
dollar_vars[0] = savestring (script_name);
#if defined (ARRAY_VARS)
GET_ARRAY_FROM_VAR ("FUNCNAME", funcname_v, funcname_a);
GET_ARRAY_FROM_VAR ("BASH_SOURCE", bash_source_v, bash_source_a);
GET_ARRAY_FROM_VAR ("BASH_LINENO", bash_lineno_v, bash_lineno_a);
array_push (bash_source_a, filename);
if (bash_lineno_a)
{
t = itos (executing_line_number ());
array_push (bash_lineno_a, t);
free (t);
}
array_push (funcname_a, "main");
#endif
#ifdef HAVE_DEV_FD
fd_is_tty = isatty (fd);
#else
+1785
View File
File diff suppressed because it is too large Load Diff
+12 -3
View File
@@ -1565,6 +1565,10 @@ string_list_internal (list, sep)
if (list == 0)
return ((char *)NULL);
/* Short-circuit quickly if we don't need to separate anything. */
if (list->next == 0)
return (savestring (list->word->word));
/* This is nearly always called with either sep[0] == 0 or sep[1] == 0. */
sep_len = STRLEN (sep);
result_size = 0;
@@ -4356,11 +4360,16 @@ parameter_brace_expand_rhs (name, value, c, quoted, qdollaratp, hasdollarat)
if (l)
{
/* The expansion of TEMP returned something. We need to treat things
slightly differently if HASDOL is non-zero. */
temp = string_list (l);
slightly differently if HASDOL is non-zero. If we have "$@", the
individual words have already been quoted. We need to turn them
into a string with the words separated by the first character of
$IFS without any additional quoting, so string_list_dollar_at won't
do the right thing. We use string_list_dollar_star instead. */
temp = (hasdol || l->next) ? string_list_dollar_star (l) : string_list (l);
/* If l->next is not null, we know that TEMP contained "$@", since that
is the only expansion that creates more than one word. */
if ((hasdol && quoted) || l->next)
if (qdollaratp && ((hasdol && quoted) || l->next))
*qdollaratp = 1;
dispose_words (l);
}
+13 -3
View File
@@ -3107,6 +3107,8 @@ match_pattern (string, pat, mtype, sp, ep)
else
p++;
}
FREE (mblen);
return (0);
case MATCH_BEG:
@@ -3136,6 +3138,8 @@ match_pattern (string, pat, mtype, sp, ep)
else
p--;
}
FREE (mblen);
return (0);
case MATCH_END:
@@ -3161,6 +3165,7 @@ match_pattern (string, pat, mtype, sp, ep)
return (0);
}
FREE (mblen);
return (0);
}
@@ -4351,11 +4356,16 @@ parameter_brace_expand_rhs (name, value, c, quoted, qdollaratp, hasdollarat)
if (l)
{
/* The expansion of TEMP returned something. We need to treat things
slightly differently if HASDOL is non-zero. */
temp = string_list (l);
slightly differently if HASDOL is non-zero. If we have "$@", the
individual words have already been quoted. We need to turn them
into a string with the words separated by the first character of
$IFS without any additional quoting, so string_list_dollar_at won't
do the right thing. We use string_list_dollar_star instead. */
temp = (hasdol || l->next) ? string_list_dollar_star (l) : string_list (l);
/* If l->next is not null, we know that TEMP contained "$@", since that
is the only expansion that creates more than one word. */
if ((hasdol && quoted) || l->next)
if (qdollaratp && ((hasdol && quoted) || l->next))
*qdollaratp = 1;
dispose_words (l);
}
+1 -1
View File
@@ -1,4 +1,4 @@
BUILD_DIR=/usr/local/build/chet/bash/bash-current
BUILD_DIR=/usr/local/build/bash/bash-current
THIS_SH=$BUILD_DIR/bash
PATH=$PATH:$BUILD_DIR
+4
View File
@@ -211,4 +211,8 @@ esac
# expansions -- bugs through bash-2.05b
${THIS_SH} ./dollar-star1.sub
# tests for expansion of "$@" on rhs of things like ${param:+word}. Bugs
# though bash-2.05b
${THIS_SH} ./dollar-at1.sub
exit 0
+214
View File
@@ -0,0 +1,214 @@
# first, let's start with the basics
recho "$@"
recho "$*"
recho $@
recho $*
set a b
recho "$*"
# If IFS is null, the parameters are joined without separators
IFS=''
recho "$*"
# If IFS is unset, the parameters are separated by spaces
unset IFS
recho "${*}"
recho "$@"
recho $@
IFS='/'
set bob 'tom dick harry' joe
set $*
recho $#
recho $1
recho $2
recho $3
set bob 'tom dick harry' joe
set ${*}
recho $#
recho $1
recho $2
recho $3
set bob 'tom dick harry' joe
set $@
recho $#
recho $1
recho $2
recho $3
set bob 'tom dick harry' joe
set ${@}
recho $#
recho $1
recho $2
recho $3
# according to POSIX.2, unquoted $* should expand to multiple words if
# $IFS is null, just like unquoted $@
IFS=''
set bob 'tom dick harry' joe
set $*
recho $#
recho $1
recho $2
recho $3
set bob 'tom dick harry' joe
set $@
recho $#
recho $1
recho $2
recho $3
# if IFS is unset, the individual positional parameters are split on
# " \t\n" if $* or $@ are unquoted
unset IFS
set bob 'tom dick harry' joe
set $*
recho $#
recho $1
recho $2
recho $3
set bob 'tom dick harry' joe
set $@
recho $#
recho $1
recho $2
recho $3
# but not for "$@" or "$*"
set bob 'tom dick harry' joe
set "$*"
recho $#
recho $1
recho $2
recho $3
set bob 'tom dick harry' joe
set "$@"
recho $#
recho $1
recho $2
recho $3
# POSIX.2 says these should both expand the positional parameters
# to multiple words
set a b c d e
IFS=""
recho $@
recho "$@"
# this example is straight from the POSIX.2 rationale
set foo bar bam
recho "$@"
recho "$*"
unset IFS
recho "$@"
recho $@
recho "$*"
IFS=:
# special variables
set -- 1 2 3 4 5 6 7 8 9 10
bar=${*}
foo=$*
echo foo = "$foo"
echo bar = "$bar"
foo1=$@
bar1=${@}
echo foo1 = "$foo1"
echo bar1 = "$bar1"
foo2="$*"
bar2="${*}"
echo foo2 = "$foo2"
echo bar2 = "$bar2"
eval foo3='$*' bar3='${*}'
echo foo3 = "$foo3"
echo bar3 = "$bar3"
case $* in
*\:*) echo ok 1;;
*) echo bad 1;;
esac
case $@ in
*\:*) echo bad 2;;
*) echo ok 2;;
esac
case "$*" in
*\:*) echo ok 3;;
*) echo bad 3;;
esac
case "$@" in
*\:*) echo bad 4;;
*) echo ok 4;;
esac
IFS=$' \t\n'
bar=${*}
foo=$*
echo foo = "$foo"
echo bar = "$bar"
foo1=$@
bar1=${@}
echo foo1 = "$foo1"
echo bar1 = "$bar1"
foo2="$*"
bar2="${*}"
echo foo2 = "$foo2"
echo bar2 = "$bar2"
eval foo3='$*' bar3='${*}'
echo foo3 = "$foo3"
echo bar3 = "$bar3"
case $* in
*\ *) echo ok 1;;
*) echo bad 1;;
esac
case $@ in
*\ *) echo ok 2;;
*) echo bad 2;;
esac
case "$*" in
*\ *) echo ok 3;;
*) echo bad 3;;
esac
case "$@" in
*\ *) echo ok 4;;
*) echo bad 4;;
esac
# tests for special expansion of "$*" and "${array[*]}" when used with other
# expansions -- bugs through bash-2.05b
${THIS_SH} ./dollar-star1.sub
exit 0
+29
View File
@@ -0,0 +1,29 @@
echo_argc()
{
echo $#
}
a()
{
shift
echo_argc "$@"
echo_argc ${1:+"$@"}
echo_argc "${1:+$@}"
echo_argc 1 2 3
}
b()
{
_IFS="$IFS"
IFS="$1"
shift
echo_argc "$@"
echo_argc ${1:+"$@"}
echo_argc "${1:+$@}"
echo_argc 1 2 3
IFS="$_IFS"
}
a "X" foo bar hoge
b "X" foo bar hoge
+29
View File
@@ -0,0 +1,29 @@
echo_argc()
{
echo $#
}
a()
{
shift
echo_argc "$@"
echo_argc ${1:+"$@"}
echo_argc "${1:+$@}"
echo_argc 1 2 3
}
b()
{
_IFS="$IFS"
IFS="$1"
shift
echo_argc "$@"
echo_argc ${1:+"$@"}
echo_argc "${1:+$@}"
echo_argc 1 2 3
IFS="$_IFS"
}
#a "X" foo bar hoge
#echo
b "X" foo bar hoge
+8
View File
@@ -111,3 +111,11 @@ a|b|c
a|b|c
xa|xb|xc
xa|xb|xc
3
3
3
3
3
3
3
3
+6 -6
View File
@@ -6,15 +6,15 @@ after exec1.sub with args: 0
after exec1.sub without args: 0
./execscript: line 20: notthere: command not found
127
notthere: notthere: No such file or directory
/tmp/bash: notthere: No such file or directory
127
/bin/sh: /bin/sh: cannot execute binary file
126
./execscript: line 32: /: is a directory
./execscript: line 39: /: is a directory
126
/: /: cannot execute binary file
126
./execscript: line 39: .: /: is a directory
./execscript: line 46: .: /: is a directory
1
127
0
@@ -22,11 +22,11 @@ this is bashenv
./exec3.sub: line 3: /tmp/bash-notthere: No such file or directory
./exec3.sub: line 3: exec: /tmp/bash-notthere: cannot execute: No such file or directory
126
./execscript: line 61: notthere: No such file or directory
./execscript: line 68: notthere: No such file or directory
127
./execscript: line 64: notthere: No such file or directory
./execscript: line 71: notthere: No such file or directory
127
./execscript: line 67: notthere: No such file or directory
./execscript: line 74: notthere: No such file or directory
127
this is sh
this is sh
+53
View File
@@ -0,0 +1,53 @@
before exec1.sub: one two three
calling exec1.sub
aa bb cc dd ee
after exec1.sub with args: 0
after exec1.sub without args: 0
./execscript: line 20: notthere: command not found
127
/tmp/bash: notthere: No such file or directory
127
/bin/sh: /bin/sh: cannot execute binary file
126
./execscript: line 38: /: is a directory
126
/: /: cannot execute binary file
126
./execscript: line 45: .: /: is a directory
1
127
0
this is bashenv
./exec3.sub: line 3: /tmp/bash-notthere: No such file or directory
./exec3.sub: line 3: exec: /tmp/bash-notthere: cannot execute: No such file or directory
126
./execscript: line 67: notthere: No such file or directory
127
./execscript: line 70: notthere: No such file or directory
127
./execscript: line 73: notthere: No such file or directory
127
this is sh
this is sh
unset
ok
5
./exec5.sub: line 4: exec: bash-notthere: not found
127
this is ohio-state
0
1
1
0
42
42
0
1
1
0
0
1
0
1
testb
+8 -1
View File
@@ -21,8 +21,15 @@ notthere
echo $?
# this is iffy, since the error messages may vary from system to system
${THIS_SH} notthere
# and /tmp might not exist
ln -s ${THIS_SH} /tmp/bash 2>/dev/null
if [ -f /tmp/bash ]; then
/tmp/bash notthere
else
${THIS_SH} notthere
fi
echo $?
rm -f /tmp/bash
# /bin/sh should be there on all systems
${THIS_SH} /bin/sh
+105
View File
@@ -0,0 +1,105 @@
export LC_ALL=C
export LANG=C
if [ $UID -eq 0 ]; then
echo "execscript: the test suite should not be run as root" >&2
fi
set -- one two three
echo before exec1.sub: "$@"
echo calling exec1.sub
./exec1.sub aa bb cc dd ee
echo after exec1.sub with args: $?
./exec1.sub
echo after exec1.sub without args: $?
# set up a fixed path so we know notthere will not be found
PATH=/usr/bin:/bin:/usr/local/bin:
export PATH
notthere
echo $?
# this is iffy, since the error messages may vary from system to system
# and /tmp might not exist
ln -s ${THIS_SH} /tmp/bash 2>/dev/null
if [ -f /tmp/bash ]; then
/tmp/bash notthere
else
${THIS_SH} notthere
fi
echo $?
# /bin/sh should be there on all systems
${THIS_SH} /bin/sh
echo $?
# try executing a directory
/
echo $?
${THIS_SH} /
echo $?
# try sourcing a directory
. /
echo $?
# try sourcing a binary file -- post-2.04 versions don't do the binary file
# check, and will probably fail with `command not found', or status 127
. ${THIS_SH} 2>/dev/null
echo $?
# post-bash-2.05 versions allow sourcing non-regular files
. /dev/null
echo $?
# kill two birds with one test -- test out the BASH_ENV code
echo echo this is bashenv > /tmp/bashenv
export BASH_ENV=/tmp/bashenv
${THIS_SH} ./exec3.sub
rm -f /tmp/bashenv
unset BASH_ENV
# we're resetting the $PATH to empty, so this should be last
PATH=
notthere
echo $?
command notthere
echo $?
command -p notthere
echo $?
# but -p should guarantee that we find all the standard utilities, even
# with an empty or unset $PATH
command -p sh -c 'echo this is $0'
unset PATH
command -p sh -c 'echo this is $0'
# a bug in bash before bash-2.01 caused PATH to be set to the empty string
# when command -p was run with PATH unset
echo ${PATH-unset}
echo "echo ok" | ${THIS_SH} -t
${THIS_SH} ./exec2.sub
echo $?
${THIS_SH} ./exec4.sub
# try exec'ing a command that cannot be found in $PATH
${THIS_SH} ./exec5.sub
# this was a bug in bash versions before bash-2.04
${THIS_SH} -c 'cat </dev/null | cat >/dev/null' >&-
# checks for proper return values in subshell commands with inverted return
# values
${THIS_SH} ./exec6.sub
# checks for properly deciding what constitutes an executable file
${THIS_SH} ./exec7.sub
+5
View File
@@ -2300,6 +2300,11 @@ makunbound (name, vc)
We also need to add it back into the correct hash table. */
if (old_var && local_p (old_var) && variable_context == old_var->context)
{
/* Reset the attributes. Preserve the export attribute if the variable
came from a temporary environment. Make sure it stays local, and
make it invisible. */
old_var->attributes = (exported_p (old_var) && tempvar_p (old_var)) ? att_exported : 0;
VSETATTR (old_var, att_local);
VSETATTR (old_var, att_invisible);
FREE (value_cell (old_var));
var_setvalue (old_var, (char *)NULL);