summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:38:56 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:38:56 +0000
commit6c20c8ed2cb9ab69a1a57ccb2b9b79969a808321 (patch)
treef63ce19d57fad3ac4a15bc26dbfbfa2b834111b5
parentInitial commit. (diff)
downloadbash-6c20c8ed2cb9ab69a1a57ccb2b9b79969a808321.tar.xz
bash-6c20c8ed2cb9ab69a1a57ccb2b9b79969a808321.zip
Adding upstream version 5.2.15.upstream/5.2.15upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
-rw-r--r--ABOUT-NLS1379
-rw-r--r--AUTHORS466
-rw-r--r--CHANGES10858
-rw-r--r--COMPAT596
-rw-r--r--COPYING674
-rw-r--r--CWRU/PLATFORMS31
-rw-r--r--CWRU/README20
-rw-r--r--CWRU/changelog3952
-rw-r--r--CWRU/misc/bison26
-rw-r--r--CWRU/misc/errlist.c57
-rw-r--r--CWRU/misc/hpux10-dlfcn.h63
-rw-r--r--CWRU/misc/open-files.c39
-rw-r--r--CWRU/misc/sigs.c47
-rw-r--r--CWRU/misc/sigstat.c226
-rw-r--r--CWRU/sh-redir-hack15
-rw-r--r--ChangeLog3952
-rw-r--r--INSTALL495
-rw-r--r--MANIFEST1594
-rw-r--r--Makefile.in1781
-rw-r--r--NEWS2574
-rw-r--r--NOTES352
-rw-r--r--POSIX264
-rw-r--r--RBASH52
-rw-r--r--README112
-rw-r--r--Y2K4
-rw-r--r--aclocal.m42267
-rw-r--r--alias.c594
-rw-r--r--alias.h73
-rw-r--r--array.c1303
-rw-r--r--array.h182
-rw-r--r--array2.c1374
-rw-r--r--arrayfunc.c1699
-rw-r--r--arrayfunc.h140
-rw-r--r--assoc.c611
-rw-r--r--assoc.h66
-rw-r--r--bashansi.h38
-rw-r--r--bashhist.c1079
-rw-r--r--bashhist.h89
-rw-r--r--bashintl.h54
-rw-r--r--bashjmp.h47
-rw-r--r--bashline.c4839
-rw-r--r--bashline.h69
-rw-r--r--bashtypes.h42
-rw-r--r--bracecomp.c221
-rw-r--r--braces.c843
-rw-r--r--builtins.h68
-rw-r--r--builtins/Makefile.in723
-rw-r--r--builtins/alias.def241
-rw-r--r--builtins/bashgetopt.c194
-rw-r--r--builtins/bashgetopt.h43
-rw-r--r--builtins/bind.def405
-rw-r--r--builtins/break.def143
-rw-r--r--builtins/builtin.def85
-rw-r--r--builtins/caller.def156
-rw-r--r--builtins/cd.def685
-rw-r--r--builtins/colon.def76
-rw-r--r--builtins/command.def143
-rw-r--r--builtins/common.c1131
-rw-r--r--builtins/common.h289
-rw-r--r--builtins/complete.def892
-rw-r--r--builtins/declare.def1048
-rw-r--r--builtins/echo.def202
-rw-r--r--builtins/enable.def586
-rw-r--r--builtins/eval.def57
-rw-r--r--builtins/evalfile.c384
-rw-r--r--builtins/evalstring.c840
-rw-r--r--builtins/exec.def276
-rw-r--r--builtins/exit.def169
-rw-r--r--builtins/fc.def785
-rw-r--r--builtins/fg_bg.def189
-rw-r--r--builtins/gen-helpfiles.c198
-rw-r--r--builtins/getopt.c355
-rw-r--r--builtins/getopt.h82
-rw-r--r--builtins/getopts.def343
-rw-r--r--builtins/hash.def305
-rw-r--r--builtins/help.def552
-rw-r--r--builtins/history.def464
-rw-r--r--builtins/jobs.def300
-rw-r--r--builtins/kill.def276
-rw-r--r--builtins/let.def131
-rw-r--r--builtins/mapfile.def364
-rw-r--r--builtins/mkbuiltins.c1692
-rw-r--r--builtins/printf.def1355
-rw-r--r--builtins/psize.c79
-rw-r--r--builtins/psize.sh45
-rw-r--r--builtins/pushd.def796
-rw-r--r--builtins/read.def1273
-rw-r--r--builtins/reserved.def288
-rw-r--r--builtins/return.def71
-rw-r--r--builtins/set.def1028
-rw-r--r--builtins/setattr.def672
-rw-r--r--builtins/shift.def90
-rw-r--r--builtins/shopt.def966
-rw-r--r--builtins/source.def200
-rw-r--r--builtins/suspend.def129
-rw-r--r--builtins/test.def159
-rw-r--r--builtins/times.def119
-rw-r--r--builtins/trap.def316
-rw-r--r--builtins/type.def420
-rw-r--r--builtins/ulimit.def809
-rw-r--r--builtins/umask.def317
-rw-r--r--builtins/wait.def381
-rw-r--r--command.h410
-rw-r--r--config-bot.h207
-rw-r--r--config-top.h201
-rw-r--r--config.h.in1230
-rwxr-xr-xconfigure23305
-rw-r--r--configure.ac1326
-rw-r--r--conftypes.h58
-rw-r--r--copy_cmd.c459
-rw-r--r--cross-build/opennt.cache169
-rw-r--r--cross-build/qnx.cache66
-rw-r--r--cross-build/x86-beos.cache45
-rw-r--r--dispose_cmd.c342
-rw-r--r--dispose_cmd.h40
-rw-r--r--doc/INTRO187
-rw-r--r--doc/Makefile.in343
-rw-r--r--doc/README36
-rw-r--r--doc/bash.06664
-rw-r--r--doc/bash.111764
-rw-r--r--doc/bash.html14899
-rw-r--r--doc/bash.info12675
-rw-r--r--doc/bash.pdfbin0 -> 401989 bytes
-rw-r--r--doc/bash.ps10469
-rw-r--r--doc/bashbug.052
-rw-r--r--doc/bashbug.167
-rw-r--r--doc/bashbug.ps297
-rw-r--r--doc/bashref.dvibin0 -> 823680 bytes
-rw-r--r--doc/bashref.html16033
-rw-r--r--doc/bashref.info12676
-rw-r--r--doc/bashref.pdfbin0 -> 795771 bytes
-rw-r--r--doc/bashref.ps22641
-rw-r--r--doc/bashref.texi10129
-rw-r--r--doc/builtins.02083
-rw-r--r--doc/builtins.124
-rw-r--r--doc/builtins.ps3435
-rw-r--r--doc/fdl.texi506
-rw-r--r--doc/fdl.txt451
-rwxr-xr-xdoc/htmlpost.sh19
-rw-r--r--doc/rbash.064
-rw-r--r--doc/rbash.18
-rw-r--r--doc/rbash.ps290
-rw-r--r--doc/texinfo.tex11045
-rw-r--r--doc/version.texi11
-rw-r--r--error.c537
-rw-r--r--error.h82
-rw-r--r--eval.c401
-rw-r--r--examples/INDEX.html426
-rw-r--r--examples/INDEX.txt103
-rw-r--r--examples/bash-completion/README7
-rw-r--r--examples/bash-completion/bash-completion-2.5.tar.xzbin0 -> 276732 bytes
-rw-r--r--examples/complete/bash_completion9401
-rw-r--r--examples/complete/bashcc-1.0.1.tar.gzbin0 -> 4609 bytes
-rw-r--r--examples/complete/cdfunc76
-rw-r--r--examples/complete/complete-examples512
-rw-r--r--examples/functions/array-stuff122
-rw-r--r--examples/functions/array-to-string15
-rw-r--r--examples/functions/arrayops.bash146
-rw-r--r--examples/functions/autoload111
-rw-r--r--examples/functions/autoload.v2192
-rw-r--r--examples/functions/autoload.v3125
-rw-r--r--examples/functions/autoload.v4556
-rw-r--r--examples/functions/autoload.v4.t184
-rw-r--r--examples/functions/basename23
-rw-r--r--examples/functions/csh-compat48
-rw-r--r--examples/functions/dirname21
-rw-r--r--examples/functions/dirstack160
-rw-r--r--examples/functions/exitstat22
-rw-r--r--examples/functions/external50
-rw-r--r--examples/functions/fact13
-rw-r--r--examples/functions/fstty77
-rw-r--r--examples/functions/func43
-rw-r--r--examples/functions/inetaddr79
-rw-r--r--examples/functions/inpath14
-rw-r--r--examples/functions/isnum241
-rw-r--r--examples/functions/isvalidip14
-rw-r--r--examples/functions/ksh-cd54
-rw-r--r--examples/functions/ksh-compat-test58
-rw-r--r--examples/functions/kshenv246
-rw-r--r--examples/functions/login11
-rw-r--r--examples/functions/notify.bash77
-rw-r--r--examples/functions/seq48
-rw-r--r--examples/functions/seq256
-rw-r--r--examples/functions/shcat7
-rw-r--r--examples/functions/shcat219
-rw-r--r--examples/functions/sort-pos-params69
-rw-r--r--examples/functions/substr97
-rw-r--r--examples/functions/substr299
-rw-r--r--examples/functions/whatis71
-rw-r--r--examples/functions/whence78
-rw-r--r--examples/functions/which62
-rw-r--r--examples/loadables/Makefile.in335
-rw-r--r--examples/loadables/Makefile.inc.in101
-rw-r--r--examples/loadables/Makefile.sample.in44
-rw-r--r--examples/loadables/README82
-rw-r--r--examples/loadables/accept.c245
-rw-r--r--examples/loadables/asort.c279
-rw-r--r--examples/loadables/basename.c131
-rw-r--r--examples/loadables/cat.c138
-rw-r--r--examples/loadables/csv.c206
-rw-r--r--examples/loadables/cut.c631
-rw-r--r--examples/loadables/dirname.c119
-rw-r--r--examples/loadables/dsv.c300
-rw-r--r--examples/loadables/fdflags.c374
-rw-r--r--examples/loadables/finfo.c629
-rw-r--r--examples/loadables/getconf.c1163
-rw-r--r--examples/loadables/getconf.h136
-rw-r--r--examples/loadables/head.c170
-rw-r--r--examples/loadables/hello.c96
-rw-r--r--examples/loadables/id.c329
-rw-r--r--examples/loadables/ln.c236
-rw-r--r--examples/loadables/loadables.h34
-rw-r--r--examples/loadables/logname.c74
-rw-r--r--examples/loadables/mkdir.c245
-rw-r--r--examples/loadables/mkfifo.c146
-rw-r--r--examples/loadables/mktemp.c212
-rw-r--r--examples/loadables/mypid.c89
-rw-r--r--examples/loadables/necho.c54
-rw-r--r--examples/loadables/pathchk.c381
-rw-r--r--examples/loadables/perl/Makefile.in99
-rw-r--r--examples/loadables/perl/README6
-rw-r--r--examples/loadables/perl/bperl.c53
-rw-r--r--examples/loadables/perl/iperl.c38
-rw-r--r--examples/loadables/print.c193
-rw-r--r--examples/loadables/printenv.c94
-rw-r--r--examples/loadables/push.c117
-rw-r--r--examples/loadables/realpath.c207
-rw-r--r--examples/loadables/rm.c185
-rw-r--r--examples/loadables/rmdir.c72
-rw-r--r--examples/loadables/seq.c502
-rw-r--r--examples/loadables/setpgid.c121
-rw-r--r--examples/loadables/sleep.c179
-rw-r--r--examples/loadables/stat.c464
-rw-r--r--examples/loadables/strftime.c128
-rw-r--r--examples/loadables/sync.c53
-rw-r--r--examples/loadables/tee.c183
-rw-r--r--examples/loadables/template.c75
-rw-r--r--examples/loadables/truefalse.c72
-rw-r--r--examples/loadables/tty.c83
-rw-r--r--examples/loadables/uname.c162
-rw-r--r--examples/loadables/unlink.c74
-rw-r--r--examples/loadables/whoami.c75
-rw-r--r--examples/misc/aliasconv.bash44
-rw-r--r--examples/misc/aliasconv.sh42
-rw-r--r--examples/misc/cshtobash139
-rw-r--r--examples/scripts/bcalc104
-rw-r--r--examples/scripts/cat.sh12
-rw-r--r--examples/scripts/center41
-rw-r--r--examples/scripts/inpath19
-rw-r--r--examples/scripts/shprompt153
-rw-r--r--examples/scripts/spin.bash37
-rw-r--r--examples/scripts/xterm_title44
-rw-r--r--examples/scripts/zprintf43
-rw-r--r--examples/shellmath/LICENSE677
-rw-r--r--examples/shellmath/README.md166
-rw-r--r--examples/shellmath/assert.sh85
-rw-r--r--examples/shellmath/faster_e_demo.sh68
-rw-r--r--examples/shellmath/image.pngbin0 -> 48779 bytes
-rw-r--r--examples/shellmath/runTests.sh124
-rw-r--r--examples/shellmath/shellmath.sh1068
-rw-r--r--examples/shellmath/slower_e_demo.sh55
-rw-r--r--examples/shellmath/testCases.in142
-rw-r--r--examples/shellmath/timingData.txt42
-rw-r--r--examples/startup-files/Bash_aliases63
-rw-r--r--examples/startup-files/Bash_profile18
-rw-r--r--examples/startup-files/Bashrc.bfox70
-rw-r--r--examples/startup-files/README12
-rw-r--r--examples/startup-files/bash-profile39
-rw-r--r--examples/startup-files/bashrc133
-rw-r--r--execute_cmd.c6229
-rw-r--r--execute_cmd.h123
-rw-r--r--expr.c1695
-rw-r--r--externs.h554
-rw-r--r--findcmd.c696
-rw-r--r--findcmd.h47
-rw-r--r--flags.c385
-rw-r--r--flags.h87
-rw-r--r--general.c1451
-rw-r--r--general.h372
-rw-r--r--hashcmd.c195
-rw-r--r--hashcmd.h43
-rw-r--r--hashlib.c545
-rw-r--r--hashlib.h92
-rw-r--r--include/ansi_stdlib.h54
-rw-r--r--include/chartypes.h109
-rw-r--r--include/filecntl.h53
-rw-r--r--include/gettext.h70
-rw-r--r--include/maxpath.h75
-rw-r--r--include/memalloc.h62
-rw-r--r--include/ocache.h133
-rw-r--r--include/posixdir.h71
-rw-r--r--include/posixjmp.h46
-rw-r--r--include/posixselect.h47
-rw-r--r--include/posixstat.h162
-rw-r--r--include/posixtime.h84
-rw-r--r--include/posixwait.h107
-rw-r--r--include/shmbchar.h112
-rw-r--r--include/shmbutil.h559
-rw-r--r--include/shtty.h112
-rw-r--r--include/stat-time.h214
-rw-r--r--include/stdc.h89
-rw-r--r--include/systimes.h55
-rw-r--r--include/timer.h64
-rw-r--r--include/typemax.h141
-rw-r--r--include/unionwait.h98
-rw-r--r--input.c677
-rw-r--r--input.h135
-rw-r--r--jobs.c5119
-rw-r--r--jobs.h325
-rw-r--r--lib/glob/Makefile.in169
-rw-r--r--lib/glob/collsyms.h140
-rw-r--r--lib/glob/doc/Makefile5
-rw-r--r--lib/glob/doc/glob.texi1
-rw-r--r--lib/glob/glob.c1609
-rw-r--r--lib/glob/glob.h47
-rw-r--r--lib/glob/glob_loop.c84
-rw-r--r--lib/glob/gm_loop.c208
-rw-r--r--lib/glob/gmisc.c108
-rw-r--r--lib/glob/ndir.h50
-rw-r--r--lib/glob/sm_loop.c981
-rw-r--r--lib/glob/smatch.c638
-rw-r--r--lib/glob/strmatch.c79
-rw-r--r--lib/glob/strmatch.h65
-rw-r--r--lib/glob/xmbsrtowcs.c523
-rw-r--r--lib/intl/ChangeLog4
-rw-r--r--lib/intl/Makefile.in472
-rw-r--r--lib/intl/VERSION3
-rw-r--r--lib/intl/bindtextdom.c376
-rw-r--r--lib/intl/config.charset465
-rw-r--r--lib/intl/dcgettext.c61
-rw-r--r--lib/intl/dcigettext.c1248
-rw-r--r--lib/intl/dcngettext.c62
-rw-r--r--lib/intl/dgettext.c61
-rw-r--r--lib/intl/dngettext.c63
-rw-r--r--lib/intl/eval-plural.h116
-rw-r--r--lib/intl/explodename.c195
-rw-r--r--lib/intl/finddomain.c197
-rw-r--r--lib/intl/gettext.c66
-rw-r--r--lib/intl/gettextP.h226
-rw-r--r--lib/intl/gmo.h150
-rw-r--r--lib/intl/hash-string.h61
-rw-r--r--lib/intl/intl-compat.c152
-rw-r--r--lib/intl/l10nflist.c459
-rw-r--r--lib/intl/libgnuintl.h.in311
-rw-r--r--lib/intl/loadinfo.h159
-rw-r--r--lib/intl/loadmsgcat.c1336
-rw-r--r--lib/intl/localcharset.c399
-rw-r--r--lib/intl/localcharset.h43
-rw-r--r--lib/intl/locale.alias78
-rw-r--r--lib/intl/localealias.c427
-rw-r--r--lib/intl/localename.c774
-rw-r--r--lib/intl/log.c106
-rw-r--r--lib/intl/ngettext.c70
-rw-r--r--lib/intl/os2compat.c100
-rw-r--r--lib/intl/os2compat.h48
-rw-r--r--lib/intl/osdep.c26
-rw-r--r--lib/intl/plural-exp.c158
-rw-r--r--lib/intl/plural-exp.h128
-rw-r--r--lib/intl/plural.c1679
-rw-r--r--lib/intl/plural.y411
-rw-r--r--lib/intl/ref-add.sin29
-rw-r--r--lib/intl/ref-del.sin24
-rw-r--r--lib/intl/relocatable.c440
-rw-r--r--lib/intl/relocatable.h69
-rw-r--r--lib/intl/textdomain.c144
-rw-r--r--lib/malloc/Makefile.in139
-rw-r--r--lib/malloc/alloca.c482
-rw-r--r--lib/malloc/getpagesize.h60
-rw-r--r--lib/malloc/i386-alloca.s16
-rw-r--r--lib/malloc/imalloc.h178
-rw-r--r--lib/malloc/malloc.c1558
-rw-r--r--lib/malloc/mstats.h114
-rw-r--r--lib/malloc/shmalloc.h70
-rw-r--r--lib/malloc/stats.c213
-rw-r--r--lib/malloc/stub.c22
-rw-r--r--lib/malloc/table.c429
-rw-r--r--lib/malloc/table.h116
-rw-r--r--lib/malloc/trace.c126
-rw-r--r--lib/malloc/watch.c151
-rw-r--r--lib/malloc/watch.h41
-rw-r--r--lib/malloc/x386-alloca.s63
-rwxr-xr-xlib/malloc/xleaktrace47
-rw-r--r--lib/malloc/xmalloc.c94
-rw-r--r--lib/readline/COPYING674
-rw-r--r--lib/readline/ChangeLog403
-rw-r--r--lib/readline/Makefile.in397
-rw-r--r--lib/readline/README6
-rw-r--r--lib/readline/STANDALONE2
-rw-r--r--lib/readline/ansi_stdlib.h54
-rw-r--r--lib/readline/bind.c3082
-rw-r--r--lib/readline/callback.c378
-rw-r--r--lib/readline/chardefs.h165
-rw-r--r--lib/readline/colors.c320
-rw-r--r--lib/readline/colors.h126
-rw-r--r--lib/readline/compat.c106
-rw-r--r--lib/readline/complete.c2992
-rw-r--r--lib/readline/display.c3583
-rw-r--r--lib/readline/doc/Makefile159
-rw-r--r--lib/readline/doc/fdl.texi506
-rw-r--r--lib/readline/doc/history.texi85
-rw-r--r--lib/readline/doc/hstech.texi602
-rw-r--r--lib/readline/doc/hsuser.texi533
-rw-r--r--lib/readline/doc/rlman.texi84
-rw-r--r--lib/readline/doc/rltech.texi2815
-rw-r--r--lib/readline/doc/rluser.texi2488
-rw-r--r--lib/readline/doc/rluserman.texi70
-rw-r--r--lib/readline/doc/version.texi11
-rw-r--r--lib/readline/emacs_keymap.c872
-rw-r--r--lib/readline/examples/Inputrc81
-rw-r--r--lib/readline/examples/Makefile44
-rw-r--r--lib/readline/examples/excallback.c200
-rw-r--r--lib/readline/examples/fileman.c506
-rw-r--r--lib/readline/examples/histexamp.c128
-rw-r--r--lib/readline/examples/manexamp.c111
-rw-r--r--lib/readline/examples/rl-callbacktest.c115
-rw-r--r--lib/readline/examples/rl.c166
-rw-r--r--lib/readline/examples/rlcat.c187
-rw-r--r--lib/readline/examples/rltest.c101
-rw-r--r--lib/readline/funmap.c273
-rw-r--r--lib/readline/histexpand.c1718
-rw-r--r--lib/readline/histfile.c833
-rw-r--r--lib/readline/histlib.h92
-rw-r--r--lib/readline/history.c614
-rw-r--r--lib/readline/history.h291
-rw-r--r--lib/readline/histsearch.c287
-rw-r--r--lib/readline/input.c1000
-rw-r--r--lib/readline/isearch.c893
-rw-r--r--lib/readline/keymaps.c174
-rw-r--r--lib/readline/keymaps.h100
-rw-r--r--lib/readline/kill.c900
-rw-r--r--lib/readline/macro.c334
-rw-r--r--lib/readline/mbutil.c524
-rw-r--r--lib/readline/misc.c781
-rw-r--r--lib/readline/nls.c348
-rw-r--r--lib/readline/parens.c184
-rw-r--r--lib/readline/parse-colors.c440
-rw-r--r--lib/readline/parse-colors.h46
-rw-r--r--lib/readline/posixdir.h71
-rw-r--r--lib/readline/posixjmp.h46
-rw-r--r--lib/readline/posixselect.h47
-rw-r--r--lib/readline/posixstat.h162
-rw-r--r--lib/readline/posixtime.h84
-rw-r--r--lib/readline/readline.c1575
-rw-r--r--lib/readline/readline.h986
-rw-r--r--lib/readline/rlconf.h79
-rw-r--r--lib/readline/rldefs.h166
-rw-r--r--lib/readline/rlmbutil.h225
-rw-r--r--lib/readline/rlprivate.h633
-rw-r--r--lib/readline/rlshell.h33
-rw-r--r--lib/readline/rlstdc.h57
-rw-r--r--lib/readline/rltty.c995
-rw-r--r--lib/readline/rltty.h80
-rw-r--r--lib/readline/rltypedefs.h100
-rw-r--r--lib/readline/rlwinsize.h58
-rw-r--r--lib/readline/savestring.c40
-rw-r--r--lib/readline/search.c707
-rw-r--r--lib/readline/shell.c214
-rw-r--r--lib/readline/signals.c754
-rw-r--r--lib/readline/tcap.h60
-rw-r--r--lib/readline/terminal.c939
-rw-r--r--lib/readline/text.c1888
-rw-r--r--lib/readline/tilde.c493
-rw-r--r--lib/readline/tilde.h68
-rw-r--r--lib/readline/undo.c365
-rw-r--r--lib/readline/util.c577
-rw-r--r--lib/readline/vi_keymap.c875
-rw-r--r--lib/readline/vi_mode.c2415
-rw-r--r--lib/readline/xfree.c49
-rw-r--r--lib/readline/xmalloc.c75
-rw-r--r--lib/readline/xmalloc.h45
-rw-r--r--lib/sh/Makefile.in657
-rw-r--r--lib/sh/casemod.c271
-rw-r--r--lib/sh/clktck.c61
-rw-r--r--lib/sh/clock.c87
-rw-r--r--lib/sh/dprintf.c70
-rw-r--r--lib/sh/eaccess.c244
-rw-r--r--lib/sh/fmtullong.c31
-rw-r--r--lib/sh/fmtulong.c191
-rw-r--r--lib/sh/fmtumax.c27
-rw-r--r--lib/sh/fnxform.c199
-rw-r--r--lib/sh/fpurge.c232
-rw-r--r--lib/sh/getcwd.c356
-rw-r--r--lib/sh/getenv.c233
-rw-r--r--lib/sh/gettimeofday.c35
-rw-r--r--lib/sh/inet_aton.c214
-rw-r--r--lib/sh/input_avail.c165
-rw-r--r--lib/sh/itos.c84
-rw-r--r--lib/sh/mailstat.c159
-rw-r--r--lib/sh/makepath.c128
-rw-r--r--lib/sh/mbscasecmp.c79
-rw-r--r--lib/sh/mbschr.c91
-rw-r--r--lib/sh/mbscmp.c77
-rw-r--r--lib/sh/memset.c29
-rw-r--r--lib/sh/mktime.c438
-rw-r--r--lib/sh/netconn.c82
-rw-r--r--lib/sh/netopen.c351
-rw-r--r--lib/sh/oslib.c301
-rw-r--r--lib/sh/pathcanon.c234
-rw-r--r--lib/sh/pathphys.c296
-rw-r--r--lib/sh/random.c240
-rw-r--r--lib/sh/rename.c76
-rw-r--r--lib/sh/setlinebuf.c66
-rw-r--r--lib/sh/shmatch.c132
-rw-r--r--lib/sh/shmbchar.c137
-rw-r--r--lib/sh/shquote.c432
-rw-r--r--lib/sh/shtty.c330
-rw-r--r--lib/sh/snprintf.c2221
-rw-r--r--lib/sh/spell.c212
-rw-r--r--lib/sh/strcasecmp.c84
-rw-r--r--lib/sh/strcasestr.c46
-rw-r--r--lib/sh/strchrnul.c35
-rw-r--r--lib/sh/strdup.c41
-rw-r--r--lib/sh/strerror.c74
-rw-r--r--lib/sh/strftime.c1012
-rw-r--r--lib/sh/stringlist.c297
-rw-r--r--lib/sh/stringvec.c272
-rw-r--r--lib/sh/strnlen.c49
-rw-r--r--lib/sh/strpbrk.c49
-rw-r--r--lib/sh/strstr.c125
-rw-r--r--lib/sh/strtod.c207
-rw-r--r--lib/sh/strtoimax.c113
-rw-r--r--lib/sh/strtol.c259
-rw-r--r--lib/sh/strtoll.c30
-rw-r--r--lib/sh/strtoul.c30
-rw-r--r--lib/sh/strtoull.c31
-rw-r--r--lib/sh/strtoumax.c113
-rw-r--r--lib/sh/strtrans.c400
-rw-r--r--lib/sh/strvis.c154
-rw-r--r--lib/sh/timers.c262
-rw-r--r--lib/sh/times.c77
-rw-r--r--lib/sh/timeval.c179
-rw-r--r--lib/sh/tmpfile.c311
-rw-r--r--lib/sh/uconvert.c124
-rw-r--r--lib/sh/ufuncs.c140
-rw-r--r--lib/sh/unicode.c339
-rw-r--r--lib/sh/utf8.c196
-rw-r--r--lib/sh/vprint.c85
-rw-r--r--lib/sh/wcsdup.c44
-rw-r--r--lib/sh/wcsnwidth.c56
-rw-r--r--lib/sh/wcswidth.c46
-rw-r--r--lib/sh/winsize.c104
-rw-r--r--lib/sh/zcatfd.c74
-rw-r--r--lib/sh/zgetline.c126
-rw-r--r--lib/sh/zmapfd.c93
-rw-r--r--lib/sh/zread.c228
-rw-r--r--lib/sh/zwrite.c64
-rw-r--r--lib/termcap/Makefile.in90
-rw-r--r--lib/termcap/ltcap.h30
-rw-r--r--lib/termcap/termcap.c820
-rw-r--r--lib/termcap/termcap.h63
-rw-r--r--lib/termcap/tparam.c345
-rw-r--r--lib/termcap/version.c22
-rw-r--r--lib/tilde/Makefile.in127
-rw-r--r--lib/tilde/README5
-rw-r--r--lib/tilde/shell.c79
-rw-r--r--lib/tilde/tilde.c493
-rw-r--r--lib/tilde/tilde.h68
-rw-r--r--list.c136
-rw-r--r--locale.c645
-rw-r--r--m4/codeset.m424
-rw-r--r--m4/extern-inline.m4114
-rw-r--r--m4/fcntl-o.m4139
-rw-r--r--m4/gettext.m4419
-rw-r--r--m4/glibc2.m431
-rw-r--r--m4/glibc21.m434
-rw-r--r--m4/host-cpu-c-abi.m4644
-rw-r--r--m4/iconv.m4288
-rw-r--r--m4/intdiv0.m487
-rw-r--r--m4/intl-thread-locale.m4183
-rw-r--r--m4/intl.m4312
-rw-r--r--m4/intlmacosx.m472
-rw-r--r--m4/intmax.m436
-rw-r--r--m4/inttypes-pri.m442
-rw-r--r--m4/inttypes.m4159
-rw-r--r--m4/inttypes_h.m429
-rw-r--r--m4/lcmessage.m435
-rw-r--r--m4/lib-ld.m4168
-rw-r--r--m4/lib-link.m4774
-rw-r--r--m4/lib-prefix.m4249
-rw-r--r--m4/lock.m447
-rw-r--r--m4/nls.m432
-rw-r--r--m4/po.m4441
-rw-r--r--m4/printf-posix.m448
-rw-r--r--m4/progtest.m491
-rw-r--r--m4/pthread_rwlock_rdlock.m4165
-rw-r--r--m4/size_max.m475
-rw-r--r--m4/stat-time.m461
-rw-r--r--m4/stdint_h.m427
-rw-r--r--m4/strtoimax.m435
-rw-r--r--m4/threadlib.m4393
-rw-r--r--m4/timespec.m471
-rw-r--r--m4/uintmax_t.m430
-rw-r--r--m4/ulonglong.m45
-rw-r--r--m4/visibility.m477
-rw-r--r--m4/wchar_t.m424
-rw-r--r--m4/wint_t.m474
-rw-r--r--m4/xsize.m412
-rw-r--r--mailcheck.c491
-rw-r--r--mailcheck.h34
-rw-r--r--make_cmd.c907
-rw-r--r--make_cmd.h72
-rw-r--r--mksyntax.c415
-rw-r--r--nojobs.c1077
-rw-r--r--parse.y6835
-rw-r--r--parser-built0
-rw-r--r--parser.h103
-rw-r--r--patchlevel.h30
-rw-r--r--pathexp.c637
-rw-r--r--pathexp.h104
-rw-r--r--pathnames.h.in33
-rw-r--r--pcomplete.c1757
-rw-r--r--pcomplete.h177
-rw-r--r--pcomplib.c228
-rw-r--r--po/LINGUAS2
-rw-r--r--po/Makefile.in.in359
-rw-r--r--po/Makevars41
-rw-r--r--po/POTFILES.in81
-rw-r--r--po/README1
-rw-r--r--po/Rules-builtins19
-rw-r--r--po/Rules-quot42
-rw-r--r--po/af.gmobin0 -> 1280 bytes
-rw-r--r--po/af.po4935
-rw-r--r--po/bash.pot4273
-rw-r--r--po/bg.gmobin0 -> 248812 bytes
-rw-r--r--po/bg.po5744
-rw-r--r--po/boldquot.sed10
-rw-r--r--po/ca.gmobin0 -> 183474 bytes
-rw-r--r--po/ca.po5784
-rw-r--r--po/cs.gmobin0 -> 185301 bytes
-rw-r--r--po/cs.po6263
-rw-r--r--po/da.gmobin0 -> 70624 bytes
-rw-r--r--po/da.po6106
-rw-r--r--po/de.gmobin0 -> 125828 bytes
-rw-r--r--po/de.po5514
-rw-r--r--po/el.gmobin0 -> 83800 bytes
-rw-r--r--po/el.po4656
-rw-r--r--po/en@boldquot.gmobin0 -> 164675 bytes
-rw-r--r--po/en@boldquot.header25
-rw-r--r--po/en@boldquot.po5938
-rw-r--r--po/en@quot.gmobin0 -> 163043 bytes
-rw-r--r--po/en@quot.header22
-rw-r--r--po/en@quot.po5899
-rw-r--r--po/eo.gmobin0 -> 162418 bytes
-rw-r--r--po/eo.po6100
-rw-r--r--po/es.gmobin0 -> 183966 bytes
-rw-r--r--po/es.po5804
-rw-r--r--po/et.gmobin0 -> 12156 bytes
-rw-r--r--po/et.po4306
-rw-r--r--po/fi.gmobin0 -> 73116 bytes
-rw-r--r--po/fi.po5931
-rw-r--r--po/fr.gmobin0 -> 190057 bytes
-rw-r--r--po/fr.po6313
-rw-r--r--po/ga.gmobin0 -> 115689 bytes
-rw-r--r--po/ga.po5428
-rw-r--r--po/gl.gmobin0 -> 53798 bytes
-rw-r--r--po/gl.po4839
-rw-r--r--po/hr.gmobin0 -> 178369 bytes
-rw-r--r--po/hr.po5560
-rw-r--r--po/hu.gmobin0 -> 152745 bytes
-rw-r--r--po/hu.po5887
-rw-r--r--po/id.gmobin0 -> 98266 bytes
-rw-r--r--po/id.po6774
-rw-r--r--po/insert-header.sin23
-rw-r--r--po/it.gmobin0 -> 83883 bytes
-rw-r--r--po/it.po6170
-rw-r--r--po/ja.gmobin0 -> 114809 bytes
-rw-r--r--po/ja.po5573
-rw-r--r--po/ko.gmobin0 -> 185602 bytes
-rw-r--r--po/ko.po5541
-rw-r--r--po/lt.gmobin0 -> 28770 bytes
-rw-r--r--po/lt.po4725
-rw-r--r--po/nb.gmobin0 -> 172246 bytes
-rw-r--r--po/nb.po5577
-rw-r--r--po/nl.gmobin0 -> 181276 bytes
-rw-r--r--po/nl.po5602
-rw-r--r--po/pl.gmobin0 -> 184164 bytes
-rw-r--r--po/pl.po5672
-rw-r--r--po/pt.gmobin0 -> 170400 bytes
-rw-r--r--po/pt.po6034
-rw-r--r--po/pt_BR.gmobin0 -> 173420 bytes
-rw-r--r--po/pt_BR.po8660
-rw-r--r--po/quot.sed6
-rw-r--r--po/remove-potcdate.sin19
-rw-r--r--po/ro.gmobin0 -> 190030 bytes
-rw-r--r--po/ro.po6350
-rw-r--r--po/ru.gmobin0 -> 128229 bytes
-rw-r--r--po/ru.po8223
-rw-r--r--po/sk.gmobin0 -> 83429 bytes
-rw-r--r--po/sk.po6539
-rw-r--r--po/sl.gmobin0 -> 80665 bytes
-rw-r--r--po/sl.po5910
-rw-r--r--po/sr.gmobin0 -> 232614 bytes
-rw-r--r--po/sr.po5618
-rw-r--r--po/sv.gmobin0 -> 176963 bytes
-rw-r--r--po/sv.po5629
-rw-r--r--po/tr.gmobin0 -> 130291 bytes
-rw-r--r--po/tr.po5518
-rw-r--r--po/uk.gmobin0 -> 237263 bytes
-rw-r--r--po/uk.po5695
-rw-r--r--po/vi.gmobin0 -> 133752 bytes
-rw-r--r--po/vi.po5877
-rw-r--r--po/zh_CN.gmobin0 -> 170166 bytes
-rw-r--r--po/zh_CN.po5522
-rw-r--r--po/zh_TW.gmobin0 -> 168812 bytes
-rw-r--r--po/zh_TW.po5487
-rw-r--r--print_cmd.c1665
-rw-r--r--quit.h75
-rw-r--r--redir.c1528
-rw-r--r--redir.h43
-rw-r--r--shell.c2136
-rw-r--r--shell.h240
-rw-r--r--sig.c835
-rw-r--r--sig.h136
-rw-r--r--siglist.c229
-rw-r--r--siglist.h44
-rw-r--r--stringlib.c295
-rw-r--r--subst.c13023
-rw-r--r--subst.h362
-rw-r--r--support/Makefile.in90
-rw-r--r--support/SYMLINKS18
-rw-r--r--support/bash.pc.in28
-rw-r--r--support/bash.xbm60
-rw-r--r--support/bashbug.sh274
-rw-r--r--support/bashbug.sh.in278
-rw-r--r--support/bashversion.c148
-rwxr-xr-xsupport/checkbashisms170
-rw-r--r--support/config.guess1754
-rwxr-xr-xsupport/config.rpath684
-rw-r--r--support/config.sub1890
-rwxr-xr-xsupport/fixlinks89
-rwxr-xr-xsupport/install.sh247
-rw-r--r--support/man2html.c4088
-rwxr-xr-xsupport/missing187
-rwxr-xr-xsupport/mkclone122
-rwxr-xr-xsupport/mkconffiles79
-rwxr-xr-xsupport/mkdirs47
-rwxr-xr-xsupport/mkinstalldirs111
-rw-r--r--support/mksignames.c111
-rwxr-xr-xsupport/mkversion.sh168
-rw-r--r--support/printenv.c72
-rwxr-xr-xsupport/printenv.sh27
-rw-r--r--support/recho.c67
-rwxr-xr-xsupport/rlvers.sh113
-rwxr-xr-xsupport/shobj-conf553
-rw-r--r--support/signames.c446
-rwxr-xr-xsupport/texi2dvi1996
-rwxr-xr-xsupport/texi2html5428
-rw-r--r--support/xcase.c98
-rwxr-xr-xsupport/xenix-link.sh84
-rw-r--r--support/zecho.c43
-rw-r--r--syntax.h106
-rw-r--r--test.c921
-rw-r--r--test.h40
-rw-r--r--tests/COPYRIGHT9
-rw-r--r--tests/README3
-rw-r--r--tests/alias.right45
-rw-r--r--tests/alias.tests65
-rw-r--r--tests/alias1.sub33
-rw-r--r--tests/alias2.sub35
-rw-r--r--tests/alias3.sub11
-rw-r--r--tests/alias4.sub100
-rw-r--r--tests/alias5.sub28
-rw-r--r--tests/alias6.sub13
-rw-r--r--tests/appendop.right28
-rw-r--r--tests/appendop.tests100
-rw-r--r--tests/appendop1.sub28
-rw-r--r--tests/appendop2.sub31
-rw-r--r--tests/arith-for.right86
-rw-r--r--tests/arith-for.tests128
-rw-r--r--tests/arith.right263
-rw-r--r--tests/arith.tests333
-rw-r--r--tests/arith1.sub51
-rw-r--r--tests/arith2.sub58
-rw-r--r--tests/arith3.sub60
-rw-r--r--tests/arith4.sub10
-rw-r--r--tests/arith5.sub72
-rw-r--r--tests/arith6.sub65
-rw-r--r--tests/arith7.sub11
-rw-r--r--tests/arith8.sub50
-rw-r--r--tests/array-at-star120
-rw-r--r--tests/array.right787
-rw-r--r--tests/array.tests429
-rw-r--r--tests/array1.sub1
-rw-r--r--tests/array10.sub65
-rw-r--r--tests/array11.sub48
-rw-r--r--tests/array12.sub34
-rw-r--r--tests/array13.sub12
-rw-r--r--tests/array14.sub43
-rw-r--r--tests/array15.sub52
-rw-r--r--tests/array16.sub34
-rw-r--r--tests/array17.sub91
-rw-r--r--tests/array18.sub47
-rw-r--r--tests/array19.sub175
-rw-r--r--tests/array2.right74
-rw-r--r--tests/array2.sub4
-rw-r--r--tests/array20.sub47
-rw-r--r--tests/array21.sub50
-rw-r--r--tests/array22.sub59
-rw-r--r--tests/array23.sub41
-rw-r--r--tests/array24.sub60
-rw-r--r--tests/array25.sub83
-rw-r--r--tests/array26.sub131
-rw-r--r--tests/array27.sub78
-rw-r--r--tests/array28.sub30
-rw-r--r--tests/array29.sub86
-rw-r--r--tests/array3.sub9
-rw-r--r--tests/array30.sub46
-rw-r--r--tests/array4.sub45
-rw-r--r--tests/array5.sub47
-rw-r--r--tests/array6.sub128
-rw-r--r--tests/array7.sub14
-rw-r--r--tests/array8.sub36
-rw-r--r--tests/array9.sub40
-rw-r--r--tests/assoc.right400
-rw-r--r--tests/assoc.tests268
-rw-r--r--tests/assoc1.sub29
-rw-r--r--tests/assoc10.sub30
-rw-r--r--tests/assoc11.sub90
-rw-r--r--tests/assoc12.sub74
-rw-r--r--tests/assoc13.sub44
-rw-r--r--tests/assoc14.sub35
-rw-r--r--tests/assoc15.sub92
-rw-r--r--tests/assoc16.sub56
-rw-r--r--tests/assoc17.sub58
-rw-r--r--tests/assoc18.sub59
-rw-r--r--tests/assoc2.sub28
-rw-r--r--tests/assoc3.sub28
-rw-r--r--tests/assoc4.sub35
-rw-r--r--tests/assoc5.sub40
-rw-r--r--tests/assoc6.sub159
-rw-r--r--tests/assoc7.sub29
-rw-r--r--tests/assoc8.sub7
-rw-r--r--tests/assoc9.sub159
-rw-r--r--tests/attr.right37
-rw-r--r--tests/attr.tests54
-rw-r--r--tests/attr1.sub68
-rw-r--r--tests/attr2.sub37
-rw-r--r--tests/braces.right77
-rw-r--r--tests/braces.tests132
-rw-r--r--tests/builtins.right281
-rw-r--r--tests/builtins.tests286
-rw-r--r--tests/builtins1.sub14
-rw-r--r--tests/builtins2.sub10
-rw-r--r--tests/builtins3.sub14
-rw-r--r--tests/builtins4.sub57
-rw-r--r--tests/builtins5.sub83
-rw-r--r--tests/builtins6.sub81
-rw-r--r--tests/builtins7.sub38
-rw-r--r--tests/case.right63
-rw-r--r--tests/case.tests73
-rw-r--r--tests/case1.sub77
-rw-r--r--tests/case2.sub65
-rw-r--r--tests/case3.sub52
-rw-r--r--tests/case4.sub38
-rw-r--r--tests/casemod.right47
-rw-r--r--tests/casemod.tests126
-rw-r--r--tests/complete.right63
-rw-r--r--tests/complete.tests126
-rw-r--r--tests/comsub-eof.right17
-rw-r--r--tests/comsub-eof.tests13
-rw-r--r--tests/comsub-eof0.sub6
-rw-r--r--tests/comsub-eof1.sub4
-rw-r--r--tests/comsub-eof2.sub2
-rw-r--r--tests/comsub-eof3.sub4
-rw-r--r--tests/comsub-eof4.sub4
-rw-r--r--tests/comsub-eof5.sub15
-rw-r--r--tests/comsub-eof6.sub5
-rw-r--r--tests/comsub-posix.right100
-rw-r--r--tests/comsub-posix.tests286
-rw-r--r--tests/comsub-posix1.sub3
-rw-r--r--tests/comsub-posix2.sub29
-rw-r--r--tests/comsub-posix3.sub35
-rw-r--r--tests/comsub-posix5.sub70
-rw-r--r--tests/comsub-posix6.sub43
-rw-r--r--tests/comsub.right79
-rw-r--r--tests/comsub.tests84
-rw-r--r--tests/comsub1.sub73
-rw-r--r--tests/comsub2.sub8
-rw-r--r--tests/comsub3.sub44
-rw-r--r--tests/comsub4.sub40
-rw-r--r--tests/comsub5.sub51
-rw-r--r--tests/comsub6.sub40
-rw-r--r--tests/cond-regexp1.sub69
-rw-r--r--tests/cond-regexp2.sub45
-rw-r--r--tests/cond-regexp3.sub86
-rw-r--r--tests/cond.right142
-rw-r--r--tests/cond.tests232
-rw-r--r--tests/coproc.right10
-rw-r--r--tests/coproc.tests78
-rw-r--r--tests/cprint.right72
-rw-r--r--tests/cprint.tests80
-rw-r--r--tests/dbg-support.right371
-rw-r--r--tests/dbg-support.sub39
-rw-r--r--tests/dbg-support.tests148
-rw-r--r--tests/dbg-support2.right7
-rw-r--r--tests/dbg-support2.tests33
-rw-r--r--tests/dbg-support3.sub52
-rw-r--r--tests/dollar-at-star332
-rw-r--r--tests/dollar-at-star1.sub36
-rw-r--r--tests/dollar-at-star10.sub66
-rw-r--r--tests/dollar-at-star11.sub80
-rw-r--r--tests/dollar-at-star2.sub220
-rw-r--r--tests/dollar-at-star3.sub57
-rw-r--r--tests/dollar-at-star4.sub112
-rw-r--r--tests/dollar-at-star5.sub66
-rw-r--r--tests/dollar-at-star6.sub42
-rw-r--r--tests/dollar-at-star7.sub38
-rw-r--r--tests/dollar-at-star8.sub14
-rw-r--r--tests/dollar-at-star9.sub278
-rw-r--r--tests/dollar-at1.sub42
-rw-r--r--tests/dollar-at2.sub32
-rw-r--r--tests/dollar-at3.sub9
-rw-r--r--tests/dollar-at4.sub10
-rw-r--r--tests/dollar-at5.sub95
-rw-r--r--tests/dollar-at6.sub43
-rw-r--r--tests/dollar-at7.sub59
-rw-r--r--tests/dollar-star1.sub44
-rw-r--r--tests/dollar-star10.sub92
-rw-r--r--tests/dollar-star2.sub39
-rw-r--r--tests/dollar-star3.sub31
-rw-r--r--tests/dollar-star4.sub9
-rw-r--r--tests/dollar-star5.sub29
-rw-r--r--tests/dollar-star6.sub32
-rw-r--r--tests/dollar-star7.sub43
-rw-r--r--tests/dollar-star8.sub34
-rw-r--r--tests/dollar-star9.sub59
-rw-r--r--tests/dollar.right744
-rw-r--r--tests/dstack.right55
-rw-r--r--tests/dstack.tests100
-rw-r--r--tests/dstack2.right24
-rw-r--r--tests/dstack2.tests49
-rw-r--r--tests/dynvar.right7
-rw-r--r--tests/dynvar.tests102
-rw-r--r--tests/errors.right208
-rw-r--r--tests/errors.tests308
-rw-r--r--tests/errors1.sub40
-rw-r--r--tests/errors2.sub3
-rw-r--r--tests/errors3.sub7
-rw-r--r--tests/errors4.sub31
-rw-r--r--tests/errors5.sub12
-rw-r--r--tests/errors6.sub56
-rw-r--r--tests/errors7.sub30
-rw-r--r--tests/errors8.sub14
-rw-r--r--tests/errors9.sub14
-rw-r--r--tests/exec.right172
-rwxr-xr-xtests/exec1.sub1
-rw-r--r--tests/exec10.sub47
-rw-r--r--tests/exec11.sub14
-rw-r--r--tests/exec12.sub32
-rw-r--r--tests/exec13.sub34
-rw-r--r--tests/exec14.sub64
-rw-r--r--tests/exec2.sub5
-rw-r--r--tests/exec3.sub37
-rw-r--r--tests/exec4.sub8
-rw-r--r--tests/exec5.sub9
-rw-r--r--tests/exec6.sub67
-rw-r--r--tests/exec7.sub36
-rw-r--r--tests/exec8.sub1
-rw-r--r--tests/exec9.sub33
-rw-r--r--tests/execscript160
-rw-r--r--tests/exp.right419
-rw-r--r--tests/exp.tests426
-rw-r--r--tests/exp1.sub34
-rw-r--r--tests/exp10.sub39
-rw-r--r--tests/exp11.sub105
-rw-r--r--tests/exp12.sub51
-rw-r--r--tests/exp13.sub34
-rw-r--r--tests/exp2.sub12
-rw-r--r--tests/exp3.sub7
-rw-r--r--tests/exp4.sub10
-rw-r--r--tests/exp5.sub34
-rw-r--r--tests/exp6.sub43
-rw-r--r--tests/exp7.sub36
-rw-r--r--tests/exp8.sub45
-rw-r--r--tests/exp9.sub82
-rw-r--r--tests/exportfunc.right14
-rw-r--r--tests/exportfunc.tests92
-rw-r--r--tests/exportfunc1.sub34
-rw-r--r--tests/exportfunc2.sub413
-rw-r--r--tests/exportfunc3.sub38
-rw-r--r--tests/extglob.right184
-rw-r--r--tests/extglob.tests390
-rw-r--r--tests/extglob1.sub50
-rw-r--r--tests/extglob1a.sub29
-rw-r--r--tests/extglob2.right70
-rw-r--r--tests/extglob2.sub31
-rw-r--r--tests/extglob2.tests103
-rw-r--r--tests/extglob3.right27
-rw-r--r--tests/extglob3.sub37
-rw-r--r--tests/extglob3.tests69
-rw-r--r--tests/extglob4.sub45
-rw-r--r--tests/extglob5.sub31
-rw-r--r--tests/extglob6.sub43
-rw-r--r--tests/extglob7.sub97
-rw-r--r--tests/func.right169
-rw-r--r--tests/func.tests198
-rw-r--r--tests/func1.sub68
-rw-r--r--tests/func2.sub40
-rw-r--r--tests/func3.sub67
-rw-r--r--tests/func4.sub52
-rw-r--r--tests/getopts.right68
-rw-r--r--tests/getopts.tests56
-rw-r--r--tests/getopts1.sub39
-rw-r--r--tests/getopts10.sub30
-rw-r--r--tests/getopts2.sub39
-rw-r--r--tests/getopts3.sub40
-rw-r--r--tests/getopts4.sub43
-rw-r--r--tests/getopts5.sub62
-rw-r--r--tests/getopts6.sub40
-rw-r--r--tests/getopts7.sub43
-rw-r--r--tests/getopts8.sub13
-rw-r--r--tests/getopts9.sub29
-rw-r--r--tests/glob.right261
-rw-r--r--tests/glob.tests410
-rw-r--r--tests/glob1.sub30
-rw-r--r--tests/glob10.sub32
-rw-r--r--tests/glob2.sub65
-rw-r--r--tests/glob3.sub163
-rw-r--r--tests/glob4.sub41
-rw-r--r--tests/glob5.sub78
-rw-r--r--tests/glob6.sub69
-rw-r--r--tests/glob7.sub11
-rw-r--r--tests/glob8.sub31
-rw-r--r--tests/glob9.sub13
-rw-r--r--tests/globstar.right587
-rw-r--r--tests/globstar.tests56
-rw-r--r--tests/globstar1.sub34
-rw-r--r--tests/globstar2.sub97
-rw-r--r--tests/globstar3.sub37
-rw-r--r--tests/heredoc.right133
-rw-r--r--tests/heredoc.tests156
-rw-r--r--tests/heredoc1.sub29
-rw-r--r--tests/heredoc2.sub9
-rw-r--r--tests/heredoc3.sub98
-rw-r--r--tests/heredoc4.sub12
-rw-r--r--tests/heredoc5.sub41
-rw-r--r--tests/heredoc6.sub50
-rw-r--r--tests/heredoc7.sub29
-rw-r--r--tests/herestr.right38
-rw-r--r--tests/herestr.tests80
-rw-r--r--tests/herestr1.sub10
-rw-r--r--tests/histexp.right246
-rw-r--r--tests/histexp.tests158
-rw-r--r--tests/histexp1.sub36
-rw-r--r--tests/histexp2.sub14
-rw-r--r--tests/histexp3.sub57
-rw-r--r--tests/histexp4.sub36
-rw-r--r--tests/histexp5.sub41
-rw-r--r--tests/histexp6.sub37
-rw-r--r--tests/histexp7.sub18
-rw-r--r--tests/history.list4
-rw-r--r--tests/history.right299
-rw-r--r--tests/history.tests133
-rw-r--r--tests/history1.sub28
-rw-r--r--tests/history2.sub10
-rw-r--r--tests/history3.sub49
-rw-r--r--tests/history4.sub47
-rw-r--r--tests/history5.sub57
-rw-r--r--tests/history6.sub55
-rw-r--r--tests/ifs-posix.right1
-rw-r--r--tests/ifs-posix.tests270
-rw-r--r--tests/ifs.right12
-rw-r--r--tests/ifs.tests76
-rw-r--r--tests/ifs1.sub14
-rw-r--r--tests/input-line.sh4
-rw-r--r--tests/input-line.sub2
-rw-r--r--tests/input.right3
-rw-r--r--tests/intl.right57
-rw-r--r--tests/intl.tests68
-rw-r--r--tests/intl1.sub11
-rw-r--r--tests/intl2.sub31
-rw-r--r--tests/intl3.sub36
-rw-r--r--tests/invert.right10
-rw-r--r--tests/invert.tests32
-rw-r--r--tests/iquote.right92
-rw-r--r--tests/iquote.tests158
-rw-r--r--tests/iquote1.sub56
-rw-r--r--tests/jobs.right120
-rw-r--r--tests/jobs.tests209
-rw-r--r--tests/jobs1.sub30
-rw-r--r--tests/jobs2.sub13
-rw-r--r--tests/jobs3.sub39
-rw-r--r--tests/jobs4.sub39
-rw-r--r--tests/jobs5.sub71
-rw-r--r--tests/jobs6.sub14
-rw-r--r--tests/jobs7.sub8
-rw-r--r--tests/lastpipe.right22
-rw-r--r--tests/lastpipe.tests74
-rw-r--r--tests/lastpipe1.sub5
-rw-r--r--tests/lastpipe2.sub43
-rw-r--r--tests/lastpipe3.sub11
-rw-r--r--tests/mapfile.data17
-rw-r--r--tests/mapfile.right170
-rw-r--r--tests/mapfile.tests62
-rw-r--r--tests/mapfile1.sub11
-rw-r--r--tests/mapfile2.sub6
-rw-r--r--tests/misc/dev-tcp.tests16
-rw-r--r--tests/misc/perf-script81
-rw-r--r--tests/misc/perftest10
-rw-r--r--tests/misc/read-nchars.tests11
-rw-r--r--tests/misc/redir-t2.sh17
-rw-r--r--tests/misc/run-r2.sh1
-rw-r--r--tests/misc/sigint-1.sh9
-rw-r--r--tests/misc/sigint-2.sh7
-rw-r--r--tests/misc/sigint-3.sh11
-rw-r--r--tests/misc/sigint-4.sh13
-rw-r--r--tests/misc/test-minus-e.19
-rw-r--r--tests/misc/test-minus-e.211
-rw-r--r--tests/misc/wait-bg.tests25
-rw-r--r--tests/more-exp.right214
-rw-r--r--tests/more-exp.tests517
-rw-r--r--tests/nameref.right560
-rw-r--r--tests/nameref.tests133
-rw-r--r--tests/nameref1.sub13
-rw-r--r--tests/nameref10.sub77
-rw-r--r--tests/nameref11.sub76
-rw-r--r--tests/nameref12.sub113
-rw-r--r--tests/nameref13.sub115
-rw-r--r--tests/nameref14.sub56
-rw-r--r--tests/nameref15.sub127
-rw-r--r--tests/nameref16.sub57
-rw-r--r--tests/nameref17.sub116
-rw-r--r--tests/nameref18.sub83
-rw-r--r--tests/nameref19.sub73
-rw-r--r--tests/nameref2.sub7
-rw-r--r--tests/nameref20.sub84
-rw-r--r--tests/nameref21.sub69
-rw-r--r--tests/nameref22.sub97
-rw-r--r--tests/nameref23.sub82
-rw-r--r--tests/nameref3.sub50
-rw-r--r--tests/nameref4.sub234
-rw-r--r--tests/nameref5.sub63
-rw-r--r--tests/nameref6.sub57
-rw-r--r--tests/nameref7.sub31
-rw-r--r--tests/nameref8.sub74
-rw-r--r--tests/nameref9.sub8
-rw-r--r--tests/new-exp.right795
-rw-r--r--tests/new-exp.tests654
-rw-r--r--tests/new-exp1.sub29
-rw-r--r--tests/new-exp10.sub118
-rw-r--r--tests/new-exp11.sub59
-rw-r--r--tests/new-exp12.sub40
-rw-r--r--tests/new-exp13.sub72
-rw-r--r--tests/new-exp14.sub36
-rw-r--r--tests/new-exp15.sub29
-rw-r--r--tests/new-exp16.sub120
-rw-r--r--tests/new-exp2.sub62
-rw-r--r--tests/new-exp3.sub43
-rw-r--r--tests/new-exp4.sub43
-rw-r--r--tests/new-exp5.sub53
-rw-r--r--tests/new-exp6.sub42
-rw-r--r--tests/new-exp7.sub13
-rw-r--r--tests/new-exp8.sub129
-rw-r--r--tests/new-exp9.sub44
-rw-r--r--tests/nquote.right80
-rw-r--r--tests/nquote.tests142
-rw-r--r--tests/nquote1.right131
-rw-r--r--tests/nquote1.sub6
-rw-r--r--tests/nquote1.tests119
-rw-r--r--tests/nquote2.right76
-rw-r--r--tests/nquote2.sub42
-rw-r--r--tests/nquote2.tests95
-rw-r--r--tests/nquote3.right60
-rw-r--r--tests/nquote3.sub8
-rw-r--r--tests/nquote3.tests98
-rw-r--r--tests/nquote4.right18
-rw-r--r--tests/nquote4.sub6
-rw-r--r--tests/nquote4.tests37
-rw-r--r--tests/nquote5.right86
-rw-r--r--tests/nquote5.sub36
-rw-r--r--tests/nquote5.tests76
-rw-r--r--tests/parser.right16
-rw-r--r--tests/parser.tests6
-rw-r--r--tests/parser1.sub1
-rw-r--r--tests/posix2.right4
-rw-r--r--tests/posix2.tests206
-rw-r--r--tests/posix2syntax.sub66
-rw-r--r--tests/posixexp.right308
-rw-r--r--tests/posixexp.tests97
-rw-r--r--tests/posixexp1.sub51
-rw-r--r--tests/posixexp2.right40
-rw-r--r--tests/posixexp2.sub37
-rw-r--r--tests/posixexp2.tests60
-rw-r--r--tests/posixexp3.sub65
-rw-r--r--tests/posixexp4.sub44
-rw-r--r--tests/posixexp5.sub64
-rw-r--r--tests/posixexp6.sub70
-rw-r--r--tests/posixexp7.sub76
-rw-r--r--tests/posixexp8.sub11
-rw-r--r--tests/posixpat.right42
-rw-r--r--tests/posixpat.tests247
-rw-r--r--tests/posixpipe.right41
-rw-r--r--tests/posixpipe.tests56
-rw-r--r--tests/prec.right28
-rw-r--r--tests/precedence.tests90
-rw-r--r--tests/printf.right298
-rw-r--r--tests/printf.tests334
-rw-r--r--tests/printf1.sub348
-rw-r--r--tests/printf2.sub13
-rw-r--r--tests/printf3.sub75
-rw-r--r--tests/printf4.sub82
-rw-r--r--tests/procsub.right33
-rw-r--r--tests/procsub.tests121
-rw-r--r--tests/procsub1.sub5
-rw-r--r--tests/procsub2.sub36
-rw-r--r--tests/quote.right182
-rw-r--r--tests/quote.tests139
-rw-r--r--tests/quote1.sub62
-rw-r--r--tests/quote2.sub55
-rw-r--r--tests/quote3.sub31
-rw-r--r--tests/quote4.sub101
-rw-r--r--tests/quotearray.right152
-rw-r--r--tests/quotearray.tests164
-rw-r--r--tests/quotearray1.sub131
-rw-r--r--tests/quotearray2.sub107
-rw-r--r--tests/quotearray3.sub117
-rw-r--r--tests/quotearray4.sub116
-rw-r--r--tests/quotearray5.sub124
-rw-r--r--tests/read.right85
-rw-r--r--tests/read.tests117
-rw-r--r--tests/read1.sub37
-rw-r--r--tests/read2.sub72
-rw-r--r--tests/read3.sub38
-rw-r--r--tests/read4.sub4
-rw-r--r--tests/read5.sub48
-rw-r--r--tests/read6.sub10
-rw-r--r--tests/read7.sub66
-rw-r--r--tests/read8.sub15
-rw-r--r--tests/redir.right163
-rw-r--r--tests/redir.tests209
-rw-r--r--tests/redir1.sub8
-rw-r--r--tests/redir10.sub37
-rw-r--r--tests/redir11.sub76
-rw-r--r--tests/redir2.sub1
-rw-r--r--tests/redir3.in12
-rw-r--r--tests/redir3.in22
-rw-r--r--tests/redir3.sub39
-rw-r--r--tests/redir4.in11
-rw-r--r--tests/redir4.sub69
-rw-r--r--tests/redir5.sub44
-rw-r--r--tests/redir6.sub10
-rw-r--r--tests/redir7.sub82
-rw-r--r--tests/redir8.sub74
-rw-r--r--tests/redir9.sub63
-rw-r--r--tests/rhs-exp.right105
-rw-r--r--tests/rhs-exp.tests64
-rw-r--r--tests/rhs-exp1.sub116
-rw-r--r--tests/rsh.right19
-rw-r--r--tests/rsh.tests49
-rw-r--r--tests/rsh1.sub29
-rw-r--r--tests/rsh2.sub30
-rw-r--r--tests/run-alias2
-rw-r--r--tests/run-all64
-rw-r--r--tests/run-appendop2
-rw-r--r--tests/run-arith2
-rw-r--r--tests/run-arith-for2
-rw-r--r--tests/run-array6
-rw-r--r--tests/run-array24
-rw-r--r--tests/run-assoc4
-rw-r--r--tests/run-attr2
-rw-r--r--tests/run-braces2
-rw-r--r--tests/run-builtins6
-rw-r--r--tests/run-case2
-rw-r--r--tests/run-casemod2
-rw-r--r--tests/run-complete2
-rw-r--r--tests/run-comsub2
-rw-r--r--tests/run-comsub-eof2
-rw-r--r--tests/run-comsub-posix2
-rw-r--r--tests/run-cond7
-rw-r--r--tests/run-coproc2
-rw-r--r--tests/run-cprint2
-rw-r--r--tests/run-dbg-support9
-rw-r--r--tests/run-dbg-support29
-rw-r--r--tests/run-dirstack5
-rw-r--r--tests/run-dollars2
-rw-r--r--tests/run-dynvar2
-rw-r--r--tests/run-errors3
-rw-r--r--tests/run-execscript26
-rw-r--r--tests/run-exp-tests2
-rw-r--r--tests/run-exportfunc2
-rw-r--r--tests/run-extglob4
-rw-r--r--tests/run-extglob24
-rw-r--r--tests/run-extglob34
-rw-r--r--tests/run-func5
-rw-r--r--tests/run-getopts2
-rw-r--r--tests/run-glob-test7
-rw-r--r--tests/run-globstar4
-rw-r--r--tests/run-heredoc6
-rw-r--r--tests/run-herestr2
-rw-r--r--tests/run-histexpand4
-rw-r--r--tests/run-history4
-rw-r--r--tests/run-ifs2
-rw-r--r--tests/run-ifs-posix2
-rw-r--r--tests/run-input-test2
-rw-r--r--tests/run-intl5
-rw-r--r--tests/run-invert2
-rw-r--r--tests/run-iquote2
-rw-r--r--tests/run-jobs7
-rw-r--r--tests/run-lastpipe2
-rw-r--r--tests/run-mapfile2
-rw-r--r--tests/run-minimal68
-rw-r--r--tests/run-more-exp2
-rw-r--r--tests/run-nameref4
-rw-r--r--tests/run-new-exp10
-rw-r--r--tests/run-nquote2
-rw-r--r--tests/run-nquote14
-rw-r--r--tests/run-nquote24
-rw-r--r--tests/run-nquote34
-rw-r--r--tests/run-nquote48
-rw-r--r--tests/run-nquote52
-rw-r--r--tests/run-parser2
-rw-r--r--tests/run-posix22
-rw-r--r--tests/run-posixexp2
-rw-r--r--tests/run-posixexp22
-rw-r--r--tests/run-posixpat2
-rw-r--r--tests/run-posixpipe2
-rw-r--r--tests/run-precedence2
-rw-r--r--tests/run-printf7
-rw-r--r--tests/run-procsub7
-rw-r--r--tests/run-quote2
-rw-r--r--tests/run-quotearray2
-rw-r--r--tests/run-read4
-rw-r--r--tests/run-redir7
-rw-r--r--tests/run-rhs-exp2
-rw-r--r--tests/run-rsh2
-rw-r--r--tests/run-set-e2
-rw-r--r--tests/run-set-x11
-rw-r--r--tests/run-shopt2
-rw-r--r--tests/run-strip2
-rw-r--r--tests/run-test4
-rw-r--r--tests/run-tilde2
-rw-r--r--tests/run-tilde22
-rw-r--r--tests/run-trap6
-rw-r--r--tests/run-type2
-rw-r--r--tests/run-varenv4
-rw-r--r--tests/run-vredir4
-rw-r--r--tests/set-e.right72
-rw-r--r--tests/set-e.tests124
-rw-r--r--tests/set-e1.sub72
-rw-r--r--tests/set-e2.sub10
-rw-r--r--tests/set-e3.sub10
-rw-r--r--tests/set-e3a.sub7
-rw-r--r--tests/set-x.right60
-rw-r--r--tests/set-x.tests38
-rw-r--r--tests/set-x1.sub38
-rw-r--r--tests/shopt.right312
-rw-r--r--tests/shopt.tests113
-rw-r--r--tests/shopt1.sub52
-rw-r--r--tests/source1.sub1
-rw-r--r--tests/source2.sub5
-rw-r--r--tests/source3.sub1
-rw-r--r--tests/source4.sub1
-rw-r--r--tests/source5.sub32
-rw-r--r--tests/source6.sub49
-rw-r--r--tests/source7.sub53
-rw-r--r--tests/strip.right12
-rw-r--r--tests/strip.tests35
-rw-r--r--tests/test-glue-functions13
-rw-r--r--tests/test.right297
-rw-r--r--tests/test.tests456
-rw-r--r--tests/test1.sub34
-rw-r--r--tests/tilde.right28
-rw-r--r--tests/tilde.tests94
-rw-r--r--tests/tilde2.right28
-rw-r--r--tests/tilde2.tests85
-rw-r--r--tests/tilde3.sub26
-rw-r--r--tests/trap.right115
-rw-r--r--tests/trap.tests114
-rwxr-xr-xtests/trap1.sub4
-rwxr-xr-xtests/trap2.sub62
-rwxr-xr-xtests/trap2a.sub3
-rw-r--r--tests/trap3.sub9
-rw-r--r--tests/trap4.sub55
-rw-r--r--tests/trap5.sub31
-rw-r--r--tests/trap6.sub28
-rw-r--r--tests/type.right135
-rw-r--r--tests/type.tests110
-rw-r--r--tests/type1.sub10
-rw-r--r--tests/type2.sub29
-rw-r--r--tests/type3.sub34
-rw-r--r--tests/type4.sub56
-rw-r--r--tests/unicode1.sub608
-rw-r--r--tests/unicode2.sub37
-rw-r--r--tests/unicode3.sub12
-rw-r--r--tests/varenv.right277
-rw-r--r--tests/varenv.tests265
-rw-r--r--tests/varenv1.sub41
-rw-r--r--tests/varenv10.sub59
-rw-r--r--tests/varenv11.sub43
-rw-r--r--tests/varenv12.sub171
-rw-r--r--tests/varenv13.sub37
-rw-r--r--tests/varenv14.sub46
-rw-r--r--tests/varenv15.in3
-rw-r--r--tests/varenv15.sub51
-rw-r--r--tests/varenv16.sub51
-rw-r--r--tests/varenv17.sub44
-rw-r--r--tests/varenv18.sub41
-rw-r--r--tests/varenv19.sub51
-rw-r--r--tests/varenv2.sub57
-rw-r--r--tests/varenv20.sub13
-rw-r--r--tests/varenv21.sub48
-rw-r--r--tests/varenv22.sub17
-rw-r--r--tests/varenv3.sub44
-rw-r--r--tests/varenv4.sub71
-rw-r--r--tests/varenv5.sub29
-rw-r--r--tests/varenv6.sub41
-rw-r--r--tests/varenv7.sub75
-rw-r--r--tests/varenv8.sub14
-rw-r--r--tests/varenv9.sub79
-rw-r--r--tests/version13
-rw-r--r--tests/version.mini13
-rw-r--r--tests/vredir.right101
-rw-r--r--tests/vredir.tests62
-rw-r--r--tests/vredir1.sub30
-rw-r--r--tests/vredir2.sub65
-rw-r--r--tests/vredir3.sub8
-rw-r--r--tests/vredir4.sub35
-rw-r--r--tests/vredir5.sub36
-rw-r--r--tests/vredir6.sub14
-rw-r--r--tests/vredir7.sub36
-rw-r--r--tests/vredir8.sub13
-rw-r--r--trap.c1580
-rw-r--r--trap.h129
-rw-r--r--unwind_prot.c383
-rw-r--r--unwind_prot.h52
-rw-r--r--variables.c6590
-rw-r--r--variables.h462
-rw-r--r--version.c94
-rw-r--r--xmalloc.c225
-rw-r--r--xmalloc.h66
-rw-r--r--y.tab.c9146
-rw-r--r--y.tab.h191
1432 files changed, 725480 insertions, 0 deletions
diff --git a/ABOUT-NLS b/ABOUT-NLS
new file mode 100644
index 0000000..3cc8286
--- /dev/null
+++ b/ABOUT-NLS
@@ -0,0 +1,1379 @@
+1 Notes on the Free Translation Project
+***************************************
+
+Free software is going international! The Free Translation Project is a
+way to get maintainers of free software, translators, and users all
+together, so that free software will gradually become able to speak many
+languages. A few packages already provide translations for their
+messages.
+
+ If you found this 'ABOUT-NLS' file inside a distribution, you may
+assume that the distributed package does use GNU 'gettext' internally,
+itself available at your nearest GNU archive site. But you do _not_
+need to install GNU 'gettext' prior to configuring, installing or using
+this package with messages translated.
+
+ Installers will find here some useful hints. These notes also
+explain how users should proceed for getting the programs to use the
+available translations. They tell how people wanting to contribute and
+work on translations can contact the appropriate team.
+
+1.1 INSTALL Matters
+===================
+
+Some packages are "localizable" when properly installed; the programs
+they contain can be made to speak your own native language. Most such
+packages use GNU 'gettext'. Other packages have their own ways to
+internationalization, predating GNU 'gettext'.
+
+ By default, this package will be installed to allow translation of
+messages. It will automatically detect whether the system already
+provides the GNU 'gettext' functions. Installers may use special
+options at configuration time for changing the default behaviour. The
+command:
+
+ ./configure --disable-nls
+
+will _totally_ disable translation of messages.
+
+ When you already have GNU 'gettext' installed on your system and run
+configure without an option for your new package, 'configure' will
+probably detect the previously built and installed 'libintl' library and
+will decide to use it. If not, you may have to to use the
+'--with-libintl-prefix' option to tell 'configure' where to look for it.
+
+ Internationalized packages usually have many 'po/LL.po' files, where
+LL gives an ISO 639 two-letter code identifying the language. Unless
+translations have been forbidden at 'configure' time by using the
+'--disable-nls' switch, all available translations are installed
+together with the package. However, the environment variable 'LINGUAS'
+may be set, prior to configuration, to limit the installed set.
+'LINGUAS' should then contain a space separated list of two-letter
+codes, stating which languages are allowed.
+
+1.2 Using This Package
+======================
+
+As a user, if your language has been installed for this package, you
+only have to set the 'LANG' environment variable to the appropriate
+'LL_CC' combination. If you happen to have the 'LC_ALL' or some other
+'LC_xxx' environment variables set, you should unset them before setting
+'LANG', otherwise the setting of 'LANG' will not have the desired
+effect. Here 'LL' is an ISO 639 two-letter language code, and 'CC' is
+an ISO 3166 two-letter country code. For example, let's suppose that
+you speak German and live in Germany. At the shell prompt, merely
+execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in
+'sh') or 'export LANG=de_DE' (in 'bash'). This can be done from your
+'.login' or '.profile' file, once and for all.
+
+ You might think that the country code specification is redundant.
+But in fact, some languages have dialects in different countries. For
+example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil. The
+country code serves to distinguish the dialects.
+
+ The locale naming convention of 'LL_CC', with 'LL' denoting the
+language and 'CC' denoting the country, is the one use on systems based
+on GNU libc. On other systems, some variations of this scheme are used,
+such as 'LL' or 'LL_CC.ENCODING'. You can get the list of locales
+supported by your system for your language by running the command
+'locale -a | grep '^LL''.
+
+ Not all programs have translations for all languages. By default, an
+English message is shown in place of a nonexistent translation. If you
+understand other languages, you can set up a priority list of languages.
+This is done through a different environment variable, called
+'LANGUAGE'. GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG'
+for the purpose of message handling, but you still need to have 'LANG'
+set to the primary language; this is required by other parts of the
+system libraries. For example, some Swedish users who would rather read
+translations in German than English for when Swedish is not available,
+set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'.
+
+ Special advice for Norwegian users: The language code for Norwegian
+bokma*l changed from 'no' to 'nb' recently (in 2003). During the
+transition period, while some message catalogs for this language are
+installed under 'nb' and some older ones under 'no', it's recommended
+for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and
+older translations are used.
+
+ In the 'LANGUAGE' environment variable, but not in the 'LANG'
+environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to
+denote the language's main dialect. For example, 'de' is equivalent to
+'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese
+as spoken in Portugal) in this context.
+
+1.3 Translating Teams
+=====================
+
+For the Free Translation Project to be a success, we need interested
+people who like their own language and write it well, and who are also
+able to synergize with other translators speaking the same language.
+Each translation team has its own mailing list. The up-to-date list of
+teams can be found at the Free Translation Project's homepage,
+'http://translationproject.org/', in the "Teams" area.
+
+ If you'd like to volunteer to _work_ at translating messages, you
+should become a member of the translating team for your own language.
+The subscribing address is _not_ the same as the list itself, it has
+'-request' appended. For example, speakers of Swedish can send a
+message to 'sv-request@li.org', having this message body:
+
+ subscribe
+
+ Keep in mind that team members are expected to participate _actively_
+in translations, or at solving translational difficulties, rather than
+merely lurking around. If your team does not exist yet and you want to
+start one, or if you are unsure about what to do or how to get started,
+please write to 'coordinator@translationproject.org' to reach the
+coordinator for all translator teams.
+
+ The English team is special. It works at improving and uniformizing
+the terminology in use. Proven linguistic skills are praised more than
+programming skills, here.
+
+1.4 Available Packages
+======================
+
+Languages are not equally supported in all packages. The following
+matrix shows the current state of internationalization, as of Jun 2014.
+The matrix shows, in regard of each package, for which languages PO
+files have been submitted to translation coordination, with a
+translation percentage of at least 50%.
+
+ Ready PO files af am an ar as ast az be bg bn bn_IN bs ca crh cs
+ +---------------------------------------------------+
+ a2ps | [] [] [] |
+ aegis | |
+ anubis | |
+ aspell | [] [] [] |
+ bash | [] [] [] |
+ bfd | |
+ binutils | [] |
+ bison | |
+ bison-runtime | [] |
+ buzztrax | [] |
+ ccd2cue | |
+ ccide | |
+ cflow | |
+ clisp | |
+ coreutils | [] [] |
+ cpio | |
+ cppi | |
+ cpplib | [] |
+ cryptsetup | [] |
+ datamash | |
+ denemo | [] [] |
+ dfarc | [] |
+ dialog | [] [] [] |
+ dico | |
+ diffutils | [] |
+ dink | [] |
+ direvent | |
+ doodle | [] |
+ dos2unix | |
+ dos2unix-man | |
+ e2fsprogs | [] [] |
+ enscript | [] |
+ exif | [] |
+ fetchmail | [] [] |
+ findutils | [] |
+ flex | [] |
+ freedink | [] [] |
+ fusionforge | |
+ gas | |
+ gawk | [] |
+ gcal | [] |
+ gcc | |
+ gdbm | |
+ gettext-examples | [] [] [] [] [] |
+ gettext-runtime | [] [] [] |
+ gettext-tools | [] [] |
+ gjay | |
+ glunarclock | [] [] [] |
+ gnubiff | [] |
+ gnubik | [] |
+ gnucash | () () [] |
+ gnuchess | |
+ gnulib | [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | |
+ gphoto2 | [] |
+ gprof | [] |
+ gramadoir | |
+ grep | [] [] [] |
+ grub | [] |
+ gsasl | |
+ gss | |
+ gst-plugins-bad | [] [] |
+ gst-plugins-base | [] [] [] |
+ gst-plugins-good | [] [] [] |
+ gst-plugins-ugly | [] [] [] |
+ gstreamer | [] [] [] [] |
+ gtick | [] |
+ gtkam | [] [] |
+ gtkspell | [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] |
+ hello | [] |
+ help2man | |
+ help2man-texi | |
+ hylafax | |
+ idutils | |
+ iso_15924 | [] |
+ iso_3166 | [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_2 | |
+ iso_4217 | [] |
+ iso_639 | [] [] [] [] [] [] [] [] [] |
+ iso_639_3 | [] [] |
+ iso_639_5 | |
+ jwhois | |
+ kbd | [] |
+ klavaro | [] [] [] [] [] |
+ ld | [] |
+ leafpad | [] [] [] [] |
+ libc | [] [] [] |
+ libexif | () |
+ libextractor | |
+ libgnutls | [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] |
+ libgsasl | |
+ libiconv | [] [] |
+ libidn | [] |
+ liferea | [] [] [] [] |
+ lilypond | [] [] |
+ lordsawar | [] |
+ lprng | |
+ lynx | [] [] |
+ m4 | [] |
+ mailfromd | |
+ mailutils | |
+ make | [] |
+ man-db | [] [] |
+ man-db-manpages | |
+ midi-instruments | [] [] [] |
+ minicom | [] |
+ mkisofs | [] |
+ myserver | [] |
+ nano | [] [] [] |
+ opcodes | |
+ parted | [] |
+ pies | |
+ pnmixer | |
+ popt | [] |
+ procps-ng | |
+ procps-ng-man | |
+ psmisc | [] |
+ pspp | [] |
+ pushover | [] |
+ pwdutils | |
+ pyspread | |
+ radius | [] |
+ recode | [] [] [] |
+ recutils | |
+ rpm | |
+ rush | |
+ sarg | |
+ sed | [] [] [] [] |
+ sharutils | [] |
+ shishi | |
+ skribilo | |
+ solfege | [] [] |
+ solfege-manual | |
+ spotmachine | |
+ sudo | [] [] |
+ sudoers | [] [] |
+ sysstat | [] |
+ tar | [] [] [] |
+ texinfo | [] [] |
+ texinfo_document | [] [] |
+ tigervnc | [] |
+ tin | |
+ tin-man | |
+ tracgoogleappsa... | |
+ trader | |
+ util-linux | [] |
+ ve | |
+ vice | |
+ vmm | |
+ vorbis-tools | [] |
+ wastesedge | |
+ wcd | |
+ wcd-man | |
+ wdiff | [] [] |
+ wget | [] |
+ wyslij-po | |
+ xboard | |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +---------------------------------------------------+
+ af am an ar as ast az be bg bn bn_IN bs ca crh cs
+ 4 0 2 5 3 11 0 8 25 3 3 1 55 4 74
+
+ da de el en en_GB en_ZA eo es et eu fa fi fr
+ +--------------------------------------------------+
+ a2ps | [] [] [] [] [] [] [] [] [] |
+ aegis | [] [] [] [] |
+ anubis | [] [] [] [] [] |
+ aspell | [] [] [] [] [] [] [] |
+ bash | [] [] [] |
+ bfd | [] [] [] [] |
+ binutils | [] [] [] |
+ bison | [] [] [] [] [] [] [] [] |
+ bison-runtime | [] [] [] [] [] [] [] [] |
+ buzztrax | [] [] [] [] |
+ ccd2cue | [] [] [] [] |
+ ccide | [] [] [] [] [] [] |
+ cflow | [] [] [] [] [] |
+ clisp | [] [] [] [] [] |
+ coreutils | [] [] [] [] [] |
+ cpio | [] [] [] [] [] |
+ cppi | [] [] [] [] [] |
+ cpplib | [] [] [] [] [] [] |
+ cryptsetup | [] [] [] [] [] |
+ datamash | [] [] [] [] |
+ denemo | [] |
+ dfarc | [] [] [] [] [] [] |
+ dialog | [] [] [] [] [] [] [] [] [] |
+ dico | [] [] [] [] |
+ diffutils | [] [] [] [] [] [] |
+ dink | [] [] [] [] [] [] |
+ direvent | [] [] [] [] |
+ doodle | [] [] [] [] |
+ dos2unix | [] [] [] [] [] |
+ dos2unix-man | [] [] [] |
+ e2fsprogs | [] [] [] [] [] |
+ enscript | [] [] [] [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] () [] [] [] [] [] |
+ findutils | [] [] [] [] [] [] [] [] |
+ flex | [] [] [] [] [] [] |
+ freedink | [] [] [] [] [] [] [] [] |
+ fusionforge | [] [] [] |
+ gas | [] [] [] |
+ gawk | [] [] [] [] [] |
+ gcal | [] [] [] [] |
+ gcc | [] |
+ gdbm | [] [] [] [] [] |
+ gettext-examples | [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] |
+ gjay | [] [] [] [] |
+ glunarclock | [] [] [] [] [] |
+ gnubiff | () [] [] () |
+ gnubik | [] [] [] [] [] |
+ gnucash | [] () () () () () () |
+ gnuchess | [] [] [] [] |
+ gnulib | [] [] [] [] [] [] [] |
+ gnunet | [] |
+ gnunet-gtk | [] |
+ gold | [] [] [] |
+ gphoto2 | [] () [] [] |
+ gprof | [] [] [] [] [] [] |
+ gramadoir | [] [] [] [] [] |
+ grep | [] [] [] [] [] [] [] |
+ grub | [] [] [] [] [] |
+ gsasl | [] [] [] [] [] |
+ gss | [] [] [] [] [] |
+ gst-plugins-bad | [] [] [] |
+ gst-plugins-base | [] [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] [] [] |
+ gtick | [] () [] [] [] |
+ gtkam | [] () [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] |
+ guix | [] [] |
+ guix-packages | |
+ gutenprint | [] [] [] [] |
+ hello | [] [] [] [] [] [] [] [] |
+ help2man | [] [] [] [] [] [] [] |
+ help2man-texi | [] [] [] |
+ hylafax | [] [] |
+ idutils | [] [] [] [] [] |
+ iso_15924 | [] () [] [] () [] () |
+ iso_3166 | [] () [] [] [] [] () [] () |
+ iso_3166_2 | [] () () () |
+ iso_4217 | [] () [] [] [] () [] () |
+ iso_639 | [] () [] [] () [] () |
+ iso_639_3 | () () () |
+ iso_639_5 | () () () |
+ jwhois | [] [] [] [] [] |
+ kbd | [] [] [] [] [] [] |
+ klavaro | [] [] [] [] [] [] [] |
+ ld | [] [] [] [] |
+ leafpad | [] [] [] [] [] [] [] [] |
+ libc | [] [] [] [] [] |
+ libexif | [] [] () [] [] |
+ libextractor | [] |
+ libgnutls | [] [] [] [] |
+ libgphoto2 | [] () [] |
+ libgphoto2_port | [] () [] [] [] [] |
+ libgsasl | [] [] [] [] [] |
+ libiconv | [] [] [] [] [] [] [] |
+ libidn | [] [] [] [] [] |
+ liferea | [] () [] [] [] [] [] |
+ lilypond | [] [] [] [] [] [] |
+ lordsawar | [] [] |
+ lprng | |
+ lynx | [] [] [] [] [] [] |
+ m4 | [] [] [] [] [] [] |
+ mailfromd | [] |
+ mailutils | [] [] [] [] |
+ make | [] [] [] [] [] |
+ man-db | [] [] [] [] |
+ man-db-manpages | [] [] |
+ midi-instruments | [] [] [] [] [] [] [] [] [] |
+ minicom | [] [] [] [] [] |
+ mkisofs | [] [] [] |
+ myserver | [] [] [] [] |
+ nano | [] [] [] [] [] [] [] |
+ opcodes | [] [] [] [] [] |
+ parted | [] [] [] |
+ pies | [] |
+ pnmixer | [] [] |
+ popt | [] [] [] [] [] [] |
+ procps-ng | [] [] |
+ procps-ng-man | [] [] |
+ psmisc | [] [] [] [] [] [] [] |
+ pspp | [] [] [] |
+ pushover | () [] [] [] |
+ pwdutils | [] [] [] |
+ pyspread | [] [] [] |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] |
+ recutils | [] [] [] [] |
+ rpm | [] [] [] [] [] |
+ rush | [] [] [] |
+ sarg | [] [] |
+ sed | [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | [] [] [] |
+ skribilo | [] [] [] |
+ solfege | [] [] [] [] [] [] [] [] |
+ solfege-manual | [] [] [] [] [] |
+ spotmachine | [] [] [] [] [] |
+ sudo | [] [] [] [] [] [] |
+ sudoers | [] [] [] [] [] [] |
+ sysstat | [] [] [] [] [] [] |
+ tar | [] [] [] [] [] [] [] |
+ texinfo | [] [] [] [] [] |
+ texinfo_document | [] [] [] [] |
+ tigervnc | [] [] [] [] [] [] |
+ tin | [] [] [] [] |
+ tin-man | [] |
+ tracgoogleappsa... | [] [] [] [] [] |
+ trader | [] [] [] [] [] [] |
+ util-linux | [] [] [] [] |
+ ve | [] [] [] [] [] |
+ vice | () () () |
+ vmm | [] [] |
+ vorbis-tools | [] [] [] [] |
+ wastesedge | [] |
+ wcd | [] [] [] [] |
+ wcd-man | [] |
+ wdiff | [] [] [] [] [] [] [] |
+ wget | [] [] [] [] [] [] |
+ wyslij-po | [] [] [] [] |
+ xboard | [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] [] [] |
+ +--------------------------------------------------+
+ da de el en en_GB en_ZA eo es et eu fa fi fr
+ 119 131 32 1 6 0 94 95 22 13 4 102 139
+
+ ga gd gl gu he hi hr hu hy ia id is it ja ka kk
+ +-------------------------------------------------+
+ a2ps | [] [] [] [] |
+ aegis | [] |
+ anubis | [] [] [] [] |
+ aspell | [] [] [] [] [] |
+ bash | [] [] [] [] |
+ bfd | [] [] |
+ binutils | [] [] [] |
+ bison | [] |
+ bison-runtime | [] [] [] [] [] [] [] [] |
+ buzztrax | |
+ ccd2cue | [] |
+ ccide | [] [] |
+ cflow | [] [] [] |
+ clisp | |
+ coreutils | [] [] |
+ cpio | [] [] [] [] [] [] |
+ cppi | [] [] [] [] [] |
+ cpplib | [] [] |
+ cryptsetup | [] |
+ datamash | |
+ denemo | [] |
+ dfarc | [] [] [] |
+ dialog | [] [] [] [] [] [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] [] [] |
+ dink | [] |
+ direvent | [] |
+ doodle | [] [] |
+ dos2unix | [] [] |
+ dos2unix-man | |
+ e2fsprogs | [] [] |
+ enscript | [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] [] [] |
+ findutils | [] [] [] [] [] [] [] |
+ flex | [] |
+ freedink | [] [] [] [] |
+ fusionforge | |
+ gas | [] |
+ gawk | [] () [] |
+ gcal | |
+ gcc | |
+ gdbm | |
+ gettext-examples | [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] [] |
+ gettext-tools | [] [] [] |
+ gjay | [] |
+ glunarclock | [] [] [] [] [] [] |
+ gnubiff | [] [] () |
+ gnubik | [] [] [] |
+ gnucash | () () () () () |
+ gnuchess | |
+ gnulib | [] [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | [] [] |
+ gphoto2 | [] [] [] [] |
+ gprof | [] [] [] [] |
+ gramadoir | [] [] [] |
+ grep | [] [] [] [] [] [] [] |
+ grub | [] [] [] |
+ gsasl | [] [] [] [] [] |
+ gss | [] [] [] [] [] |
+ gst-plugins-bad | [] [] [] |
+ gst-plugins-base | [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] [] [] |
+ gtkam | [] [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] [] [] |
+ hello | [] [] [] [] [] |
+ help2man | [] [] [] |
+ help2man-texi | |
+ hylafax | [] |
+ idutils | [] [] |
+ iso_15924 | [] [] [] [] [] [] |
+ iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_2 | [] [] |
+ iso_4217 | [] [] [] [] [] [] |
+ iso_639 | [] [] [] [] [] [] [] [] [] |
+ iso_639_3 | [] [] |
+ iso_639_5 | |
+ jwhois | [] [] [] [] |
+ kbd | [] [] [] |
+ klavaro | [] [] [] [] [] |
+ ld | [] [] [] [] |
+ leafpad | [] [] [] [] [] [] [] () |
+ libc | [] [] [] [] [] |
+ libexif | [] |
+ libextractor | |
+ libgnutls | [] |
+ libgphoto2 | [] [] |
+ libgphoto2_port | [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | [] [] [] [] [] [] [] |
+ libidn | [] [] [] [] |
+ liferea | [] [] [] [] [] |
+ lilypond | [] |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] [] [] |
+ mailfromd | |
+ mailutils | |
+ make | [] [] [] [] |
+ man-db | [] [] |
+ man-db-manpages | [] [] |
+ midi-instruments | [] [] [] [] [] [] [] [] [] |
+ minicom | [] [] [] |
+ mkisofs | [] [] |
+ myserver | [] |
+ nano | [] [] [] [] [] [] |
+ opcodes | [] [] [] |
+ parted | [] [] [] [] [] |
+ pies | |
+ pnmixer | [] [] |
+ popt | [] [] [] [] [] [] [] [] [] [] |
+ procps-ng | |
+ procps-ng-man | |
+ psmisc | [] [] [] [] |
+ pspp | [] [] |
+ pushover | [] |
+ pwdutils | [] |
+ pyspread | |
+ radius | [] |
+ recode | [] [] [] [] [] [] [] |
+ recutils | |
+ rpm | [] |
+ rush | [] |
+ sarg | |
+ sed | [] [] [] [] [] [] [] |
+ sharutils | |
+ shishi | |
+ skribilo | [] |
+ solfege | [] [] |
+ solfege-manual | |
+ spotmachine | |
+ sudo | [] [] [] [] |
+ sudoers | [] [] [] |
+ sysstat | [] [] [] [] |
+ tar | [] [] [] [] [] [] |
+ texinfo | [] [] [] |
+ texinfo_document | [] [] [] |
+ tigervnc | |
+ tin | |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] [] |
+ trader | [] [] |
+ util-linux | [] |
+ ve | [] |
+ vice | () () |
+ vmm | |
+ vorbis-tools | [] [] |
+ wastesedge | [] |
+ wcd | |
+ wcd-man | |
+ wdiff | [] [] [] |
+ wget | [] [] [] [] |
+ wyslij-po | [] [] [] |
+ xboard | |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] [] |
+ +-------------------------------------------------+
+ ga gd gl gu he hi hr hu hy ia id is it ja ka kk
+ 35 2 47 4 8 2 60 71 2 6 81 11 87 57 0 3
+
+ kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl
+ +--------------------------------------------------+
+ a2ps | [] [] |
+ aegis | [] |
+ anubis | [] [] [] |
+ aspell | [] [] |
+ bash | [] [] |
+ bfd | |
+ binutils | |
+ bison | [] |
+ bison-runtime | [] [] [] [] [] [] |
+ buzztrax | |
+ ccd2cue | |
+ ccide | [] [] |
+ cflow | [] |
+ clisp | [] |
+ coreutils | [] [] |
+ cpio | [] |
+ cppi | |
+ cpplib | [] |
+ cryptsetup | [] |
+ datamash | [] [] |
+ denemo | |
+ dfarc | [] [] |
+ dialog | [] [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] [] |
+ dink | [] |
+ direvent | [] |
+ doodle | [] |
+ dos2unix | [] [] |
+ dos2unix-man | [] |
+ e2fsprogs | [] |
+ enscript | [] |
+ exif | [] [] [] |
+ fetchmail | [] |
+ findutils | [] [] |
+ flex | [] |
+ freedink | [] [] |
+ fusionforge | |
+ gas | |
+ gawk | [] |
+ gcal | |
+ gcc | |
+ gdbm | |
+ gettext-examples | [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] |
+ gettext-tools | [] |
+ gjay | |
+ glunarclock | [] [] |
+ gnubiff | [] |
+ gnubik | [] [] |
+ gnucash | () () () () () () () [] |
+ gnuchess | [] [] |
+ gnulib | [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | |
+ gphoto2 | [] |
+ gprof | [] [] |
+ gramadoir | [] |
+ grep | [] [] |
+ grub | [] [] [] |
+ gsasl | [] |
+ gss | |
+ gst-plugins-bad | [] [] [] |
+ gst-plugins-base | [] [] [] |
+ gst-plugins-good | [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] |
+ gstreamer | [] [] [] |
+ gtick | [] |
+ gtkam | [] [] |
+ gtkspell | [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] |
+ hello | [] [] [] |
+ help2man | [] |
+ help2man-texi | |
+ hylafax | [] |
+ idutils | [] |
+ iso_15924 | () [] [] |
+ iso_3166 | [] [] [] () [] [] [] [] [] [] |
+ iso_3166_2 | () [] |
+ iso_4217 | () [] [] [] |
+ iso_639 | [] [] () [] [] [] [] |
+ iso_639_3 | [] () [] |
+ iso_639_5 | () |
+ jwhois | [] [] |
+ kbd | [] |
+ klavaro | [] [] |
+ ld | |
+ leafpad | [] [] [] [] [] |
+ libc | [] [] |
+ libexif | [] |
+ libextractor | [] |
+ libgnutls | [] [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] |
+ libgsasl | [] |
+ libiconv | [] [] |
+ libidn | [] |
+ liferea | [] [] [] |
+ lilypond | [] |
+ lordsawar | |
+ lprng | |
+ lynx | [] |
+ m4 | [] |
+ mailfromd | |
+ mailutils | |
+ make | [] [] |
+ man-db | [] |
+ man-db-manpages | [] |
+ midi-instruments | [] [] [] [] [] [] [] |
+ minicom | [] |
+ mkisofs | [] |
+ myserver | |
+ nano | [] [] [] |
+ opcodes | [] |
+ parted | [] [] |
+ pies | |
+ pnmixer | [] |
+ popt | [] [] [] [] [] |
+ procps-ng | |
+ procps-ng-man | |
+ psmisc | [] |
+ pspp | [] [] |
+ pushover | |
+ pwdutils | [] |
+ pyspread | |
+ radius | [] |
+ recode | [] [] |
+ recutils | [] |
+ rpm | [] |
+ rush | [] |
+ sarg | |
+ sed | [] [] |
+ sharutils | [] |
+ shishi | |
+ skribilo | |
+ solfege | [] [] |
+ solfege-manual | [] |
+ spotmachine | [] |
+ sudo | [] [] [] |
+ sudoers | [] [] [] |
+ sysstat | [] [] |
+ tar | [] [] [] |
+ texinfo | [] |
+ texinfo_document | [] |
+ tigervnc | [] |
+ tin | |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] |
+ trader | [] |
+ util-linux | [] |
+ ve | [] |
+ vice | [] |
+ vmm | [] |
+ vorbis-tools | [] |
+ wastesedge | [] |
+ wcd | [] |
+ wcd-man | [] |
+ wdiff | [] |
+ wget | [] [] |
+ wyslij-po | [] |
+ xboard | [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +--------------------------------------------------+
+ kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl
+ 5 15 4 6 0 13 23 3 3 3 4 11 2 42 1 125
+
+ nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ +------------------------------------------------+
+ a2ps | [] [] [] [] [] [] [] |
+ aegis | [] [] |
+ anubis | [] [] [] |
+ aspell | [] [] [] [] [] [] [] |
+ bash | [] [] [] [] [] [] |
+ bfd | [] [] |
+ binutils | [] [] |
+ bison | [] [] [] |
+ bison-runtime | [] [] [] [] [] [] [] [] |
+ buzztrax | [] |
+ ccd2cue | [] [] |
+ ccide | [] [] [] |
+ cflow | [] [] [] |
+ clisp | [] |
+ coreutils | [] [] [] [] |
+ cpio | [] [] [] |
+ cppi | [] [] [] |
+ cpplib | [] [] [] |
+ cryptsetup | [] [] [] |
+ datamash | [] [] |
+ denemo | |
+ dfarc | [] [] [] |
+ dialog | [] [] [] [] [] [] [] |
+ dico | [] |
+ diffutils | [] [] [] |
+ dink | |
+ direvent | [] [] [] |
+ doodle | [] [] |
+ dos2unix | [] [] [] [] |
+ dos2unix-man | [] [] |
+ e2fsprogs | [] |
+ enscript | [] [] [] [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] [] [] |
+ findutils | [] [] [] [] [] [] |
+ flex | [] [] [] [] [] |
+ freedink | [] [] [] [] [] |
+ fusionforge | |
+ gas | |
+ gawk | [] |
+ gcal | |
+ gcc | |
+ gdbm | [] [] [] |
+ gettext-examples | [] [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] [] [] |
+ gjay | [] |
+ glunarclock | [] [] [] [] [] [] |
+ gnubiff | [] |
+ gnubik | [] [] [] [] |
+ gnucash | () () () () () [] |
+ gnuchess | [] [] |
+ gnulib | [] [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | |
+ gphoto2 | [] [] [] [] [] |
+ gprof | [] [] [] [] |
+ gramadoir | [] [] |
+ grep | [] [] [] [] [] [] |
+ grub | [] [] [] [] [] |
+ gsasl | [] [] [] |
+ gss | [] [] [] [] |
+ gst-plugins-bad | [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] [] [] |
+ gtick | [] [] [] [] [] |
+ gtkam | [] [] [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] [] |
+ hello | [] [] [] [] [] [] |
+ help2man | [] [] [] [] |
+ help2man-texi | [] |
+ hylafax | |
+ idutils | [] [] [] |
+ iso_15924 | [] () [] [] [] [] |
+ iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] |
+ iso_3166_2 | [] () [] |
+ iso_4217 | [] [] () [] [] [] [] [] |
+ iso_639 | [] [] [] () [] [] [] [] [] [] |
+ iso_639_3 | [] () |
+ iso_639_5 | () [] |
+ jwhois | [] [] [] [] |
+ kbd | [] [] |
+ klavaro | [] [] [] [] [] |
+ ld | |
+ leafpad | [] [] [] [] [] [] [] [] |
+ libc | [] [] [] |
+ libexif | [] () [] |
+ libextractor | [] |
+ libgnutls | [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] [] [] [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | [] [] [] [] [] |
+ libidn | [] [] [] |
+ liferea | [] [] [] [] () [] [] |
+ lilypond | |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] |
+ m4 | [] [] [] [] [] |
+ mailfromd | [] |
+ mailutils | [] |
+ make | [] [] [] |
+ man-db | [] [] [] |
+ man-db-manpages | [] [] [] |
+ midi-instruments | [] [] [] [] [] [] [] [] |
+ minicom | [] [] [] [] |
+ mkisofs | [] [] [] |
+ myserver | [] [] |
+ nano | [] [] [] [] [] [] |
+ opcodes | |
+ parted | [] [] [] [] [] [] |
+ pies | [] |
+ pnmixer | [] |
+ popt | [] [] [] [] [] [] |
+ procps-ng | [] |
+ procps-ng-man | [] |
+ psmisc | [] [] [] [] |
+ pspp | [] [] |
+ pushover | |
+ pwdutils | [] |
+ pyspread | [] [] |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] [] |
+ recutils | [] [] |
+ rpm | [] |
+ rush | [] [] [] |
+ sarg | [] [] |
+ sed | [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] |
+ shishi | [] [] |
+ skribilo | [] |
+ solfege | [] [] [] |
+ solfege-manual | [] [] |
+ spotmachine | [] [] |
+ sudo | [] [] [] [] [] [] |
+ sudoers | [] [] [] [] |
+ sysstat | [] [] [] [] [] |
+ tar | [] [] [] [] [] |
+ texinfo | [] [] [] |
+ texinfo_document | [] [] |
+ tigervnc | [] [] [] |
+ tin | [] |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] [] |
+ trader | [] [] |
+ util-linux | [] [] |
+ ve | [] [] [] |
+ vice | |
+ vmm | |
+ vorbis-tools | [] [] [] |
+ wastesedge | |
+ wcd | |
+ wcd-man | |
+ wdiff | [] [] [] [] [] |
+ wget | [] [] [] [] [] |
+ wyslij-po | [] [] [] [] |
+ xboard | [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] |
+ +------------------------------------------------+
+ nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ 7 3 6 114 1 12 88 32 82 3 40 45 7 101
+
+ sv sw ta te tg th tr uk ur vi wa wo zh_CN
+ +----------------------------------------------+
+ a2ps | [] [] [] [] [] |
+ aegis | [] |
+ anubis | [] [] [] [] |
+ aspell | [] [] [] [] [] |
+ bash | [] [] [] [] |
+ bfd | [] [] [] |
+ binutils | [] [] [] |
+ bison | [] [] [] [] |
+ bison-runtime | [] [] [] [] [] [] |
+ buzztrax | [] [] [] |
+ ccd2cue | [] [] [] |
+ ccide | [] [] [] [] |
+ cflow | [] [] [] [] |
+ clisp | |
+ coreutils | [] [] [] |
+ cpio | [] [] [] [] [] |
+ cppi | [] [] [] [] |
+ cpplib | [] [] [] [] [] |
+ cryptsetup | [] [] [] |
+ datamash | [] [] [] |
+ denemo | [] |
+ dfarc | [] [] |
+ dialog | [] [] [] [] [] [] |
+ dico | [] |
+ diffutils | [] [] [] [] [] |
+ dink | [] |
+ direvent | [] [] |
+ doodle | [] [] |
+ dos2unix | [] [] [] [] |
+ dos2unix-man | [] [] [] |
+ e2fsprogs | [] [] [] [] |
+ enscript | [] [] [] [] |
+ exif | [] [] [] [] [] |
+ fetchmail | [] [] [] [] |
+ findutils | [] [] [] [] [] |
+ flex | [] [] [] [] |
+ freedink | [] [] [] |
+ fusionforge | |
+ gas | [] |
+ gawk | [] [] [] |
+ gcal | [] [] [] |
+ gcc | [] |
+ gdbm | [] [] |
+ gettext-examples | [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] |
+ gjay | [] [] [] |
+ glunarclock | [] [] [] [] |
+ gnubiff | [] [] |
+ gnubik | [] [] [] [] |
+ gnucash | () () () () [] |
+ gnuchess | [] [] [] |
+ gnulib | [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | [] [] |
+ gphoto2 | [] [] [] [] |
+ gprof | [] [] [] [] |
+ gramadoir | [] [] [] |
+ grep | [] [] [] [] [] |
+ grub | [] [] [] [] |
+ gsasl | [] [] [] [] |
+ gss | [] [] [] |
+ gst-plugins-bad | [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] |
+ gtkam | [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] [] [] [] |
+ hello | [] [] [] [] [] [] |
+ help2man | [] [] [] |
+ help2man-texi | [] |
+ hylafax | [] |
+ idutils | [] [] [] |
+ iso_15924 | [] () [] [] () [] |
+ iso_3166 | [] [] () [] [] () [] [] |
+ iso_3166_2 | () [] [] () [] |
+ iso_4217 | [] () [] [] () [] |
+ iso_639 | [] [] [] () [] [] () [] [] |
+ iso_639_3 | [] () [] [] () |
+ iso_639_5 | () [] () |
+ jwhois | [] [] [] [] |
+ kbd | [] [] [] [] |
+ klavaro | [] [] [] [] [] [] |
+ ld | [] [] [] [] [] |
+ leafpad | [] [] [] [] [] [] |
+ libc | [] [] [] [] [] |
+ libexif | [] [] () |
+ libextractor | [] [] |
+ libgnutls | [] [] [] [] |
+ libgphoto2 | [] [] [] |
+ libgphoto2_port | [] [] [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | [] [] [] [] [] |
+ libidn | () [] [] [] |
+ liferea | [] [] [] [] [] |
+ lilypond | [] |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] |
+ mailfromd | [] [] |
+ mailutils | [] |
+ make | [] [] [] [] |
+ man-db | [] [] [] |
+ man-db-manpages | [] [] |
+ midi-instruments | [] [] [] [] [] [] |
+ minicom | [] [] |
+ mkisofs | [] [] [] |
+ myserver | [] |
+ nano | [] [] [] [] |
+ opcodes | [] [] [] |
+ parted | [] [] [] [] [] |
+ pies | [] [] |
+ pnmixer | [] [] [] |
+ popt | [] [] [] [] [] [] [] |
+ procps-ng | [] [] |
+ procps-ng-man | [] |
+ psmisc | [] [] [] [] |
+ pspp | [] [] [] |
+ pushover | [] |
+ pwdutils | [] [] |
+ pyspread | [] |
+ radius | [] [] |
+ recode | [] [] [] [] |
+ recutils | [] [] [] |
+ rpm | [] [] [] [] |
+ rush | [] [] |
+ sarg | |
+ sed | [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | [] [] |
+ skribilo | [] [] |
+ solfege | [] [] [] [] |
+ solfege-manual | [] |
+ spotmachine | [] [] [] |
+ sudo | [] [] [] [] [] |
+ sudoers | [] [] [] [] |
+ sysstat | [] [] [] [] [] |
+ tar | [] [] [] [] [] |
+ texinfo | [] [] [] |
+ texinfo_document | [] |
+ tigervnc | [] [] [] |
+ tin | [] |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] [] [] |
+ trader | [] |
+ util-linux | [] [] [] [] |
+ ve | [] [] [] [] |
+ vice | () () |
+ vmm | |
+ vorbis-tools | [] [] |
+ wastesedge | |
+ wcd | [] [] [] |
+ wcd-man | [] |
+ wdiff | [] [] [] [] |
+ wget | [] [] [] |
+ wyslij-po | [] [] |
+ xboard | [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] |
+ +----------------------------------------------+
+ sv sw ta te tg th tr uk ur vi wa wo zh_CN
+ 106 1 4 3 0 13 51 115 1 125 7 1 100
+
+ zh_HK zh_TW
+ +-------------+
+ a2ps | | 30
+ aegis | | 9
+ anubis | | 19
+ aspell | | 29
+ bash | [] | 23
+ bfd | | 11
+ binutils | | 12
+ bison | [] | 18
+ bison-runtime | [] | 38
+ buzztrax | | 9
+ ccd2cue | | 10
+ ccide | | 17
+ cflow | | 16
+ clisp | | 10
+ coreutils | | 18
+ cpio | | 20
+ cppi | | 17
+ cpplib | [] | 19
+ cryptsetup | | 14
+ datamash | | 11
+ denemo | | 5
+ dfarc | | 17
+ dialog | [] | 42
+ dico | | 6
+ diffutils | | 22
+ dink | | 10
+ direvent | | 11
+ doodle | | 12
+ dos2unix | [] | 18
+ dos2unix-man | | 9
+ e2fsprogs | | 15
+ enscript | | 21
+ exif | | 27
+ fetchmail | | 19
+ findutils | | 29
+ flex | [] | 19
+ freedink | | 24
+ fusionforge | | 3
+ gas | | 5
+ gawk | | 13
+ gcal | | 8
+ gcc | | 2
+ gdbm | | 10
+ gettext-examples | [] [] | 40
+ gettext-runtime | [] [] | 35
+ gettext-tools | [] | 24
+ gjay | | 9
+ glunarclock | [] | 27
+ gnubiff | | 9
+ gnubik | | 19
+ gnucash | () | 6
+ gnuchess | | 11
+ gnulib | | 23
+ gnunet | | 1
+ gnunet-gtk | | 1
+ gold | | 7
+ gphoto2 | [] | 19
+ gprof | | 21
+ gramadoir | | 14
+ grep | [] | 31
+ grub | | 21
+ gsasl | [] | 19
+ gss | | 17
+ gst-plugins-bad | | 21
+ gst-plugins-base | | 27
+ gst-plugins-good | | 32
+ gst-plugins-ugly | | 34
+ gstreamer | [] | 32
+ gtick | | 19
+ gtkam | | 24
+ gtkspell | [] [] | 48
+ guix | | 2
+ guix-packages | | 0
+ gutenprint | | 15
+ hello | [] | 30
+ help2man | | 18
+ help2man-texi | | 5
+ hylafax | | 5
+ idutils | | 14
+ iso_15924 | [] | 23
+ iso_3166 | [] [] | 58
+ iso_3166_2 | | 9
+ iso_4217 | [] [] | 28
+ iso_639 | [] [] | 46
+ iso_639_3 | | 10
+ iso_639_5 | | 2
+ jwhois | [] | 20
+ kbd | | 17
+ klavaro | | 30
+ ld | [] | 15
+ leafpad | [] | 39
+ libc | [] | 24
+ libexif | | 10
+ libextractor | | 5
+ libgnutls | | 13
+ libgphoto2 | | 10
+ libgphoto2_port | [] | 19
+ libgsasl | | 18
+ libiconv | [] | 29
+ libidn | | 17
+ liferea | | 29
+ lilypond | | 11
+ lordsawar | | 3
+ lprng | | 3
+ lynx | | 19
+ m4 | [] | 22
+ mailfromd | | 4
+ mailutils | | 6
+ make | | 19
+ man-db | | 15
+ man-db-manpages | | 10
+ midi-instruments | [] | 43
+ minicom | [] | 17
+ mkisofs | | 13
+ myserver | | 9
+ nano | [] | 30
+ opcodes | | 12
+ parted | [] | 23
+ pies | | 4
+ pnmixer | | 9
+ popt | [] | 36
+ procps-ng | | 5
+ procps-ng-man | | 4
+ psmisc | [] | 22
+ pspp | | 13
+ pushover | | 6
+ pwdutils | | 8
+ pyspread | | 6
+ radius | | 9
+ recode | | 31
+ recutils | | 10
+ rpm | [] | 13
+ rush | | 10
+ sarg | | 4
+ sed | [] | 35
+ sharutils | | 13
+ shishi | | 7
+ skribilo | | 7
+ solfege | | 21
+ solfege-manual | | 9
+ spotmachine | | 11
+ sudo | | 26
+ sudoers | | 22
+ sysstat | | 23
+ tar | [] | 30
+ texinfo | | 17
+ texinfo_document | | 13
+ tigervnc | | 14
+ tin | [] | 7
+ tin-man | | 1
+ tracgoogleappsa... | [] | 22
+ trader | | 12
+ util-linux | | 13
+ ve | | 14
+ vice | | 1
+ vmm | | 3
+ vorbis-tools | | 13
+ wastesedge | | 3
+ wcd | | 8
+ wcd-man | | 3
+ wdiff | [] | 23
+ wget | | 21
+ wyslij-po | | 14
+ xboard | | 10
+ xdg-user-dirs | [] [] | 68
+ xkeyboard-config | [] | 28
+ +-------------+
+ 89 teams zh_HK zh_TW
+ 166 domains 7 42 2809
+
+ Some counters in the preceding matrix are higher than the number of
+visible blocks let us expect. This is because a few extra PO files are
+used for implementing regional variants of languages, or language
+dialects.
+
+ For a PO file in the matrix above to be effective, the package to
+which it applies should also have been internationalized and distributed
+as such by its maintainer. There might be an observable lag between the
+mere existence a PO file and its wide availability in a distribution.
+
+ If Jun 2014 seems to be old, you may fetch a more recent copy of this
+'ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix
+with full percentage details can be found at
+'http://translationproject.org/extra/matrix.html'.
+
+1.5 Using 'gettext' in new packages
+===================================
+
+If you are writing a freely available program and want to
+internationalize it you are welcome to use GNU 'gettext' in your
+package. Of course you have to respect the GNU Lesser General Public
+License which covers the use of the GNU 'gettext' library. This means
+in particular that even non-free programs can use 'libintl' as a shared
+library, whereas only free software can use 'libintl' as a static
+library or use modified versions of 'libintl'.
+
+ Once the sources are changed appropriately and the setup can handle
+the use of 'gettext' the only thing missing are the translations. The
+Free Translation Project is also available for packages which are not
+developed inside the GNU project. Therefore the information given above
+applies also for every other Free Software Project. Contact
+'coordinator@translationproject.org' to make the '.pot' files available
+to the translation teams.
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..9ad0ba2
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,466 @@
+#
+# Master author manifest for bash
+#
+# The files in lib/intl were taken from the GNU gettext distribution.
+#
+# Any files appearing in the bash distribution not listed in this file
+# were created by Chet Ramey.
+#
+# Filename authors (first is original author)
+#
+README Brian Fox, Chet Ramey
+INSTALL Brian Fox, Chet Ramey
+COPYING Brian Fox, Chet Ramey
+MANIFEST Brian Fox, Chet Ramey
+configure Chet Ramey
+Makefile.in Brian Fox, Chet Ramey
+configure.in Chet Ramey
+aclocal.m4 Chet Ramey
+config.h.top Chet Ramey
+config.h.bot Chet Ramey
+config.h.in Chet Ramey
+array.c Chet Ramey
+print_cmd.c Brian Fox, Chet Ramey
+general.c Brian Fox, Chet Ramey
+variables.c Brian Fox, Chet Ramey
+make_cmd.c Brian Fox, Chet Ramey
+copy_cmd.c Brian Fox, Chet Ramey
+unwind_prot.c Brian Fox, Chet Ramey
+dispose_cmd.c Brian Fox, Chet Ramey
+getcwd.c Roland McGrath, Brian Fox, Chet Ramey
+bashhist.c Chet Ramey
+hash.c Brian Fox, Chet Ramey
+parse.y Brian Fox, Chet Ramey
+subst.c Brian Fox, Chet Ramey
+shell.c Brian Fox, Chet Ramey
+sig.c Chet Ramey
+trap.c Brian Fox, Chet Ramey
+siglist.c Brian Fox, Chet Ramey
+version.c Brian Fox, Chet Ramey
+flags.c Brian Fox, Chet Ramey
+jobs.c Brian Fox, Chet Ramey
+input.c Chet Ramey
+mailcheck.c Brian Fox, Chet Ramey
+pathexp.c Chet Ramey
+test.c Brian Fox, Chet Ramey
+expr.c Chet Ramey, Brian Fox
+alias.c Brian Fox, Chet Ramey
+execute_cmd.c Brian Fox, Chet Ramey
+bashline.c Brian Fox, Chet Ramey
+braces.c Brian Fox, Chet Ramey
+bracecomp.c Brian Fox, Chet Ramey, Tom Tromey
+nojobs.c Brian Fox, Chet Ramey
+vprint.c Chet Ramey
+oslib.c Chet Ramey
+error.c Brian Fox, Chet Ramey
+xmalloc.c Brian Fox, Chet Ramey
+alias.h Brian Fox, Chet Ramey
+array.h Chet Ramey
+builtins.h Brian Fox, Chet Ramey
+parser.h Brian Fox, Chet Ramey
+variables.h Brian Fox, Chet Ramey
+machines.h Brian Fox, Chet Ramey
+jobs.h Brian Fox, Chet Ramey
+maxpath.h Brian Fox, Chet Ramey
+pathexp.h Chet Ramey
+mailcheck.h Chet Ramey
+filecntl.h Brian Fox, Chet Ramey
+hash.h Brian Fox, Chet Ramey
+quit.h Brian Fox, Chet Ramey
+flags.h Brian Fox, Chet Ramey
+shell.h Brian Fox, Chet Ramey
+bashjmp.h Chet Ramey
+sig.h Chet Ramey
+trap.h Brian Fox, Chet Ramey
+general.h Brian Fox, Chet Ramey
+unwind_prot.h Brian Fox, Chet Ramey
+input.h Brian Fox, Chet Ramey
+error.h Brian Fox, Chet Ramey
+command.h Brian Fox, Chet Ramey
+externs.h Chet Ramey
+siglist.h Chet Ramey
+subst.h Brian Fox, Chet Ramey
+dispose_cmd.h Brian Fox, Chet Ramey
+bashansi.h Brian Fox, Chet Ramey
+make_cmd.h Brian Fox, Chet Ramey
+bashhist.h Chet Ramey
+bashline.h Chet Ramey
+execute_cmd.h Chet Ramey
+bashtypes.h Chet Ramey
+bashtty.h Chet Ramey
+pathnames.h Chet Ramey
+y.tab.c Brian Fox, Chet Ramey
+y.tab.h Brian Fox, Chet Ramey
+parser-built Brian Fox, Chet Ramey
+posixstat.h Brian Fox, Chet Ramey
+stdc.h Chet Ramey
+ansi_stdlib.h Brian Fox, Chet Ramey
+memalloc.h Chet Ramey
+builtins/ChangeLog Brian Fox, Chet Ramey
+builtins/Makefile.in Brian Fox, Chet Ramey
+builtins/alias.def Brian Fox, Chet Ramey
+builtins/bind.def Brian Fox, Chet Ramey
+builtins/break.def Brian Fox, Chet Ramey
+builtins/builtin.def Brian Fox, Chet Ramey
+builtins/caller.def Rocky Bernstein, Chet Ramey
+builtins/cd.def Brian Fox, Chet Ramey
+builtins/colon.def Brian Fox, Chet Ramey
+builtins/command.def Brian Fox, Chet Ramey
+builtins/common.c Brian Fox, Chet Ramey
+builtins/declare.def Brian Fox, Chet Ramey
+builtins/echo.def Brian Fox, Chet Ramey
+builtins/enable.def Brian Fox, Chet Ramey
+builtins/eval.def Brian Fox, Chet Ramey
+builtins/exec.def Brian Fox, Chet Ramey
+builtins/exit.def Brian Fox, Chet Ramey
+builtins/fc.def Brian Fox, Chet Ramey
+builtins/fg_bg.def Brian Fox, Chet Ramey
+builtins/getopt.c Roland McGrath, Brian Fox, Chet Ramey
+builtins/getopt.h Roland McGrath, Brian Fox, Chet Ramey
+builtins/getopts.def Brian Fox, Chet Ramey
+builtins/hash.def Brian Fox, Chet Ramey
+builtins/hashcom.h Brian Fox, Chet Ramey
+builtins/help.def Brian Fox, Chet Ramey
+builtins/let.def Chet Ramey, Brian Fox
+builtins/history.def Brian Fox, Chet Ramey
+builtins/jobs.def Brian Fox, Chet Ramey
+builtins/kill.def Brian Fox, Chet Ramey
+builtins/mapfile.def Rocky Bernstein
+builtins/mkbuiltins.c Brian Fox, Chet Ramey
+builtins/pushd.def Brian Fox, Chet Ramey
+builtins/read.def Brian Fox, Chet Ramey
+builtins/reserved.def Brian Fox, Chet Ramey
+builtins/return.def Brian Fox, Chet Ramey
+builtins/set.def Brian Fox, Chet Ramey
+builtins/setattr.def Brian Fox, Chet Ramey
+builtins/shift.def Brian Fox, Chet Ramey
+builtins/shopt.def Chet Ramey
+builtins/source.def Brian Fox, Chet Ramey
+builtins/suspend.def Brian Fox, Chet Ramey
+builtins/test.def Brian Fox, Chet Ramey
+builtins/times.def Brian Fox, Chet Ramey
+builtins/trap.def Brian Fox, Chet Ramey
+builtins/type.def Brian Fox, Chet Ramey
+builtins/ulimit.def Chet Ramey, Brian Fox
+builtins/umask.def Brian Fox, Chet Ramey
+builtins/wait.def Brian Fox, Chet Ramey
+builtins/psize.c Chet Ramey, Brian Fox
+builtins/psize.sh Chet Ramey, Brian Fox
+builtins/inlib.def Chet Ramey
+builtins/bashgetopt.c Chet Ramey
+builtins/common.h Chet Ramey
+builtins/bashgetopt.h Chet Ramey
+lib/doc-support/texindex.c bug-texinfo@prep.ai.mit.edu, Chet Ramey
+lib/doc-support/Makefile.in Chet Ramey
+lib/doc-support/getopt.h Roland McGrath
+lib/doc-support/getopt.c Roland McGrath
+lib/doc-support/getopt1.c Roland McGrath
+lib/glob/ChangeLog Brian Fox, Chet Ramey
+lib/glob/Makefile.in Brian Fox, Chet Ramey
+lib/glob/strmatch.c Roland McGrath, Brian Fox, Chet Ramey
+lib/glob/strmatch.h Roland McGrath, Brian Fox, Chet Ramey
+lib/glob/glob.c Richard Stallman, Roland McGrath, Brian Fox, Chet Ramey
+lib/glob/glob.h Chet Ramey
+lib/glob/ndir.h Doug Gwyn, Richard Stallman
+lib/glob/doc/Makefile.in Brian Fox, Chet Ramey
+lib/glob/doc/glob.texi Brian Fox, Chet Ramey
+lib/malloc/Makefile.in Chet Ramey
+lib/malloc/alloca.c Doug Gwyn, Richard Stallman, Brian Fox, Chet Ramey
+lib/malloc/getpagesize.h Brian Fox, Chet Ramey
+lib/malloc/malloc.c Chris Kingsley, Mike Muuss, Richard Stallman, Brian Fox, Chet Ramey
+lib/malloc/gmalloc.c Mike Haertel, Roland McGrath
+lib/malloc/stub.c Chet Ramey
+lib/malloc/i386-alloca.s Richard Stallman
+lib/malloc/x386-alloca.s Chip Salzenberg, Richard Stallman
+lib/malloc/xmalloc.c Brian Fox, Chet Ramey
+lib/posixheaders/posixstat.h Brian Fox, Chet Ramey
+lib/posixheaders/ansi_stdlib.h Brian Fox, Chet Ramey
+lib/posixheaders/stdc.h Chet Ramey
+lib/posixheaders/memalloc.h Chet Ramey
+lib/posixheaders/filecntl.h Brian Fox, Chet Ramey
+lib/readline/Makefile.in Brian Fox, Chet Ramey
+lib/readline/COPYING Brian Fox, Chet Ramey
+lib/readline/ChangeLog Brian Fox, Chet Ramey
+lib/readline/readline.c Brian Fox, Chet Ramey
+lib/readline/vi_mode.c Brian Fox, Chet Ramey
+lib/readline/emacs_keymap.c Brian Fox, Chet Ramey
+lib/readline/vi_keymap.c Brian Fox, Chet Ramey
+lib/readline/funmap.c Brian Fox, Chet Ramey
+lib/readline/keymaps.c Brian Fox, Chet Ramey
+lib/readline/xmalloc.c Brian Fox, Chet Ramey
+lib/readline/search.c Brian Fox, Chet Ramey
+lib/readline/isearch.c Brian Fox, Chet Ramey
+lib/readline/parens.c Brian Fox, Chet Ramey
+lib/readline/rltty.c Brian Fox, Chet Ramey
+lib/readline/complete.c Brian Fox, Chet Ramey
+lib/readline/bind.c Brian Fox, Chet Ramey
+lib/readline/display.c Brian Fox, Chet Ramey
+lib/readline/signals.c Brian Fox, Chet Ramey
+lib/readline/kill.c Brian Fox, Chet Ramey
+lib/readline/undo.c Brian Fox, Chet Ramey
+lib/readline/input.c Brian Fox, Chet Ramey
+lib/readline/macro.c Brian Fox, Chet Ramey
+lib/readline/util.c Brian Fox, Chet Ramey
+lib/readline/callback.c Chet Ramey
+lib/readline/readline.h Brian Fox, Chet Ramey
+lib/readline/chardefs.h Brian Fox, Chet Ramey
+lib/readline/keymaps.h Brian Fox, Chet Ramey
+lib/readline/rldefs.h Brian Fox, Chet Ramey
+lib/readline/posixstat.h Brian Fox, Chet Ramey
+lib/readline/ansi_stdlib.h Brian Fox, Chet Ramey
+lib/readline/memalloc.h Chet Ramey
+lib/readline/rlconf.h Chet Ramey
+lib/readline/rltty.h Chet Ramey
+lib/readline/history.c Brian Fox, Chet Ramey
+lib/readline/histexpand.c Brian Fox, Chet Ramey
+lib/readline/histfile.c Brian Fox, Chet Ramey
+lib/readline/histsearch.c Brian Fox, Chet Ramey
+lib/readline/history.h Brian Fox, Chet Ramey
+lib/readline/histlib.h Brian Fox, Chet Ramey
+lib/readline/tilde.c Brian Fox, Chet Ramey
+lib/readline/tilde.h Brian Fox, Chet Ramey
+lib/readline/doc/texindex.c bug-texinfo@prep.ai.mit.edu, Chet Ramey
+lib/readline/doc/Makefile Brian Fox, Chet Ramey
+lib/readline/doc/rlman.texinfo Brian Fox, Chet Ramey
+lib/readline/doc/rltech.texinfo Brian Fox, Chet Ramey
+lib/readline/doc/rluser.texinfo Brian Fox, Chet Ramey
+lib/readline/doc/hist.texinfo Brian Fox, Chet Ramey
+lib/readline/doc/hstech.texinfo Brian Fox, Chet Ramey
+lib/readline/doc/hsuser.texinfo Brian Fox, Chet Ramey
+lib/readline/examples/Makefile Brian Fox
+lib/readline/examples/fileman.c Brian Fox
+lib/readline/examples/manexamp.c Brian Fox
+lib/readline/examples/histexamp.c Brian Fox, Chet Ramey
+lib/readline/examples/rltest.c Brian Fox, Chet Ramey
+lib/readline/examples/Inputrc Brian Fox, Chet Ramey
+lib/termcap/Makefile.in David MacKenzie, Chet Ramey
+lib/termcap/termcap.c David MacKenzie
+lib/termcap/termcap.h David MacKenzie
+lib/termcap/tparam.c David MacKenzie
+lib/termcap/version.c David MacKenzie
+lib/termcap/grot/termcap.info David MacKenzie
+lib/termcap/grot/termcap.info-1 David MacKenzie
+lib/termcap/grot/termcap.info-2 David MacKenzie
+lib/termcap/grot/termcap.info-3 David MacKenzie
+lib/termcap/grot/termcap.info-4 David MacKenzie
+lib/termcap/grot/NEWS David MacKenzie
+lib/termcap/grot/INSTALL David MacKenzie
+lib/termcap/grot/ChangeLog David MacKenzie
+lib/termcap/grot/texinfo.tex David MacKenzie
+lib/termcap/grot/termcap.texi David MacKenzie
+lib/termcap/grot/Makefile.in David MacKenzie
+lib/termcap/grot/configure David MacKenzie
+lib/termcap/grot/configure.in David MacKenzie
+lib/termcap/grot/COPYING David MacKenzie
+lib/termcap/grot/README David MacKenzie
+lib/tilde/ChangeLog Brian Fox, Chet Ramey
+lib/tilde/Makefile.in Brian Fox, Chet Ramey
+lib/tilde/doc/tilde.texi Brian Fox, Chet Ramey
+lib/tilde/doc/Makefile Brian Fox, Chet Ramey
+lib/tilde/tilde.c Brian Fox, Chet Ramey
+lib/tilde/tilde.h Brian Fox, Chet Ramey
+lib/tilde/memalloc.h Brian Fox, Chet Ramey
+CWRU/misc/open-files.c Chet Ramey
+CWRU/misc/sigs.c Chet Ramey
+CWRU/misc/pid.c Chet Ramey
+CWRU/misc/sigstat.c Chet Ramey
+CWRU/misc/bison Chet Ramey
+CWRU/misc/aux-machine-desc Chet Ramey
+CWRU/PLATFORMS Chet Ramey
+CWRU/README Chet Ramey
+CWRU/CWRU.CHANGES.051093 Chet Ramey
+CWRU/POSIX.NOTES Chet Ramey
+CWRU/CWRU.CHANGES.071193 Chet Ramey
+CWRU/CWRU.CHANGES.090393 Chet Ramey
+doc/Makefile.in Brian Fox, Chet Ramey
+doc/bash.1 Chet Ramey
+doc/builtins.1 Chet Ramey
+doc/bash.ps Chet Ramey
+doc/bash.txt Chet Ramey
+doc/readline.3 Chet Ramey
+doc/readline.ps Chet Ramey
+doc/readline.txt Chet Ramey
+doc/texinfo.tex Richard Stallman
+doc/features.texi Brian Fox, Chet Ramey
+doc/features.ps Brian Fox, Chet Ramey
+doc/features.info Brian Fox, Chet Ramey
+doc/features.dvi Brian Fox, Chet Ramey
+doc/bash_builtins.1 Chet Ramey
+doc/bash_builtins.ps Chet Ramey
+doc/bash_builtins.txt Chet Ramey
+doc/bash_builtins.readme Chet Ramey
+doc/article.ms Chet Ramey
+doc/FAQ Chet Ramey
+support/cat-s Brian Fox, Chet Ramey
+support/mksysdefs Brian Fox, Chet Ramey
+support/mkversion.c Brian Fox, Chet Ramey
+support/mksignames.c Brian Fox, Chet Ramey
+support/getcppsyms.c Brian Fox, Chet Ramey
+support/cppmagic Brian Fox, Chet Ramey
+support/pagesize.sh Chet Ramey, Brian Fox
+support/pagesize.c Chet Ramey, Brian Fox
+support/bash.xbm Brian Fox
+support/FAQ Brian Fox
+support/PORTING Brian Fox
+support/mklinks Brian Fox
+support/fixlinks Chet Ramey
+support/mkdirs Chet Ramey
+support/clone-bash Chet Ramey
+support/bashbug.sh Chet Ramey
+support/mkmachtype Chet Ramey
+support/recho.c Chet Ramey
+support/config.guess Per Bothner, Chet Ramey
+support/config.sub Richard Stallman, Chet Ramey
+support/install.sh MIT X Consortium (X11R5)
+support/endian.c Chet Ramey
+support/printenv Chet Ramey
+examples/precedence-tester Brian Fox, Chet Ramey
+examples/functions/substr Brian Fox, Chet Ramey
+examples/functions/kshenv Chet Ramey
+examples/functions/autoload Chet Ramey
+examples/functions/csh-compat Brian Fox, Chet Ramey
+examples/functions/shcat Chet Ramey
+examples/functions/substr2 Chet Ramey
+examples/functions/term Chet Ramey
+examples/functions/whatis Chet Ramey
+examples/functions/whence Chet Ramey
+examples/functions/func Chet Ramey
+examples/functions/dirname Brian Fox, Noah Friedman
+examples/functions/basename Brian Fox, Noah Friedman
+examples/functions/exitstat Noah Friedman, Roland McGrath
+examples/functions/external Noah Friedman
+examples/functions/fact Brian Fox
+examples/functions/manpage Tom Tromey
+examples/functions/fstty Chet Ramey
+examples/functions/jj.bash Chet Ramey
+examples/functions/notify.bash Chet Ramey
+examples/loadables/getconf.c J.T. Conklin
+examples/scripts/shprompt Chet Ramey
+examples/scripts/adventure.sh Chet Ramey, Doug Gwyn
+examples/scripts/bcsh.sh Chris Robertson, Chet Ramey
+examples/startup-files/Bashrc Brian Fox
+examples/startup-files/Bash_aliases Brian Fox
+examples/startup-files/Bash_profile Brian Fox
+examples/startup-files/bash-profile Brian Fox
+examples/startup-files/bashrc Chet Ramey
+examples/suncmd.termcap Brian Fox, Chet Ramey
+examples/alias-conv.sh Brian Fox, Chet Ramey
+tests/README Chet Ramey
+tests/arith.tests Chet Ramey
+tests/arith.right Chet Ramey
+tests/array.tests Chet Ramey
+tests/array.right Chet Ramey
+tests/dollar-at.sh Chet Ramey
+tests/dollar-star.sh Chet Ramey
+tests/dollar.right Chet Ramey
+tests/exp-tests Chet Ramey
+tests/exp.right Chet Ramey
+tests/glob-test Chet Ramey
+tests/glob.right Chet Ramey
+tests/ifs-test-1.sh Chet Ramey
+tests/ifs-test-2.sh Chet Ramey
+tests/ifs-test-3.sh Chet Ramey
+tests/ifs.1.right Chet Ramey
+tests/ifs.2.right Chet Ramey
+tests/ifs.3.right Chet Ramey
+tests/input-line.sh Chet Ramey
+tests/input-line.sub Chet Ramey
+tests/input.right Chet Ramey
+tests/minus-e Chet Ramey
+tests/minus-e.right Chet Ramey
+tests/new-exp.tests Chet Ramey
+tests/new-exp.right Chet Ramey
+tests/prec.right Chet Ramey
+tests/precedence Chet Ramey
+tests/run-all Chet Ramey
+tests/run-dollars Chet Ramey
+tests/run-exp-tests Chet Ramey
+tests/run-glob-test Chet Ramey
+tests/run-ifs-tests Chet Ramey
+tests/run-input-test Chet Ramey
+tests/run-minus-e Chet Ramey
+tests/run-new-exp Chet Ramey
+tests/run-precedence Chet Ramey
+tests/run-set-e-test Chet Ramey
+tests/run-strip Chet Ramey
+tests/run-varenv Chet Ramey
+tests/set-e-test Chet Ramey
+tests/set-e.right Chet Ramey
+tests/strip.tests Chet Ramey
+tests/strip.right Chet Ramey
+tests/tilde-tests Chet Ramey
+tests/tilde.right Chet Ramey
+tests/unicode1.sub Chet Ramey, John Kearney
+tests/varenv.right Chet Ramey
+tests/varenv.sh Chet Ramey
+tests/misc/chld-trap.sh Chet Ramey
+tests/misc/dot-test-1.sh Chet Ramey
+tests/misc/dot-test-1.sub Chet Ramey
+tests/misc/gotest Chet Ramey
+tests/misc/perf-script Chet Ramey
+tests/misc/redir.t1.sh Chet Ramey
+tests/misc/redir.t2.sh Chet Ramey
+tests/misc/redir.t3.sh Chet Ramey
+tests/misc/redir.t3.sub Chet Ramey
+tests/misc/redir.t4.sh Chet Ramey
+tests/misc/run.r1.sh Chet Ramey
+tests/misc/run.r2.sh Chet Ramey
+tests/misc/run.r3.sh Chet Ramey
+tests/misc/sigint.t1.sh Chet Ramey
+tests/misc/sigint.t2.sh Chet Ramey
+tests/misc/sigint.t3.sh Chet Ramey
+tests/misc/sigint.t4.sh Chet Ramey
+tests/misc/test-minus-e.1 Chet Ramey
+tests/misc/test-minus-e.2 Chet Ramey
+lib/sh/Makefile.in Chet Ramey
+lib/sh/clktck.c Chet Ramey
+lib/sh/clock.c Chet Ramey
+lib/sh/fmtullong.c Chet Ramey
+lib/sh/fmtulong.c Chet Ramey
+lib/sh/getcwd.c Chet Ramey, Roland McGrath
+lib/sh/getenv.c Chet Ramey, Brian Fox
+lib/sh/inet_aton.c Chet Ramey, Ulrich Drepper, Paul Vixie
+lib/sh/itos.c Chet Ramey
+lib/sh/mailstat.c Chet Ramey
+lib/sh/makepath.c Chet Ramey
+lib/sh/mktime.c Chet Ramey, Paul Eggert
+lib/sh/netconn.c Chet Ramey
+lib/sh/netopen.c Chet Ramey
+lib/sh/oslib.c Chet Ramey, Brian Fox
+lib/sh/pathcanon.c Chet Ramey
+lib/sh/pathphys.c Chet Ramey
+lib/sh/rename.c Chet Ramey
+lib/sh/setlinebuf.c Chet Ramey, Brian Fox
+lib/sh/shquote.c Chet Ramey
+lib/sh/shtty.c Chet Ramey
+lib/sh/snprintf.c Chet Ramey, Unknown
+lib/sh/spell.c Chet Ramey
+lib/sh/strcasecmp.c Chet Ramey, Brian Fox
+lib/sh/strerror.c Chet Ramey, Brian Fox
+lib/sh/strftime.c Arnold Robbins
+lib/sh/strindex.c Chet Ramey
+lib/sh/stringlist.c Chet Ramey
+lib/sh/stringvec.c Chet Ramey
+lib/sh/strpbrk.c Roland McGrath
+lib/sh/strtod.c Chet Ramey, Roland McGrath
+lib/sh/strtoimax.c Chet Ramey, Paul Eggert
+lib/sh/strtol.c Chet Ramey, Paul Eggert
+lib/sh/strtoll.c Chet Ramey, Paul Eggert
+lib/sh/strtoul.c Chet Ramey, Paul Eggert
+lib/sh/strtoull.c Chet Ramey, Paul Eggert
+lib/sh/strtoumax.c Chet Ramey, Paul Eggert
+lib/sh/strtrans.c Chet Ramey
+lib/sh/times.c Chet Ramey, Brian Fox
+lib/sh/timeval.c Chet Ramey
+lib/sh/tmpfile.c Chet Ramey
+lib/sh/vprint.c Chet Ramey, Brian Fox
+lib/sh/xstrchr.c Chet Ramey, Mitsuru Chinen
+lib/sh/zread.c Chet Ramey
+lib/sh/zwrite.c Chet Ramey
+
+tests/posix-ifs.sh Glenn Fowler
+
+support/checkbashisms Julian Gilbey, Debian Linux team
+
+lib/readline/colors.c Richard Stallman, David MacKenzie
+lib/readline/parse-colors.c Richard Stallman, David MacKenzie
diff --git a/CHANGES b/CHANGES
new file mode 100644
index 0000000..e4e0124
--- /dev/null
+++ b/CHANGES
@@ -0,0 +1,10858 @@
+This document details the changes between this version, bash-5.2-release, and
+the previous version, bash-5.2-rc4.
+
+1. Changes to Bash
+
+2. Changes to Readline
+
+a. When replacing a history entry, make sure the existing entry has a non-NULL
+ timestamp before copying it; it may have been added by the application, not
+ the history library.
+
+3. New Features in Bash
+
+4. New Features in Readline
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.2-rc4, and
+the previous version, bash-5.2-rc3.
+
+1. Changes to Bash
+
+a. Changed how the compatibility mode enabling of extglob works in conjunction
+ with parsing conditional commands.
+
+b. Fixed a problem with aliases containing command substitutions.
+
+2. Changes to Readline
+
+3. New Features in Bash
+
+4. New Features in Readline
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.2-rc3, and
+the previous version, bash-5.2-rc2.
+
+1. Changes to Bash
+
+a. Added a compatibility mode feature that causes the parser to parse command
+ substitutions as if extglob were enabled. If it is enabled before execution,
+ parse at execution will succeed. If not, the subsequent execution parse will
+ fail.
+
+b. Fixed an issue with handling a `return' executed in a trap action if the
+ trap is executed while running in a shell function.
+
+2. Changes to Readline
+
+3. New Features in Bash
+
+4. New Features in Readline
+
+a. Readline now checks for changes to locale settings (LC_ALL/LC_CTYPE/LANG)
+ each time it is called, and modifies the appropriate locale-specific display
+ and key binding variables when the locale changes.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.2-rc2, and
+the previous version, bash-5.2-rc1.
+
+1. Changes to Bash
+
+a. Fixed a bug that could disable history saving after a compound array
+ assignment in an interactive shell.
+
+b. Fixed a bug that could cause incorrect error messages when running a DEBUG
+ trap during a conditional or arithmetic command.
+
+c. Fixed a bug that caused test to print an error message when given ! ! arg
+ as arguments.
+
+d. Fixed a bug that resulted in incorrect error messages when completing a
+ backquoted command substitution.
+
+e. Changed command substitution parsing to reproduce the original text more
+ closely when reconsituting the command string from the parsed command.
+
+f. Fixed a bug that could cause an EXIT trap to use the wrong variable context
+ when the errexit option is set.
+
+g. Fixed a bug that could cause the parser to incorrectly delimit a token when
+ an alias expansion ended with a multibyte character.
+
+2. Changes to Readline
+
+3. New Features in Bash
+
+a. Since there is no `declare -' equivalent of `local -', make sure to use
+ `local -' in the output of `local -p'.
+
+b. Null anchored matches in pattern substitution now process `&' in the
+ replacement string, like sed.
+
+4. New Features in Readline
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.2-rc1, and
+the previous version, bash-5.2-beta.
+
+1. Changes to Bash
+
+a. Changes to `wait -p' and how it sets the variable name in the presence of
+ valid and invalid PID arguments.
+
+b. Fixed a bug that caused compgen to dump core if the completion engine was
+ not initialized.
+
+c. Fixed a memory leak in the variable name programmable completion code.
+
+d. Here-documents and here-strings use tempfiles if the shell compatibility
+ level is 50 or lower.
+
+e. Non-interactive shells exit on a syntax error encountered while parsing a
+ command substitution.
+
+f. Fixed a bug with inherited parser state while parsing a command substitution.
+
+g. Fixed a bug that caused the shell not to check for terminating signals
+ after executing the command_string supplied with `-c' and before executing
+ the exit trap.
+
+h. Changes to avoid a make race condition while generating builtins.c.
+
+i. Make it explicit that BASH_REMATCH is always a global variable, and that
+ local copies are (currently) ignored.
+
+j. Fixed a bug that caused an ambiguous redirection (>&word) to be printed
+ incorrectly (>&word) if no file descriptor was supplied.
+
+2. Changes to Readline
+
+a. Fixed a bug that caused rl_eof_found to be set prematurely while reading a
+ multi-character key sequence in callback mode.
+
+3. New Features in Bash
+
+a. In posix mode, the `printf' builtin checks for the `L' length modifier and
+ uses long double for floating point conversion specifiers if it's present,
+ double otherwise.
+
+b. The `globbing' completion code now takes the `globstar' option into account.
+
+c. `suspend -f' now forces the shell to suspend even if job control is not
+ currently enabled.
+
+4. New Features in Readline
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.2-beta, and
+the previous version, bash-5.2-alpha.
+
+1. Changes to Bash
+
+a. Fixed a problem with command-oriented history and multi-line commands that
+ caused embedded blank lines to be run together.
+
+b. Changed the way `&' is quoted when performing pattern substitution and
+ `patsub_replacement' is enabled.
+
+c. Fixed some integer overflows when expanding strings or reading the output
+ of command substitution larger than 2GB.
+
+d. `wait -p' without the `-n' option now does something useful if there are no
+ jobs.
+
+e. Fixed an issue with read timeouts in posix mode.
+
+f. Changed here-document processing to process $'...' and $"..." only when they
+ appear in the WORD portion of ${PARAM OP WORD} in the here-document body
+ and the body is being expanded.
+
+g. Changed alias expansion in command substitution to be posix-conformant
+ (performed while initially parsing the command substitution) when in posix
+ mode.
+
+h. Bash optimizes away more forks in subshells.
+
+i. Here-document construction now performs quote removal on the here-document
+ delimiter only if it's marked as quoted, which prevents quote characters in
+ command substitutions from being removed.
+
+j. Prompt string expansion now gives invisible characters in the expansion of
+ the \w, \W, and \s escape sequences a visible representation to avoid
+ problems with redisplay.
+
+k. Fixed a problem with SIGINT during the execution of a command bound with
+ `bind -x' affecting the saved terminal settings.
+
+l. Fixed an inconsistency with how $@ expands in a construct like ${@:+set}
+ or ${array[@]:+set} in the presence of null positional parameters or
+ array elements.
+
+2. Changes to Readline
+
+a. Prevent some display problems when running a command as the result of a
+ trap or one bound using `bind -x' and the command generates output.
+
+b. Fixed an issue with multi-line prompt strings that have one or more
+ invisible characters at the end of a physical line.
+
+c. Fixed an issue that caused a history line's undo list to be cleared when
+ it should not have been.
+
+3. New Features in Bash
+
+a. There is a new bindable readline command name: `vi-edit-and-execute-command'.
+
+4. New Features in Readline
+
+a. Two new bindable string variables: active-region-start-color and
+ active-region-end-color. The first sets the color used to display the
+ active region; the second turns it off. If set, these are used in place
+ of terminal standout mode.
+
+b. New readline state (RL_STATE_EOF) and application-visible variable
+ (rl_eof_found) to allow applications to detect when readline reads EOF
+ before calling the deprep-terminal hook.
+
+c. There is a new configuration option: --with-shared-termcap-library, which
+ forces linking the shared readline library with the shared termcap (or
+ curses/ncurses/termlib) library so applications don't have to do it.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.2-alpha, and
+the previous version, bash-5.1-release.
+
+1. Changes to Bash
+
+a. Fixed a bug that assigned a value to the variable name supplied as an
+ argument to `wait -p' when there were no jobs.
+
+b. Fixed a bug that resulted in performing incorrect word expansion on the
+ key/value pairs in a compound array assignment.
+
+c. Fixed a bug that could put the child forked to run a command substitution
+ into the wrong process group.
+
+d. Fixed a problem that could cause the lastpipe option to work incorrectly if
+ file descriptor 0 was closed.
+
+e. Bash tries to suppress traps if a forked child receives a trapped signal
+ before it has a chance to reset its signal handlers.
+
+f. Fixed several memory leaks in compound array assignments.
+
+g. Fixed a problem with performing an assignment with `+=' to an array element
+ that was the value of a nameref.
+
+h. Fixed a bug that could cause a nameref containing an array reference using
+ `@' or `*' not to expand to multiple words.
+
+i. Fixed a bug where extended glob functions could match `.' or `..' when it
+ wasn't explicitly specified, even if dotglob was set.
+
+j. Fixed a bug that caused non-interactive posix-mode shells not to exit on a
+ variable assignment error while assigning into the temporary environment.
+
+k. Fixed a bug that caused parsing errors if an alias contained a compound
+ array assignment.
+
+l. Fixed a couple of instances where bash checked syntax too aggressively when
+ trying to determine how to add a partial command to command-oriented
+ history.
+
+m. Fixed a parser problem that caused it not to allow reserved words to follow
+ the `((' and `[[' commands.
+
+n. Fixed a bad offset calculation when using negative offsets to `history -d'.
+
+o. Fixed an off-by-one error that caused a read past the end of a buffer when
+ reading a multibyte character from the output of a command substitution.
+
+p. Fixed a problem with a failed `exec' command not setting $? to the right
+ value for an exit trap.
+
+q. Fixed a problem that caused bash not to unlink FIFOs created as part of
+ expanding redirections for an external command.
+
+r. Fixed a bug that could cause aliases not to be expanded in case statements.
+
+s. Fixed a bug that could cause word completion to attempt programmable
+ completion for the target of a redirection, instead of filename completion.
+
+t. Fixed a bug that could result in errors after rebinding a key sequence with
+ `bind -x' multiple times.
+
+u. Fixed a problem that could result in not quoting the result when performing
+ command name completion with a glob pattern in the command name.
+
+v. `mapfile' now uses fully-buffered reads in more cases, which should improve
+ bulk read performance.
+
+w. Fixed a bug that caused `wait -n' to not reset its internal state when
+ interrupted by a signal, resulting in subsequent calls failing.
+
+x. Fixed a bug with parsing numeric arguments to readline key sequences
+ installed with `bind -x'.
+
+y. Bash suppresses forking in several additional cases, including most uses
+ of $(<file).
+
+z. If there are multiple `!' tokens in a [[ command, toggle the invert state
+ instead of setting it unconditionally.
+
+aa. Fixed a bug where running `fc' on an empty history list would cause the
+ shell to crash.
+
+bb. Word completion now checks whether or not a quote character closes a
+ quoted string begun on a previous line, so readline doesn't interpret the
+ quote as starting a new quoted string.
+
+cc. Fixed a typo that translated \UNNNNNNNN characters that were not valid in
+ the current locale encoding as \uNNNNNNNN.
+
+dd. Fixed an issue that could cause bash to print timing statistics for the
+ wrong command when `set -e' causes a command to fail.
+
+ee. Bash now runs the exit trap in function context if a failed command in
+ the function causes the shell to exit.
+
+ff. Some fixes to how subshells modify $SHLVL.
+
+gg. Fixed a bug that caused `mapfile -t' not to remove the delimiter when the
+ delimiter is > 128 in the current encoding.
+
+hh. Fixed a problem that could cause the shell to attempt to free unallocated
+ memory if an expansion error occurred.
+
+ii. Fixed a bug in the bash malloc implementation of malloc_usable_size. Bash
+ did not use it, but it could cause problems with library functions that
+ did.
+
+jj. If the `exec' builtin fails, and the shell does not exit, it restores
+ trapped signals to their trapped state.
+
+kk. Fixed a bug that could cause variable assignment arguments to `declare' to
+ expand variables using attributes that the call to declare was turning off.
+
+ll. Fixed a bug with LINENO and arithmetic for commands.
+
+mm. Fixed a posix-mode bug that caused tildes not to be expanded after an
+ unquoted colon on the right side of an assignment statement.
+
+nn. Fixed a problem with `caller' and line numbers when executing an ERR trap.
+
+oo. Fixed a problem that could make the value returned by ${a:=b} not be the
+ final value assigned to a (e.g., if `a' has an attribute that modifies
+ the value on assignment).
+
+pp. Fixed a problem with saving multi-line here-documents to the history list
+ where the here-document delimiter does not appear on the first line.
+
+qq. Fixed a bug with using += to assign to dynamic variables like RANDOM.
+
+rr. Fixed a bug that caused `set -n' to modify $? if set after execution had
+ started.
+
+ss. Builtins like printf/read/wait now behave more consistently when assigning
+ arbitrary keys to associative arrays (like `]'. when appropriately quoted).
+
+tt. Fixed a problem with here-document collection printing the wrong prompt
+ when parsing a compound list in an interactive shell.
+
+uu. Fixed a problem with quoting shell expansion characters (like `$') when
+ they appear in a tab-completed word along with characters that do need
+ quoting (e.g.. $HOME/VirtualBox VMs).
+
+2. Changes to Readline
+
+a. Fixed a problem with cleaning up active marks when using callback mode.
+
+b. Fixed a problem with arithmetic comparison operators checking the version.
+
+c. Fixed a problem that could cause readline not to build on systems without
+ POSIX signal functions.
+
+d. Fixed a bug that could cause readline to crash if the application removed
+ the callback line handler before readline read all typeahead.
+
+e. Added additional checks for read errors in the middle of readline commands.
+
+f. Fixed a redisplay problem that occurred when switching from the digit-
+ argument prompt `(arg: N)' back to the regular prompt and the regular
+ prompt contained invisible characters.
+
+g. Fixed a problem with restoring the prompt when aborting an incremental
+ search.
+
+h. Fix a problem with characters > 128 not being displayed correctly in certain
+ single-byte encodings.
+
+i. Fixed a problem with unix-filename-rubout that caused it to delete too much
+ when applied to a pathname consisting only of one or more slashes.
+
+j. Fixed a display problem that caused the prompt to be wrapped incorrectly if
+ the screen changed dimensions during a call to readline() and the prompt
+ became longer than the screen width.
+
+k. Fixed a problem that caused the \r output by turning off bracketed paste
+ to overwrite the line if terminal echo was disabled.
+
+l. Fixed a bug that could cause colored-completion-prefix to not display if
+ completion-prefix-display-length was set.
+
+m. Fixed a problem with line wrapping prompts when a group of invisible
+ characters runs to the right edge of the screen and the prompt extends
+ longer then the screen width.
+
+n. Fixed a couple problems that could cause rl_end to be set incorrectly by
+ transpose-words.
+
+3. New Features in Bash
+
+a. The bash malloc returns memory that is aligned on 16-byte boundaries.
+
+b. There is a new internal timer framework used for read builtin timeouts.
+
+c. Rewrote the command substitution parsing code to call the parser recursively
+ and rebuild the command string from the parsed command. This allows better
+ syntax checking and catches errors much earlier. Along with this, if
+ command substitution parsing completes with here-documents remaining to be
+ read, the shell prints a warning message and reads the here-document bodies
+ from the current input stream.
+
+d. The `ulimit' builtin now treats an operand remaining after all of the options
+ and arguments are parsed as an argument to the last command specified by
+ an option. This is for POSIX compatibility.
+
+e. Here-document parsing now handles $'...' and $"..." quoting when reading the
+ here-document body.
+
+f. The `shell-expand-line' and `history-and-alias-expand-line' bindable readline
+ commands now understand $'...' and $"..." quoting.
+
+g. There is a new `spell-correct-word' bindable readline command to perform
+ spelling correction on the current word.
+
+h. The `unset' builtin now attempts to treat arguments as array subscripts
+ without parsing or expanding the subscript, even when `assoc_expand_once'
+ is not set.
+
+i. There is a default value for $BASH_LOADABLES_PATH in config-top.h.
+
+j. Associative array assignment and certain instances of referencing (e.g.,
+ `test -v') now allow `@' and `*' to be used as keys.
+
+k. Bash attempts to expand indexed and associative array subscripts only
+ once when executing shell constructs and word expansions.
+
+l. The `unset' builtin allows a subscript of `@' or `*' to unset a key with
+ that value for associative arrays instead of unsetting the entire array
+ (which you can still do with `unset arrayname'). For indexed arrays, it
+ removes all elements of the array without unsetting it (like `A=()').
+
+m. Additional builtins (printf/test/read/wait) do a better job of not
+ parsing array subscripts if array_expand_once is set.
+
+n. New READLINE_ARGUMENT variable set to numeric argument for readline commands
+ defined using `bind -x'.
+
+o. The new `varredir_close' shell option causes bash to automatically close
+ file descriptors opened with {var}<fn and other styles of varassign
+ redirection unless they're arguments to the `exec' builtin.
+
+p. The `$0' special parameter is now set to the name of the script when running
+ any (non-interactive) startup files such as $BASH_ENV.
+
+q. The `enable' builtin tries to load a loadable builtin using the default
+ search path if `enable name' (without any options) attempts to enable a
+ non-existent builtin.
+
+r. The `printf' builtin has a new format specifier: %Q. This acts like %q but
+ applies any specified precision to the original unquoted argument, then
+ quotes and outputs the result.
+
+s. The new `noexpand_translations' option controls whether or not the translated
+ output of $"..." is single-quoted.
+
+t. There is a new parameter transformation operator: @k. This is like @K, but
+ expands the result to separate words after word splitting.
+
+u. There is an alternate array implementation, selectable at `configure' time,
+ that optimizes access speed over memory use (use the new configure
+ --enable-alt-array-implementation option).
+
+v. If an [N]<&WORD- or [N]>&WORD- redirection has WORD expand to the empty
+ string, treat the redirection as [N]<&- or [N]>&- and close file descriptor
+ N (default 0).
+
+w. Invalid parameter transformation operators are now invalid word expansions,
+ and so cause fatal errors in non-interactive shells.
+
+x. New shell option: patsub_replacement. When enabled, a `&' in the replacement
+ string of the pattern substitution expansion is replaced by the portion of
+ the string that matched the pattern. Backslash will escape the `&' and
+ insert a literal `&'.
+
+y. `command -p' no longer looks in the hash table for the specified command.
+
+z. The new `--enable-translatable-strings' option to `configure' allows $"..."
+ support to be compiled in or out.
+
+aa. The new `globskipdots' shell option forces pathname expansion never to
+ return `.' or `..' unless explicitly matched. It is enabled by default.
+
+bb. Array references using `@' and `*' that are the value of nameref variables
+ (declare -n ref='v[@]' ; echo $ref) no longer cause the shell to exit if
+ set -u is enabled and the array (v) is unset.
+
+4. New Features in Readline
+
+a. There is now an HS_HISTORY_VERSION containing the version number of the
+ history library for applications to use.
+
+b. History expansion better understands multiple history expansions that may
+ contain strings that would ordinarily inhibit history expansion (e.g.,
+ `abc!$!$').
+
+c. There is a new framework for readline timeouts, including new public
+ functions to set timeouts and query how much time is remaining before a
+ timeout hits, and a hook function that can trigger when readline times
+ out. There is a new state value to indicate a timeout.
+
+d. Automatically bind termcap key sequences for page-up and page-down to
+ history-search-backward and history-search-forward, respectively.
+
+e. There is a new `fetch-history' bindable command that retrieves the history
+ entry corresponding to its numeric argument. Negative arguments count back
+ from the end of the history.
+
+f. `vi-undo' is now a bindable command.
+
+g. There is a new option: `enable-active-region'. This separates control of
+ the active region and bracketed-paste. It has the same default value as
+ bracketed-paste, and enabling bracketed paste enables the active region.
+ Users can now turn off the active region while leaving bracketed paste
+ enabled.
+
+h. rl_completer_word_break_characters is now `const char *' like
+ rl_basic_word_break_characters.
+
+i. Readline looks in $LS_COLORS for a custom filename extension
+ (*.readline-colored-completion-prefix) and uses that as the default color
+ for the common prefix displayed when `colored-completion-prefix' is set.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.1-rc3, and
+the previous version, bash-5.1-rc2.
+
+1. Changes to Bash
+
+a. The `assoc_expand_once' option now affects the evaluation of the -v primary
+ to test and the [[ compound command.
+
+2. Changes to Readline
+
+a. Fixed a bug that could cause point to be set beyond the end of the line
+ buffer when aborting an incremental search.
+
+3. New Features in Bash
+
+4. New Features in Readline
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.1-rc2, and
+the previous version, bash-5.1-rc1.
+
+1. Changes to Bash
+
+a. Process substitutions started from an interactive shell no longer have their
+ standard input implicitly redirected from /dev/null.
+
+b. Fixed an issue with setting the SIGINT trap handler in an interactive shell
+ when temporarily running $PROMPT_COMMAND non-interactively.
+
+2. Changes to Readline
+
+a. Terminals that are named "dumb" or unknown do not enable bracketed paste
+ by default.
+
+b. Ensure that disabling bracketed paste turns off highlighting the incremental
+ search string when the search is successful.
+
+3. New Features in Bash
+
+4. New Features in Readline
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.1-rc1, and
+the previous version, bash-5.1-beta.
+
+1. Changes to Bash
+
+a. Fixed an inconsistency in the way HISTCMD is calculated when it's expanded
+ during a multi-line command.
+
+b. Modified the change to here-document expansion containing backslash-quoted
+ double quotes.
+
+c. Fixed a case where the shells's exit status could be greater than 255.
+
+d. Modified changed to process substitution so the executed command has its
+ stdin redirected from /dev/null if it was previously interactive and
+ reading commands from the terminal.
+
+2. New Features in Bash
+
+a. There is a new contributed loadable builtin: asort.
+
+3. Changes to Readline
+
+a. Fixed a bug that could cause an application with an application-specific
+ redisplay function to crash if the line data structures had not been
+ initialized.
+
+4. New Features in Readline
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.1-beta, and
+the previous version, bash-5.1-alpha.
+
+1. Changes to Bash
+
+a. Fixed a bug that caused name references to variables to not update the
+ referenced variable's assignment side effects.
+
+b. Tightened up the parameter transformation error checking for invalid
+ transformation operators.
+
+c. System-specific changes for: FreeBSD
+
+d. A few minor changes to move potential uses of stdio functions out of signal
+ handling paths.
+
+e. Make sure SIGCHLD is blocked in all cases where waitchld() is not called
+ from a signal handler.
+
+f. Changed `command' builtin processing so it no longer starts an extra process
+ when run asynchronously (command x &).
+
+g. Avoid performing tilde expansion after `:' in words that look like assignment
+ statements when in posix mode.
+
+h. Slight changes to how the `complete' builtin prints out options and actions
+ for completion specifications.
+
+i. Several changes to how `local -' restores the values of options and
+ $SHELLOPTS.
+
+j. Don't treat a word in a compound assignment as an assignment statement
+ unless it has a valid subscript before the `='.
+
+k. Fixed a bug with the DEBUG trap and process substitution that caused the
+ terminal's process group to be set incorrectly.
+
+l. Fixed a bug that left readline's signal handlers installed while running a
+ shell command from a bindable readline command.
+
+m. Fixed the `fc' builtin to clamp out of range history specifications at the
+ boundaries of the history list for POSIX conformance.
+
+n. Fixed a bug that caused ${foo@a} to treat foo as an unset variable if it
+ was an array without a value for subscript 0/"0" but had other set
+ elements.
+
+o. Fixed a bug that caused the history code to attempt to parse command
+ substitutions looking for shell comments before adding them to the history,
+ even while parsing here-documents.
+
+p. Fixed a bug that could cause a syntax error in a command read by `eval' to
+ exit an interactive shell.
+
+2. New Features in Bash
+
+a. If the hash builtin is listing hashed filenames portably, don't print
+ anything if the table is empty.
+
+b. GLOBIGNORE now ignores `.' and `..' as a terminal pathname component.
+
+c. Bash attempts to optimize away forks in the last command in a function body
+ under appropriate circumstances.
+
+d. The globbing code now uses fnmatch(3) to check collation elements (if
+ available) even in cases without multibyte characters.
+
+e. The `fg' and `bg' builtins now return an error in a command substitution
+ when asked to restart a job inherited from the parent shell.
+
+f. The shell now attempts to unlink all FIFOs on exit, whether a consuming
+ process has finished with them or not.
+
+3. Changes to Readline
+
+a. Make sure that all undo groups are closed when leaving vi insertion mode.
+
+b. Make sure that the vi-mode `C' and `c' commands enter insert mode even if
+ the motion command doesn't have any effect.
+
+c. Fixed several potential memory leaks in the callback mode context handling.
+
+d. If readline is handling a SIGTTOU, make sure SIGTTOU is blocked while
+ executing the terminal cleanup code, since it's no longer run in a signal
+ handling context.
+
+4. New Features in Readline
+
+a. The signal cleanup code now blocks SIGINT while processing after a SIGINT.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.1-alpha, and
+the previous version, bash-5.0-release.
+
+1. Changes to Bash
+
+a. Fixed a bug that caused a posix-mode shell to not exit if the return builtin
+ was executed outside a function or dot script.
+
+b. Fixed a bug where `declare +f' could potentially turn off the function
+ attribute.
+
+c. Restored bash-4.4 pathname expansion behavior when a word to be expanded had
+ only backslashes, not any of the other globbing characters. This came after
+ an extensive POSIX group discussion (interp #1234).
+
+d. There are more changes to avoid performing word expansions multiple times on
+ arithmetic expressions.
+
+e. Fixed a bug with alias expansion when the alias ends with a TAB.
+
+f. Fixed a bug that caused programmable completion to return an error if the
+ shell function name supplied as an argument to `complete -F' was invalid.
+
+g. There are several fixes to buffer overflows found as the result of fuzzing
+ with random input.
+
+h. Fixed a bug that caused the edit-and-execute-command editing command to
+ start with the previous history line if invoked on an empty line.
+
+i. Fixed a bug that potentially caused `bind --help' to change readline's
+ output stream.
+
+j. Turning off posix mode now restores the vi-insertion mode binding for TAB
+ that was in effect when posix mode was enabled.
+
+k. Restore the previous state of job control being enabled if `exec' fails in
+ an interactive shell.
+
+l. Fixed a bug that caused the terminal's process group to be set incorrectly
+ if job control was turned off before starting an interactive shell.
+
+m. Fixed a bug that caused a crash when HISTSIZE=0.
+
+n. Fixed a word expansion bug that caused null strings on the rhs of expansions
+ to be discarded incorrectly.
+
+o. History list management does a better job of handling the situation where
+ the number of history entries from the current shell session is greater than
+ the number of entries in the history list.
+
+p. Fixed a bug that caused the `fc' builtin to attempt to dereference a newly-
+ freed history entry.
+
+q. Fixed a bug that made the `Q' variable transformation not work well with
+ `set -u'.
+
+r. There are several word expansion fixes for expanding $* and $@ in contexts
+ where word splitting is not going to be performed, since each positional
+ parameter must expand to a separate word.
+
+s. Fixed a bug that could cause ^D to exit bash immediately even if there were
+ stopped jobs.
+
+t. Fixed a bug with double-quoting and backslash-quoting strings containing
+ multibyte characters for reuse.
+
+u. Fixed a bug that caused the line number to be reported incorrectly if the
+ shell executed a (command) subshell.
+
+v. Fixed a bug that caused the shell to fail to reap process substitutions
+ when they went out of scope, which had unpredictable results.
+
+w. Fixed a bug that caused null strings in arguments to [[ conditional command
+ operators to compare incorrectly.
+
+x. Changed the behavior of `wait' without arguments to only wait for background
+ processes the current shell instance started, not background children it may
+ have inherited.
+
+y. Fixed a bug that could cause command substitution to leave file descriptors
+ open if the shell received many SIGINTs.
+
+z. Bash now behaves better if the `**' filename expansion operator encounters a
+ symbolic link to a directory, avoiding more cases where it might return
+ duplicate pathnames.
+
+aa. Programmable completion now canonicalizes directory names in the same way
+ as bash word completion, so `..' is handled consistently.
+
+bb. Fixed a bug when using RETURN as the delimiter to the read builtin; it
+ caused readline to set the binding for RETURN incorrectly.
+
+cc. Fixed a bug that caused `history -d' to delay printing an out-of-range
+ error message.
+
+dd. Fixed a bug with `bash -c command' where `command' ends with an expanded
+ alias.
+
+ee. Fixed a bug that could result in `history -n' adding spurious line feeds to
+ commands in the history list.
+
+ff. The $RANDOM random number generator now XORs the top and bottom halves of
+ the internal 32-bit value to introduce more randomness. Setting the shell
+ compatibility level to 50 or lower undoes this.
+
+gg. Fixed several problems caused by running the DEBUG trap on simple commands
+ executed as part of a pipeline.
+
+ii. Fixed a bug that didn't allow `bind -r' to remove the binding for \C-@.
+
+jj. Several fixes to the bash-backward-shellword bindable readline command to
+ behave better when at the last character on the line.
+
+kk. If `set -x' is enabled, bash doesn't print a command twice if it's run by
+ the `command' builtin.
+
+ll. Fixed a bug with printing function definitions containing here documents.
+
+mm. Fixed a bug that could cause the `bind' builtin to set $? to -1.
+
+nn. Fixed a bug that didn't reset the timezone information correctly when the
+ TZ variable was unset.
+
+oo. Fixed several issues with assigning an associative array variable using a
+ compound assignment that expands the value of the same variable.
+
+pp. Fixed several places where the shell set $? without setting PIPESTATUS.
+
+qq. Fixed a problem with glob bracket expressions containing invalid character
+ classes, collating symbols, or equivalence classes -- they should not
+ require a closing right bracket.
+
+rr. Fixed a bug where running a builtin in a subshell did not run the EXIT trap.
+
+ss. Fixed several problems with posix-mode variable assignments preceding
+ shell function calls and posix special builtins, so that they create and
+ modify variables at the current scope.
+
+tt. Fix history initialization so `bash +o history' works as expected.
+
+uu. Fixed a bug in the bindable edit-and-execute-command command that could
+ interfere with the shell's parsing state.
+
+vv. Fixed an issue with nested traps running command substitutions in command
+ lines with command substitutions.
+
+ww. Fixed a bug with globbing pathnames that contain invalid multibyte
+ characters (sequences that don't correspond to a character in the current
+ locale).
+
+xx. Fixed a bug that caused the shell not to exit if a function definition
+ failed while errexit was enabled.
+
+yy. Process substitution processes now get their input from /dev/null, since
+ they are asynchronous, not interactive, and not jobs.
+
+zz. Setting nocaseglob no longer turns on case-insensitive regexp matching.
+
+aaa. Fixed a bug that resulted in extra blank lines being added to some history
+ entries containing here-documents.
+
+bbb. Fixed a bug that resulted in incorrect matching of some patterns in word
+ expansion if they expanded to the empty string.
+
+ccc. Fixed here-string expansion so it behaves the same as expansion of the
+ rhs of an assignment statement.
+
+ddd. Changed here-document parsing to no longer allow the end of the here
+ document to delimit a command substitution.
+
+eee. Several fixes to history expansion: multiple :p modifiers work, a ^ word
+ designator works as part of a range, and a `-' is treated as part of a
+ search string if it immediately follows a `!'.
+
+fff. Fixed a bug in pattern substitution with null matches in a string
+ containing multibyte characters.
+
+ggg. Unbinding a key sequence bound with `bind -x' now removes the key sequence
+ from the additional keymap `bind -x' uses.
+
+hhh. Fixed a bug with command start detection for completion so that it doesn't
+ mistake brace expansion for the start of a command.
+
+iii. Fixed a bug that caused local variables with the same name as variables
+ appearing in a function's temporary environment to not be marked as local.
+
+jjj. Fixed a bug that could cause SIGCHLD to be blocked when executing return
+ or exec in the rightmost pipeline element with lastpipe enabled.
+
+kkk. Fixed a bug that could result in commands without the execute bit set
+ being added to the command hash table.
+
+lll. Fixed a bug that allowed non-digits to follow the `#' in a `base#number'
+ integer constant.
+
+mmm. Fixed a bug that made `time -- command' attempt to execute `--'.
+
+nnn. Fixed a couple of bugs with variable transformation using arrays
+ subscripted with `*' or `@'.
+
+ooo. A failure to create a variable using `declare' in a function no longer
+ causes the function to return immediately.
+
+ppp. Fixed a bug that could cause the := word expansion to add a non-null
+ value if attempting to assign a null string when double-quoted.
+
+qqq. Fixed a bug that could cause backslashes quoting double quotes in here
+ document bodies to not be removed when expanding the body.
+
+rrr. Fixed a bug that caused commands following a subshell while the shell is
+ reading input from stdin but not interactive, while job control is
+ enabled, to be executed twice.
+
+sss. Fixed a bug where receiving SIGTERM from a different process while
+ readline was active could cause the shell to terminate.
+
+ttt. In posix mode, running a trap after the read builtin now sees the exit
+ status of the read builtin (e.g., 130 after a SIGINT) in $?.
+
+uuu. Fixed a bug with nameref variables referencing array subscripts used in
+ arithmetic expressions.
+
+vvv. Fixed a bug that caused the pipeline process group id to be reset in the
+ middle of a command list run by a shell started to run a command
+ substitution.
+
+www. Restricted shells can no longer read and write history files with pathnames
+ containing slashes.
+
+xxx. Fixed a couple of problems with 0 and -0 used as arguments to `fc' when
+ not listing commands from the history.
+
+yyy. When `test' is supplied four or more arguments, treat an argument that
+ looks like an operator (e.g., -e), but is in a place where only a string
+ is valid, as a string, as it would be when using the POSIX rules, instead
+ of an operator with a missing argument.
+
+zzz. There is no `compat50' shopt option. Changes to the shell compatibility
+ level should use the BASH_COMPAT variable.
+
+aaaa. Redirection failures with compound commands are now treated as errors
+ that cause the shell to exit if `errexit' is enabled.
+
+bbbb. Redirection failure error messages no longer expand the word in the
+ redirection again.
+
+cccc. History expansion is no longer performed while parsing a here-document
+ inside a command substitution.
+
+2. Changes to Readline
+
+a. There are a number of fixes that were found as the result of fuzzing with
+ random input.
+
+b. Changed the revert-all-at-newline behavior to make sure to start at the end
+ of the history list when doing it, instead of the line where the user hit
+ return.
+
+c. When parsing `set' commands from the inputrc file or an application, readline
+ now allows trailing whitespace.
+
+d. Fixed a bug that left a file descriptor open to the history file if the
+ file size was 0.
+
+e. Fixed a problem with binding key sequences containing meta characters.
+
+f. Fixed a bug that caused the wrong line to be displayed if the user tried to
+ move back beyond the beginning of the history list, or forward past the end
+ of the history list.
+
+g. If readline catches SIGTSTP, it now sets a hook that allows the calling
+ application to handle it if it desires.
+
+h. Fixed a redisplay problem with a prompt string containing embedded newlines.
+
+i. Fixed a problem with completing filenames containing invalid multibyte
+ sequences when case-insensitive comparisons are enabled.
+
+j. Fixed a redisplay problem with prompt strings containing invisible multibyte
+ characters.
+
+k. Fixed a problem with multibyte characters mapped to editing commands that
+ modify the search string in incremental search.
+
+l. Fixed a bug with maintaining the key sequence while resolving a bound
+ command in the presence of ambiguous sequences (sequences with a common
+ prefix), in most cases while attempting to unbind it.
+
+m. Fixed several buffer overflows found as the result of fuzzing.
+
+n. Reworked backslash handling when translating key sequences for key binding
+ to be more uniform and consistent, which introduces a slight backwards
+ incompatibility.
+
+o. Fixed a bug with saving the history that resulted in errors not being
+ propagated to the calling application when the history file is not writable.
+
+p. Readline only calls chown(2) on a newly-written history file if it really
+ needs to, instead of having it be a no-op.
+
+q. Readline now behaves better when operate-and-get-next is used when the
+ history list is `full': when there are already $HISTSIZE entries.
+
+r. Fixed a bug that could cause vi redo (`.') of a replace command not to work
+ correctly in the C or POSIX locale.
+
+s. Fixed a bug with vi-mode digit arguments that caused the last command to be
+ set incorrectly. This prevents yank-last-arg from working as intended, for
+ example.
+
+3. New Features in Bash
+
+a. `bind -x' now supports different bindings for different editing modes and
+ keymaps.
+
+b. Bash attempts to optimize the number of times it forks when executing
+ commands in subshells and from `bash -c'.
+
+c. Here documents and here strings now use pipes for the expanded document if
+ it's smaller than the pipe buffer size, reverting to temporary files if it's
+ larger.
+
+d. There are new loadable builtins: mktemp, accept, mkfifo, csv, cut/lcut
+
+e. In posix mode, `trap -p' now displays signals whose disposition is SIG_DFL
+ and those that were SIG_IGN when the shell starts.
+
+f. The shell now expands the history number (e.g., in PS1) even if it is not
+ currently saving commands to the history list.
+
+g. `read -e' may now be used with arbitrary file descriptors (`read -u N').
+
+h. The `select' builtin now runs traps if its internal call to the read builtin
+ is interrupted by a signal.
+
+i. SRANDOM: a new variable that expands to a 32-bit random number that is not
+ produced by an LCRNG, and uses getrandom/getentropy, falling back to
+ /dev/urandom or arc4random if available. There is a fallback generator if
+ none of these are available.
+
+j. shell-transpose-words: a new bindable readline command that uses the same
+ definition of word as shell-forward-word, etc.
+
+k. The shell now adds default bindings for shell-forward-word,
+ shell-backward-word, shell-transpose-words, and shell-kill-word.
+
+l. Bash now allows ARGV0 appearing in the initial shell environment to set $0.
+
+m. If `unset' is executed without option arguments, bash tries to unset a shell
+ function if a name argument cannot be a shell variable name because it's not
+ an identifier.
+
+n. The `test -N' operator uses nanosecond timestamp granularity if it's
+ available.
+
+o. Bash posix mode now treats assignment statements preceding shell function
+ definitions the same as in its default mode, since POSIX has changed and
+ no longer requires those assignments to persist after the function returns
+ (POSIX interp 654).
+
+p. BASH_REMATCH is no longer readonly.
+
+q. wait: has a new -p VARNAME option, which stores the PID returned by `wait -n'
+ or `wait' without arguments.
+
+r. Sorting the results of pathname expansion now uses byte-by-byte comparisons
+ if two strings collate equally to impose a total order; the result of a
+ POSIX interpretation (#963 and #1070).
+
+s. Bash now allows SIGINT trap handlers to execute recursively.
+
+t. Bash now saves and restores state around setting and unsetting posix mode,
+ instead of having unsetting posix mode set a known state.
+
+u. Process substitution is now available in posix mode.
+
+v. READLINE_MARK: a new variable available while executing commands bound with
+ `bind -x', contains the value of the mark.
+
+w. Bash removes SIGCHLD from the set of blocked signals if it's blocked at shell
+ startup.
+
+x. `test -v N' can now test whether or not positional parameter N is set.
+
+y. `local' now honors the `-p' option to display all local variables at the
+ current context.
+
+z. The `@a' variable transformation now prints attributes for unset array
+ variables.
+
+aa. The `@A' variable transformation now prints a declare command that sets a
+ variable's attributes if the variable has attributes but is unset.
+
+bb. `declare' and `local' now have a -I option that inherits attributes and
+ value from a variable with the same name at a previous scope.
+
+cc. When run from a -c command, `jobs' now reports the status of completed jobs.
+
+dd. New `U', `u', and `L' parameter transformations to convert to uppercase,
+ convert first character to uppercase, and convert to lowercase,
+ respectively.
+
+ee. PROMPT_COMMAND: can now be an array variable, each element of which can
+ contain a command to be executed like a string PROMPT_COMMAND variable.
+
+ff. `ulimit' has a -R option to report and set the RLIMIT_RTTIME resource.
+
+gg. Associative arrays may be assigned using a list of key-value pairs within
+ a compound assignment. Compound assignments where the words are not of
+ the form [key]=value are assumed to be key-value assignments. A missing or
+ empty key is an error; a missing value is treated as NULL. Assignments may
+ not mix the two forms.
+
+hh. New `K' parameter transformation to display associative arrays as key-
+ value pairs.
+
+ii. Writing history to syslog now handles messages longer than the syslog max
+ length by writing multiple messages with a sequence number.
+
+jj. SECONDS and RANDOM may now be assigned using arithmetic expressions, since
+ they are nominally integer variables. LINENO is not an integer variable.
+
+kk. Bash temporarily suppresses the verbose option when running the DEBUG trap
+ while running a command from the `fc' builtin.
+
+ll. `wait -n' now accepts a list of job specifications as arguments and will
+ wait for the first one in the list to change state.
+
+mm. The associative array implementation can now dynamically increase the
+ size of the hash table based on insertion patterns.
+
+nn. HISTFILE is now readonly in a restricted shell.
+
+oo. The bash malloc now returns memory that is 16-byte aligned on 64-bit
+ systems.
+
+4. New Features in Readline
+
+a. If a second consecutive completion attempt produces matches where the first
+ did not, treat it as a new completion attempt and insert a match as
+ appropriate.
+
+b. Bracketed paste mode works in more places: incremental search strings, vi
+ overstrike mode, character search, and reading numeric arguments.
+
+c. Readline automatically switches to horizontal scrolling if the terminal has
+ only one line.
+
+d. Unbinding all key sequences bound to a particular readline function now
+ descends into keymaps for multi-key sequences.
+
+e. rl-clear-display: new bindable command that clears the screen and, if
+ possible, the scrollback buffer (bound to emacs mode M-C-l by default).
+
+f. New active mark and face feature: when enabled, it will highlight the text
+ inserted by a bracketed paste (the `active region') and the text found by
+ incremental and non-incremental history searches. This is tied to bracketed
+ paste and can be disabled by turning off bracketed paste.
+
+g. Readline sets the mark in several additional commands.
+
+h. Bracketed paste mode is enabled by default.
+
+i. Readline tries to take advantage of the more regular structure of UTF-8
+ characters to identify the beginning and end of characters when moving
+ through the line buffer.
+
+j. The bindable operate-and-get-next command (and its default bindings) are
+ now part of readline instead of a bash-specific addition.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.0-release, and
+the previous version, bash-5.0-rc1.
+
+1. Changes to Bash
+
+a. Tilde expansion isn't performed on indexed array subscripts, even for
+ backwards compatibility.
+
+b. The shell doesn't exit in posix mode if the eval builtin gets a parse
+ error when run by the command builtin.
+
+c. Fixed a bug that caused a shell comment in an alias to not find the end
+ of the alias properly.
+
+d. Reverted a change from April, 2018 that caused strings containing
+ backslashes to be flagged as glob patterns.
+
+2. Changes to Readline
+
+3. New Features in Bash
+
+4. New Features in Readline
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.0-rc1, and
+the previous version, bash-5.0-beta2.
+
+1. Changes to Bash
+
+a. Fix to initial word completion detection code.
+
+b. Fixed a bug that caused issues with assignment statements containing ^A in
+ the value assigned when IFS contains ^A.
+
+c. Added a fallback to fnmatch() when strcoll can't correctly deal with
+ bracket expression character equivalence classes.
+
+d. Fixed a bug that caused $BASH_COMMAND to contain the trap handler command
+ when running a trap handler containing [[ or (( commands.
+
+e. Fixed a bug that caused nameref assignments in the temporary environment
+ to potentially create variables with invalid names.
+
+f. Fixed a bug that caused `local -' to turn off alias expansion in scripts.
+
+g. Fixed a parser issue with a command string containing EOF after an invalid
+ command as an argument to a special builtin not causing a posix-mode shell
+ to exit.
+
+h. Made a slight change to the FNV-1 string hash algorithm used for associative
+ arrays (corrected the initial seed).
+
+2. Changes to Readline
+
+3. New Features in Bash
+
+a. The `select' command now supports command forms without a word list
+ following `in'.
+
+4. New Features in Readline
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.0-beta2, and
+the previous version, bash-5.0-beta.
+
+1. Changes to Bash
+
+a. Fixed a bug that could cause a seg fault while parsing a subshell command
+ inside a command substitution.
+
+b. Fixed several small memory leaks uncovered by coverity.
+
+c. Fixed a problem with command substitution inside an interactive shell that
+ could cause the parent to receive a SIGHUP.
+
+d. Fixed a problem with using `*' and `@' as subscripts when assigning values
+ to an associative array with assoc_expand_once enabled.
+
+e. Fixed a bug that could cause a huge memory allocation when completing a
+ word beginning with an invalid tilde expansion.
+
+f. Cleaned up some incompatibilities with bash-4.4 when expanding indexed array
+ subscripts used in arithmetic expansions when assoc_expand_once is enabled.
+
+g. The ${parameter@a} expansion will display attributes even if `parameter' is
+ unset.
+
+h. Fixed a bug that caused the output of `set' to cut off some variables before
+ printing the value.
+
+i. Treat a failure to assign a variable when using the ${x:=value} expansion
+ as an expansion error, so non-interactive posix-mode shells exit
+
+j. Fixed a problem when expanding $* in a context where word splitting is not
+ performed when IFS is NULL.
+
+k. Temp files used to store here documents are forced readable, no matter what
+ the user's umask says.
+
+l. Fixed a problem where an interrupted brace expansion could cause the shell
+ to attempt to free an invalid memory location.
+
+m. Make sure to check for any terminating signals after running a trap
+ handler; don't wait until the next time we process traps.
+
+n. Fixed a bug that caused "return" to act like a special builtin with respect
+ to variable assignments even when preceded by "command".
+
+o. POSIX-mode shells now return failure if the cd builtin fails due to the
+ absolute directory name being longer than PATH_MAX, instead of trying
+ again with a relative pathname.
+
+p. Fixed a problem with FUNCNAME occasionally being visible when not executing
+ a shell function.
+
+q. Fixed a problem with the expansions performed on the WORD in the case
+ command.
+
+r. Fixed a slight POSIX compatibility when removing "IFS whitespace" during
+ word splitting and the read builtin.
+
+s. Fixed a problem with expanding an array with subscript `*' when all the
+ elements expand to the empty string, and making sure the expansion honors
+ the `:' specifier.
+
+2. Changes to Readline
+
+a. Fixed a bug with adding multibyte characters to an incremental search string.
+
+b. Fixed a bug with redoing text insertions in vi mode.
+
+c. Fixed a bug with pasting text into an incremental search string if bracketed
+ paste mode is enabled. ESC cannot be one of the incremental search
+ terminator characters for this to work.
+
+d. Fixed a bug with anchored search patterns when performing searches in vi
+ mode.
+
+3. New Features in Bash
+
+a. Associative and indexed arrays now allow subscripts consisting solely of
+ whitespace.
+
+b. `checkwinsize' is now enabled by default.
+
+c. The `localvar_unset' shopt option is now visible and documented.
+
+d. The `progcomp_alias' shopt option is now visible and documented.
+
+e. The signal name processing code now understands `SIGRTMIN+n' all the way
+ up to SIGRTMAX.
+
+f. There is a new `seq' loadable builtin.
+
+g. Trap execution now honors the (internal) max invocations of `eval', since
+ traps are supposed to be executed as if using `eval'.
+
+h. The $_ variable doesn't change when the shell executes a command that forks.
+
+i. The `kill' builtin now supports -sSIGNAME and -nSIGNUM, even though
+ conforming applications aren't supposed to use them.
+
+j. POSIX mode now enables the `shift_verbose' option.
+
+4. New Features in Readline
+
+a. Readline now allows application-defined keymap names; there is a new public
+ function, rl_set_keymap_name(), to do that.
+
+b. The "Insert" keypad key, if available, now puts readline into overwrite
+ mode.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.0-beta, and
+the previous version, bash-5.0-alpha.
+
+1. Changes to Bash
+
+a. Fixed a bug that allowed subshells to "inherit" enclosing loops -- this
+ is where POSIX says the subshell is not "enclosed" by the loop.
+
+b. Added more UTF-8-specific versions of multibyte functions, and optimized
+ existing functions if the current locale uses UTF-8 encoding.
+
+c. In POSIX mode, assignments preceding regular builtins should not persist
+ when the builtin completes.
+
+d. Added additional checks to special array assignment (e.g., BASH_ALIASES)
+ so it can't be used to bypass validity checks performed in other places.
+
+e. The `!!' history expansion now refers to the previous history entry as
+ expected, even if used on the second or subsequent line of a multi-line
+ history entry.
+
+f. Fixed a bug that could cause the shell to dereference a NULL pointer if
+ the environment (`environ') is set to NULL.
+
+g. Bash uses slightly better integer overflow handling for brace sequence
+ expansion on systems where ints are 32 bits and intmax_t is 64 bits.
+
+h. Fixed a bug setting attributes for a variable named as an argument to
+ `declare' that also appears as a nameref in the temporary environment.
+
+i. Fixed several bugs that could cause assignments to namerefs to create
+ variables with invalid names.
+
+j. Fixed a bug that could result in the SIGINT handler being set incorrectly
+ in asynchronous subshells.
+
+k. Fixed a bug that could cause `bash -t' to not execute the specified command.
+
+l. Fixed several bugs that caused the shell to operate on the wrong variable
+ when using namerefs with the same name as a global variable in shell
+ functions.
+
+m. Internal changes to how the shell handles variables with invalid names in
+ the initial environment and to prevent variables with invalid names from
+ being added to the environment instead of passing them on to children.
+
+n. Changes to make sure that an expansion that results in a quoted null string
+ is reflected in the expansion, even if the word expands to nothing.
+
+o. Changes to make sure that $* and ${array[*]} (and $@/${array[@]}) expand
+ the same way after the recent changes for POSIX interpretation 888.
+
+p. Saving and restoring the positional parameters at function entry and exit
+ is considerably more efficient; noticeably so when there are large numbers
+ of positional parameters.
+
+q. Fixed a bug that caused `lastpipe' and `pipefail' to return an incorrect
+ status for the pipeline if there was more than one external command in a
+ loop body appearing in the last pipeline element.
+
+r. Fixed a bug that caused value conversion errors with the printf builtin's
+ %u and %f conversion specifications and invalid constants.
+
+2. Changes to Readline
+
+a. Added more UTF-8-specific versions of multibyte functions, and optimized
+ existing functions if the current locale uses UTF-8 encoding.
+
+b. Fixed a problem with bracketed-paste inserting more than one character and
+ interacting with other readline functions.
+
+c. Fixed a bug that caused the history library to attempt to append a history
+ line to a non-existent history entry.
+
+d. If using bracketed paste mode, output a newline after the \r that is the
+ last character of the mode disable string to avoid overwriting output.
+
+e. Fixes to the vi-mode `b', `B', `w', `W', `e', and `E' commands to better
+ handle multibyte characters.
+
+f. Fixed a redisplay problem that caused an extra newline to be generated on
+ accept-line when the line length is exactly the screenwidth.
+
+3. New Features in Bash
+
+a. Bash no longer allows variable assignments preceding a special builtin that
+ changes variable attributes to propagate back to the calling environment
+ unless the compatibility level is 44 or lower.
+
+b. You can set the default value for $HISTSIZE at build time in config-top.h.
+
+c. The `complete' builtin now accepts a -I option that applies the completion
+ to the initial word on the line.
+
+d. The internal bash malloc now uses mmap (if available) to satisfy requests
+ greater than 128K bytes, so free can use mfree to return the pages to the
+ kernel.
+
+e. The shell doesn't automatically set BASH_ARGC and BASH_ARGV at startup
+ unless it's in debugging mode, as the documentation has always said, but
+ will dynamically create them if a script references them at the top level
+ without having enabled debugging mode.
+
+f. The localvar_inherit option will not attempt to inherit a value from a
+ variable of an incompatible type (indexed vs. associative arrays, for
+ example).
+
+g. The `globasciiranges' option is now enabled by default; it can be set to
+ off by default at configuration time.
+
+4. New Features in Readline
+
+a. The history expansion library now understands command and process
+ substitution and extended globbing and allows them to appear anywhere in a
+ word.
+
+b. The history library has a new variable that allows applications to set the
+ initial quoting state, so quoting state can be inherited from a previous
+ line.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-5.0-alpha, and
+the previous version, bash-4.4-release.
+
+1. Changes to Bash
+
+a. Fixed a bug that could cause traps in background jobs to give the terminal
+ to the wrong process group.
+
+b. Fixed a bug that caused `kill -l 0' to print an out-of-range error.
+
+c. Fixed a problem that could result in here-documents being displayed in
+ the wrong order.
+
+d. Fixed a number of out-of-bounds and free memory read errors found via
+ fuzzing.
+
+e. Fixed a subshell inheritance problem that could cause a subshell to wait for
+ the wrong process.
+
+f. Fixed a bug that caused SHLVL to be incremented one too many times when
+ creating subshells.
+
+g. A job dying due to SIGINT can now interrupt sourcing a file in a shell with
+ job control enabled.
+
+h. Fixed a spurious warning about unterminated ${ or $( constructs during
+ word completion.
+
+i. The shell no longer runs traps if a signal arrives while reading command
+ substitution output.
+
+j. Fixed an arithmetic expansion error that could allow ++var++ as valid
+ syntax.
+
+k. Fixed an error that allowed out-of-bounds references to the directory stack.
+
+l. The shell does a better job of saving multi-line history entries with
+ embedded comments.
+
+m. Fixed a bug that could cause quoted bracket expressions in regular expression
+ arguments to `[[' to not match correctly.
+
+n. Fixed a bug that could cause an IFS character in a word to result in an
+ extra '\001' character in the expansion.
+
+o. A trailing backslash in a glob pattern can match a trailing backslash in the
+ string.
+
+p. Fixed a memory leak in the process creation code path when job control is
+ enabled.
+
+q. Fixed a bug that caused `printf' to output broken surrogate pairs for
+ Japanese locales.
+
+r. Fixed a bug that caused a SIGINT generated from `kill' in a dot script to
+ kill an interactive shell.
+
+s. Fixed a bug that could cause the `read' builtin to not fully read a
+ multibyte character.
+
+t. Fixed a bug that could cause identifiers to be evaluated in conditional
+ arithmetic expressions even when evaluation is suppressed.
+
+u. Fixed a bug that could result in command substitution, when executed in a
+ context where word splitting is not performed, to leave a stray '\001'
+ character in the string.
+
+v. Fixed a bug that could cause history expansion to be disabled in a non-
+ interactive shell even if `-o histexpand' is supplied at startup.
+
+w. Fixed a bug that caused `read -N' to strip leading whitespace IFS characters.
+
+x. Fixed a bug that caused spurious tilde expansion in arithmetic expressions.
+
+y. If indirect expansion attempts to indirectly reference through an unset
+ variable, report an error.
+
+z. Added a guard to prevent the shell from looping while receiving an endless
+ stream of SIGTTIN at shell startup.
+
+aa. Fixed a bug with parsing here documents inside a command substitution when
+ looking for the closing delimiter.
+
+bb. Fixed a bug that caused printf to not quote all <blank> characters in the
+ current locale when using the `%q' format specifier.
+
+cc. Fixed a bug with bash's internal buffered I/O system that caused the input
+ pointer to not be reset when read(2) returned an EOF.
+
+dd. Bash now installs its SIGWINCH signal handler with SA_RESTART, so it will
+ not interrupt open/read/write system calls.
+
+ee. The ERR trap now reports line numbers more reliably.
+
+ff. The shell no longer tries to manipulate the terminal process group if a
+ command or process substitution is killed by SIGTERM when job control is
+ enabled.
+
+gg. Fixed a bug that caused extglob patterns to match filenames beginning with
+ a period.
+
+hh. File descriptors open for writing to here documents are no longer available
+ to subshells.
+
+ii. Make sure word completion doesn't perform command or process substitution.
+
+jj. Fixed a bug with parsing $$'...' inside a command substitution.
+
+kk. Fixed a bug that caused bash to remove backslash-newline pairs from the
+ body of a here-document with a quoted delimiter inside a command
+ substitution.
+
+ll. Fixed a bug that could cause the shell to hang when adding a pid to the
+ table of background process exit statuses.
+
+mm. Fixed a bug that could cause 0x01 characters to be doubled in the output
+ of process substitution.
+
+nn. Restricted shells now clear the hash table before making the PATH variable
+ read-only.
+
+oo. There are a number of changes to the expansion of $* and $@ in contexts
+ where word splitting does not occur (quoted and unquoted), with IFS set
+ to NULL or a non-standard value, mostly to deal with the consequences of
+ the behavior defined in Posix interpretation 888.
+
+pp. There are a number of changes to nameref variable handling to avoid
+ creating variables with invalid names.
+
+qq. A non-interactive posix mode shell no longer exits when an assignment
+ statement fails if the assignment is utimately being performed by the
+ `command' builtin.
+
+rr. When using character class names for globbing, don't allow case
+ insensitivity, even if nocaseglob is enabled.
+
+ss. Fixed a bug that allowed some redirections to stay in place if a later
+ redirection failed.
+
+tt. Fixed a bug in how command and process substitutions are recognized within
+ other parameter expansions.
+
+uu. Fixed a bug that caused bash to loop under certain circumstances when
+ performing arithmetic expansion on a variable whose value is an invalid
+ expression.
+
+vv. Fixed a bug that could cause bash to expand aliases inappropriately while
+ parsing compound commands like `case'.
+
+ww. Fixed a bug that could cause `read -N' to fail to read complete multibyte
+ characters, even when the sequences are incomplete or invalid, with or
+ without readline.
+
+xx. Fixed a bug that could cause `case' to fail to match patterns containing
+ 0x01 characters.
+
+yy. Fixed a bug that caused exported functions to contain stray 0x01 characters.
+
+zz. Fixed some inconsistencies with how the history number is handled in the
+ various prompt strings.
+
+aaa. Fixed a bug that could cause a core dump if READLINE_LINE was unset
+ inside a shell function bound to a key sequence with `bind -x'.
+
+bbb. Fixed a bug that could cause bash to not read a token terminator correctly
+ if a command substitution was used inside an arithmetic `for' command.
+
+ccc. Fixed problems that could occur with a fatal arithmetic expansion error
+ in a context (like prompt expansion) where you can't jump back to the
+ top level.
+
+ddd. Expression errors in arithmetic `for' commands are treated more like
+ shell syntax errors.
+
+eee. Fixed a parser synchronization error resulting from a syntax error
+ followed immediately by an EOF.
+
+fff. When executing a shell function, the first line in the function ($LINENO)
+ is line 1 instead of line 0, as Posix requires.
+
+ggg. In Posix mode, bash will canonicalize the value of PWD it inherits from
+ the environment and use that to set its idea of the current directory.
+
+hhh. If LINENO is exported, bash needs to regenerate its value each time it
+ constructs the environment.
+
+iii. Fixed a bug with restoring the SIGINT handler when using `wait -n'.
+
+jjj. Make sure the `coproc' command returns an appropriate status if the NAME
+ argument is invalid.
+
+kkk. Fixed a problem with arithmetic expressions containing array references
+ that contain arithmetic expressions with syntax errors.
+
+lll. The `select' command and help builtin will use $COLUMNS before the window
+ size returned from the kernel as the terminal width.
+
+mmm. `read -n 0' and `read -N 0' now try a zero-length read in an attempt to
+ detect file descriptor errors.
+
+nnn. The `read' builtin now does a better job of acting on signals that don't
+ interrupt read(2).
+
+ooo. Fixed some cases where `printf -v' did not return failure status on a
+ variable assignment error.
+
+ppp. Fixed temporary environment propagation back to the current environment
+ so that it doesn't happen for special builtins run by the `command'
+ builtin.
+
+qqq. Fixed a bug when searching for the end of a here-document delimiter in a
+ command substitution.
+
+rrr. Fixed a bug that could cause `cd ${DIRSTACK[0]}' to fail.
+
+sss. Fixed a bug that could cause reserved words to not be recognized in a
+ for statement without the `in' inside a command substitution.
+
+ttt. Fixed a bug that could cause a double-free in a timed command with an
+ expansion error.
+
+uuu. Fixed a bug that could cause a core dump if a script switches from a UTF-8
+ locale to a different locale after displaying a lone surrogate character.
+
+vvv. Fixed cases where bash prematurely removed FIFOs attached to process
+ substitutions.
+
+www. Fixed a problem with calculating the size of the table that stores exit
+ statuses from background processes when the child process resource limit
+ is very large.
+
+xxx. Fixed a memory leak with functions using `return' when using FIFOs for
+ standard input.
+
+yyy. `wait' without arguments attempts to wait for all active process
+ substitution processes.
+
+zzz. Fixed a bug where an indirect parameter was subjected to word splitting
+ when trying to find the indirected variable name.
+
+aaaa. Fixed a bug that could allow restricted shell users to add commands to
+ the hash table.
+
+bbbb. When using the `!(patlist)' extended globbing operator, a filename
+ beginning with a `.' that doesn't match any of the patterns is not
+ returned as a match if leading dots must be matched explicitly.
+
+cccc. Fixed a bug that could cause line number and source file information for
+ a function definition to be incorrect if there are multiple definitions.
+
+dddd. Fixed a bug that could cause builtins like `readonly' to behave
+ differently when applied to arrays and scalar variables within functions.
+
+eeee. Fixed a bug that could cause alias expansion to add an extra space to
+ a quoted string that begins outside the alias expansion.
+
+ffff. Fixed a bug that could result in unwanted alias expansion after timing
+ the null command.
+
+gggg. Fixed a bug that could cause a core dump if a timestamp in a history
+ file overflowed a time_t.
+
+hhhh. Restricted shells can no longer redirect from /dev/tcp or /dev/udp, since
+ the kernel calls make those file descriptors read-write.
+
+iiii. Fixed a problem with splitting double-quoted words for programmable
+ completion when the double quote immediately follows another word
+ delimiter.
+
+jjjj. Fixed a bug resulting in a use-after-free if two file descriptors share
+ the same input buffer.
+
+kkkk. The error message resulting from ${x:?} and ${x?} now differs depending
+ on whether the variable is null or unset.
+
+llll. In Posix mode, the shell exits if a variable assignment fails and precedes
+ an empty simple command (after expansion).
+
+mmmm. Fixed a timing problem with SIGALRM that could cause the read builtin to
+ drop characters.
+
+nnnn. Added code to deal with kill(2) failing to send the shell a fatal signal
+ due to Linux pid namespace peculiarities.
+
+oooo. Fixed a bug that made \C-@ (NUL) unusable in key sequences used for
+ `bind -x' commands.
+
+pppp. Fixed a bug that could cause SIGINT recursion when running an external
+ command in a trap the shell takes after a command exits due to SIGINT.
+
+qqqq. Make sure the shell turns off job control before running the command-
+ not-found handle, so the command doesn't try to manipulate process
+ groups.
+
+rrrr. Fixed a problem with timing process substitutions that caused the shell
+ to print timing information for the calling command.
+
+ssss. Fixed a bug that caused backquotes in a here-document delimiter to mark
+ the delimiter as quoted (inhibiting expansion of the here-document
+ contents).
+
+tttt. Fixed several problems with 0x01 and 0x177 in case pattern lists and
+ conditional command pattern matches.
+
+uuuu. Fixed a bug that could cause the pattern matching engine to not recognize
+ locale-specific character classes.
+
+vvvv. The auto-configuration now tests for /dev/stdin and /dev/fd independently.
+
+wwww. The `globstar' code now skips over symbolic links to directories,
+ preventing them from being scanned twice.
+
+xxxx. When running `bind -x' commands, bash now sets READLINE_POINT based on
+ the number of characters in the readline line buffer, not the number of
+ bytes.
+
+yyyy. Fixed a problem that could cause recursive trap evaluation of the RETURN
+ trap when using `eval return'.
+
+zzzz. Fixed a bug with expanding 0x01 in an unquoted here-document.
+
+aaaaa. The process substitution code now closes and unlinks FIFOs when the
+ process on the other side exits, in order to prevent SIGPIPE or
+ waiting until a FIFO opened for read has a writer.
+
+bbbbb. Fixed a bug with recursive calls to the parser overwriting the token in
+ an {id}>foo construct.
+
+ccccc. After a Posix discussion, the pattern matching engine just skips over
+ invalid character classes in bracket expressions, instead of matching
+ them like individual characters in the expression.
+
+ddddd. Fixed a posix-mode problem with variable scoping when creating variables
+ from assignment statements preceding special builtins.
+
+eeeee. Fixed a bug that could cause patterns containing backslashes to not be
+ run through the pattern matching engine.
+
+fffff. Fixed a bug that could cause redirections to compound commands to not
+ be `undone' if the file descriptor in the redirection was closed when
+ the redirection was initially processed.
+
+ggggg. Fixed a bug that could cause buffer corruption when using `bind -x' in
+ a command execute as a result of a key binding installed by `bind -x'.
+
+2. Changes to Readline
+
+a. Added a guard to prevent nested macros from causing an infinite expansion
+ loop.
+
+b. Instead of allocating enough history list entries to hold the maximum list
+ size, cap the number allocated initially.
+
+c. Added a strategy to avoid allocating huge amounts of memory if a block of
+ history entries without timestamps occurs after a block with timestamps.
+
+d. Added support for keyboard timeouts when an ESC character is the last
+ character in a macro.
+
+e. There are several performance improvements when in a UTF-8 locale.
+
+f. Readline does a better job of preserving the original set of blocked
+ signals when using pselect() to wait for input.
+
+g. Fixed a bug that caused multibyte characters in macros to be mishandled.
+
+h. Fixed several bugs in the code that calculates line breaks when expanding
+ prompts that span several lines, contain multibyte characters, and contain
+ invisible character seqeuences.
+
+i. Fixed several bugs in cursor positioning when displaying lines with prompts
+ containing invisible characters and multibyte characters.
+
+j. When performing case-insensitive completion, Readline no longer sorts the
+ list of matches unless directed to do so.
+
+k. Fixed a problem with key sequences ending with a backslash.
+
+l. Fixed out-of-bounds and free memory read errors found via fuzzing.
+
+m. Fixed several cases where the mark was set to an invalid value.
+
+n. Fixed a problem with the case-changing operators in the case where the
+ lower and upper case versions of a character do not have the same number
+ of bytes.
+
+o. Handle incremental and non-incremental search character reads returning EOF.
+
+p. Handle the case where a failing readline command at the end of a multi-key
+ sequence could be misinterpreted.
+
+q. The history library now prints a meaningful error message if the history
+ file isn't a regular file.
+
+r. Fixed a problem with vi-mode redo (`.') on a command when trying to replace
+ a multibyte character.
+
+s. The key binding code now attempts to remove a keymap if a key unbinding
+ leaves it empty.
+
+t. Fixed a line-wrapping issue that caused problems for some terminal
+ emulators.
+
+u. If there is a key bound to the tty's VDISCARD special character, readline
+ disables VDISCARD while it is active.
+
+v. Fixed a problem with exiting bracketed paste mode on terminals that assume
+ the bracketed paste mode character sequence contains visible characters.
+
+w. Fixed a bug that could cause a key binding command to refer to an
+ uninitialized variable.
+
+3. New Features in Bash
+
+a. The `wait' builtin can now wait for the last process substitution created.
+
+b. There is an EPOCHSECONDS variable, which expands to the time in seconds
+ since the Unix epoch.
+
+c. There is an EPOCHREALTIME variable, which expands to the time in seconds
+ since the Unix epoch with microsecond granularity.
+
+d. New loadable builtins: rm, stat, fdflags.
+
+e. BASH_ARGV0: a new variable that expands to $0 and sets $0 on assignment.
+
+f. When supplied a numeric argument, the shell-expand-line bindable readline
+ command does not perform quote removal and suppresses command and process
+ substitution.
+
+g. `history -d' understands negative arguments: negative arguments offset from
+ the end of the history list.
+
+h. The `name' argument to the `coproc' reserved word now undergoes word
+ expansion, so unique coprocs can be created in loops.
+
+i. A nameref name resolution loop in a function now resolves to a variable by
+ that name in the global scope.
+
+j. The `wait' builtin now has a `-f' option, which signifies to wait until the
+ specified job or process terminates, instead of waiting until it changes
+ state.
+
+k. There is a define in config-top.h that allows the shell to use a static
+ value for $PATH, overriding whatever is in the environment at startup, for
+ use by the restricted shell.
+
+l. Process substitution does not inherit the `v' option, like command
+ substitution.
+
+m. If a non-interactive shell with job control enabled detects that a foreground
+ job died due to SIGINT, it acts as if it received the SIGINT.
+
+n. The SIGCHLD trap is run once for each exiting child process even if job
+ control is not enabled when the shell is in Posix mode.
+
+o. A new shopt option: localvar_inherit; if set, a local variable inherits the
+ value of a variable with the same name at the nearest preceding scope.
+
+p. `bind -r' now checks whether a key sequence is bound before binding it to
+ NULL, to avoid creating keymaps for a multi-key sequence.
+
+q. A numeric argument to the line editing `operate-and-get-next' command
+ specifies which history entry to use.
+
+r. The positional parameters are now assigned before running the shell startup
+ files, so startup files can use $@.
+
+s. There is a compile-time option that forces the shell to disable the check
+ for an inherited OLDPWD being a directory.
+
+t. The `history' builtin can now delete ranges of history entries using
+ `-d start-end'.
+
+u. The `vi-edit-and-execute-command' bindable readline command now puts readline
+ back in vi insertion mode after executing commands from the edited file.
+
+v. The command completion code now matches aliases and shell function names
+ case-insensitively if the readline completion-ignore-case variable is set.
+
+w. There is a new `assoc_expand_once' shell option that attempts to expand
+ associative array subscripts only once.
+
+x. The shell only sets up BASH_ARGV and BASH_ARGC at startup if extended
+ debugging mode is active. The old behavior of unconditionally setting them
+ is available as part of the shell compatibility options.
+
+y. The `umask' builtin now allows modes and masks greater than octal 777.
+
+z. The `times' builtin now honors the current locale when printing a decimal
+ point.
+
+aa. There is a new (disabled by default, undocumented) shell option to enable
+ and disable sending history to syslog at runtime.
+
+4. New Features in Readline
+
+a. Non-incremental vi-mode search (`N', `n') can search for a shell pattern, as
+ Posix specifies (uses fnmatch(3) if available).
+
+b. There are new `next-screen-line' and `previous-screen-line' bindable
+ commands, which move the cursor to the same column in the next, or previous,
+ physical line, respectively.
+
+c. There are default key bindings for control-arrow-key key combinations.
+
+d. A negative argument (-N) to `quoted-insert' means to insert the next N
+ characters using quoted-insert.
+
+e. New public function: rl_check_signals(), which allows applications to
+ respond to signals that readline catches while waiting for input using
+ a custom read function.
+
+f. There is new support for conditionally testing the readline version in an
+ inputrc file, with a full set of arithmetic comparison operators available.
+
+g. There is a simple variable comparison facility available for use within an
+ inputrc file. Allowable operators are equality and inequality; string
+ variables may be compared to a value; boolean variables must be compared to
+ either `on' or `off'; variable names are separated from the operator by
+ whitespace.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.4-release, and
+the previous version, bash-4.4-rc2.
+
+1. Changes to Bash
+
+a. Fixed a bug that could potentially result in a crash due to an integer
+ overflow.
+
+b. Fixed a bug in where commands printed due to `set -x' could be incorrectly
+ quoted if being printed in contexts where they haven't yet been expanded.
+
+c. Fixed several memory leaks.
+
+d. Fixed a bug that could potentially cause the terminal attributes to be
+ set incorrectly by a command run from a programmable completion.
+
+e. Fixed several potential buffer overflow issues in the word expansion code.
+
+2. Changes to Readline
+
+3. New Features in Bash
+
+4. New Features in Readline
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.4-rc2, and
+the previous version, bash-4.4-beta2.
+
+1. Changes to Bash
+
+a. Fixed an out-of-bounds read in the redirection operator completion code.
+
+b. Fixed execution context so `until continue' doesn't disable execution for
+ subsequent commands.
+
+c. Fixed trap handling code so traps don't inherit a command's temporary
+ environment.
+
+d. Fixed a bug that resulted in incorrect line numbers when a function is
+ defined as part of another function's execution.
+
+e. Fixed a bug in the expansion of ${a[@]} in contexts where word splitting
+ is not performed and $IFS is not the default.
+
+f. Fixed a bug that caused ''"$@" to not expand to an empty argument when
+ there are no positional parameters.
+
+g. Fixed a bug that caused a shell compiled without job control to use the
+ incorrect exit status for builtin commands preceded by a command executed
+ from the file system that causes the shell to call waitpid().
+
+h. Improved word completion for quoted strings containing unterminated command
+ substitutions with embedded double quotes.
+
+2. Changes to Readline
+
+a. Fixed a bug that caused mode strings to be displayed incorrectly if the
+ prompt was shorter than the mode string.
+
+3. New Features in Bash
+
+a. Using ${a[@]} or ${a[*]} with an array without any assigned elements when
+ the nounset option is enabled no longer throws an unbound variable error.
+
+4. New Features in Readline
+
+a. New application-callable function: rl_pending_signal(): returns the signal
+ number of any signal readline has caught but not yet handled.
+
+b. New application-settable variable: rl_persistent_signal_handlers: if set
+ to a non-zero value, readline will enable the readline-6.2 signal handler
+ behavior in callback mode: handlers are installed when
+ rl_callback_handler_install is called and removed removed when a complete
+ line has been read.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.4-beta2, and
+the previous version, bash-4.4-rc1.
+
+1. Changes to Bash
+
+a. Fixed a memory leak when processing ${!var[@]}.
+
+b. Fixed a bug that caused subshells to free trap strings associated with
+ inherited signals.
+
+c. Inheriting BASHOPTS from the environment now works to force actions
+ associated with enabling an option, instead of just marking the option
+ as enabled.
+
+d. Fixed a bug that allowed assignments to BASH_CMDS when the shell was in
+ restricted mode.
+
+e. Fixed a bug caused by an accidental omission of part of the original patch
+ for EXECIGNORE.
+
+e. Prompt expansion now quotes the results of the \s, \h, and \H expansions.
+
+f. Fixed a bug that caused parsing errors in command substitutions with
+ consecutive case statements separated by newlines.
+
+g. Updated logic used to decide whether bash is running inside an emacs
+ terminal emulator to work with future emacs versions.
+
+h. Fixed two extended pattern matching bugs caused by premature short-
+ circuiting.
+
+i. Fixed a memory leak in the code that removes duplicate history entries.
+
+j. There are a number of bug fixes to coproc, mapfile, declare, unset,
+ and assignment statements that prevent nameref variables from creating
+ and unsetting variables with invalid names.
+
+k. Fixed a bug that caused variables to be inadvertently marked as both an
+ associative and an indexed array.
+
+l. Fixed a bug that caused `bash -c' to not run a trap specified in the
+ command string.
+
+j. There are a number of bug fixes to coproc, mapfile, declare, and assignment
+ statements that prevent nameref variables from overwriting or modifying
+ attributes of readonly variables.
+
+k. Fixed a bug that caused command substitution to attempt to set the
+ terminal's process group incorrectly.
+
+l. Fixed a bug that could cause prompt string expansion to display error
+ messages when the `nounset' shell option is set.
+
+m. Fixed a bug that caused "$@" to not expand to an empty string under the
+ circumstances when Posix says it should ("${@-${@-$@}}").
+
+n. Fixed several bugs caused by referencing nameref variables whose values
+ are names of unset variables (or names that are valid for referencing
+ but not assignment), including creating variables in the temporary
+ environment.
+
+o. Function tracing and error tracing are disabled if --debugger is supplied
+ at startup but the shell can't find the debugger start file.
+
+p. Fixed a bug when IFS is used as the control variable in a for statement.
+
+q. Fixed a bug with SIGINT received by a command substitution in an interactive
+ shell.
+
+r. The checks for nameref variable self-references are more thorough.
+
+s. Fixed several bugs with multi-line aliases.
+
+t. Fixed `test' to handle the four-argument case where $1 == '(' and
+ $4 == ')'.
+
+u. Fixed a bug in the expansion of $* in the cases where word splitting is
+ not performed.
+
+v. Fixed a bug in execution of case statements where IFS includes the
+ pattern matching characters.
+
+2. Changes to Readline
+
+a. When refreshing the line as the result of a key sequence, Readline attempts
+ to redraw only the last line of a multiline prompt.
+
+b. Fixed an issue that caused completion of git commands to display
+ incorrectly when using colored-completion-prefix.
+
+c. Fixed several redisplay bugs having to do with multibyte characters and
+ invisible characters in prompt strings.
+
+3. New Features in Bash
+
+a. Value conversions (arithmetic expansions, case modification, etc.) now
+ happen when assigning elements of an array using compound assignment.
+
+b. There is a new option settable in config-top.h that makes multiple
+ directory arguments to `cd' a fatal error.
+
+c. Bash now uses mktemp() when creating internal temporary files; it produces
+ a warning at build time on many Linux systems.
+
+4. New Features in Readline
+
+a. The default binding for ^W in vi mode now uses word boundaries specified
+ by Posix (vi-unix-word-rubout is bindable command name).
+
+b. rl_clear_visible_line: new application-callable function; clears all
+ screen lines occupied by the current visible readline line.
+
+c. rl_tty_set_echoing: application-callable function that controls whether
+ or not readline thinks it is echoing terminal output.
+
+d. Handle >| and strings of digits preceding and following redirection
+ specifications as single tokens when tokenizing the line for history
+ expansion.
+
+e. Fixed a bug with displaying completions when the prefix display length
+ is greater than the length of the completions to be displayed.
+
+f. The :p history modifier now applies to the entire line, so any expansion
+ specifying :p causes the line to be printed instead of expanded.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.4-rc1, and
+the previous version, bash-4.4-beta.
+
+1. Changes to Bash
+
+a. Fixed several problems with bash completion not special-casing bash syntax
+ constructs.
+
+b. Fixed a bug that caused the mapfile builtin to not create array variables
+ when a variable of the same name appears in the temporary environment.
+
+c. Fixed a bug that caused prompt expansion to loop when PS1 contained a
+ syntax error.
+
+d. Fixed a bug that caused the ${array[@]@A} expansion to split the results
+ even when double-quoted.
+
+e. There is a new implementation of the code that saves the last CHILD_MAX
+ exited background pids so their status can be queried later.
+
+f. Bash-4.4 can now be configured and built on very old versions of Solaris 2.
+
+g. Fixed problems with --help support for several builtins.
+
+h. Fixed values added to BASH_SOURCE and BASH_LINENO for functions inherited
+ from the environment.
+
+i. Fixed a bug that caused background processes run from non-interactive shells
+ with job control enabled to place the terminal in the wrong process group
+ under certain circumstances.
+
+j. Fixed a bug that caused `fc' to return an incorrect exit status when
+ executing commands from the history list.
+
+k. Fixed a bug that caused the shell to exit when a process substitution
+ received a SIGINT when run in certain terminal emulators.
+
+l. EXECIGNORE now honors the setting of `extglob' when attempting to match
+ executable names.
+
+m. Fixed a bug where `return' used the wrong exit status when executed in a
+ DEBUG trap.
+
+n. Fixed a bug that caused a command containing a here-document and an escaped
+ newline to be stored in the history list incorrectly.
+
+o. Fixed a bug that caused set -e to be honored in cases of builtins invoking
+ other builtins when it should be ignored.
+
+p. Fixed a bug that caused `readonly' and `export' to create local array
+ variables when used within shell functions.
+
+q. Fixed a bug that allowed subshells begun to execute process substitutions
+ to have access to the command's temporary environment.
+
+r. Fixed a bug that could cause the shell to dump core when receiving a
+ SIGCHLD for which a trap has been set while running in posix mode.
+
+s. Fixed a bug that caused bash to not restore BASH_ARGC, BASH_ARGV,
+ BASH_SOURCE, BASH_LINENO, and FUNCNAME if the shell received a SIGINT
+ while reading commands from a file while executing `.'.
+
+t. Fixed a bug that caused the `-o history' option to have no effect when
+ supplied on the command line when starting a new shell.
+
+u. Fixed a bug that caused history expansions occurring in command
+ substitutions to not be performed.
+
+v. Fixed a bug that caused `eval' run in a non-interactive shell to disable
+ history expansion for the remainder of the shell script, even if the script
+ had previously enabled it.
+
+w. Fixed a bug that caused "$@" to not expand to multiple words when IFS is set
+ to the empty string.
+
+x. Fixed a bug that caused process and command substitution to inherit output
+ buffered in the stdio library but not written.
+
+y. Fixed a bug that caused a terminating signal received during `echo' to run
+ an exit trap in a signal handler context.
+
+z. Fixed a bug that caused a builtin command containing a process substitution
+ to return the wrong exit status.
+
+aa. Fixed a bug that caused `()' subshells with piped input to incorrectly
+ redirect the standard input of some of the commands in the subshell from
+ /dev/null.
+
+bb. The history builtin now uses more descriptive error messages for missing or
+ invalid timestamps.
+
+2. Changes to Readline
+
+a. The history file writing functions only attempt to create and use a backup
+ history file if the history file exists and is a regular file.
+
+b. Fixed an out-of-bounds read in readline's internal tilde expansion
+ interface.
+
+c. Fixed several redisplay bugs with prompt strings containing multibyte
+ and non-visible characters whose physical length is longer than the screen
+ width.
+
+d. Fixed a redisplay bug with prompt strings containing invisible characters
+ whose physical length exceeds the screen width and using incremental search.
+
+e. Readline prints more descriptive error messages when it encounters errors
+ while reading an inputrc file.
+
+f. Fixed a bug in the character insertion code that attempts to optimize
+ typeahead when it reads a character that is not bound to self-insert and
+ resets the key sequence state.
+
+3. New Features in Bash
+
+a. BASH_COMPAT and FUNCNEST can be inherited and set from the shell's initial
+ environment.
+
+b. inherit_errexit: a new `shopt' option that, when set, causes command
+ substitutions to inherit the -e option. By default, those subshells disable
+ -e. It's enabled as part of turning on posix mode.
+
+c. New prompt string: PS0. Expanded and displayed by interactive shells after
+ reading a complete command but before executing it.
+
+d. Interactive shells now behave as if SIGTSTP/SIGTTIN/SIGTTOU are set to
+ SIG_DFL when the shell is started, so they are set to SIG_DFL in child
+ processes.
+
+e. Posix-mode shells now allow double quotes to quote the history expansion
+ character.
+
+f. OLDPWD can be inherited from the environment if it names a directory.
+
+g. Shells running as root no longer inherit PS4 from the environment, closing
+ a security hole involving PS4 expansion performing command substitution.
+
+h. If executing an implicit `cd' when the `autocd' option is set, bash will
+ now invoke a function named `cd' if one exists before executing the `cd'
+ builtin.
+
+4. New Features in Readline
+
+a. If an incremental search string has its last character removed with DEL,
+ the resulting empty search string no longer matches the previous line.
+
+b. If readline reads a history file that begins with `#' (or the value of
+ the history comment character) and has enabled history timestamps, the
+ history entries are assumed to be delimited by timestamps. This allows
+ multi-line history entries.
+
+c. Readline now throws an error if it parses a key binding without a
+ terminating `:' or whitespace.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.4-beta, and
+the previous version, bash-4.4-alpha.
+
+1. Changes to Bash
+
+a. Fixed two bugs that caused out-of-bounds reads when skipping over assignment
+ statements while finding the word on which to perform programmable
+ completion.
+
+b. Fixed a memory leak in programmable completion.
+
+c. Fixed a bug that could cause the shell to crash when interrupting the
+ wait builtin.
+
+d. Fixed a bug that caused ${!vvv@} to be interpreted as introducing the new
+ `@' operator.
+
+e. Fixed a bug that caused the && and || operators to be incorrectly optimized.
+
+f. The shell now undoes redirections before exiting the shell when the `-e'
+ option is enabled, and a shell function fails.
+
+g. History expansion now skips over the history expansion character in command
+ and process substitution.
+
+h. Fixed a bug that caused stray '\001' characters to be added to the output
+ of `declare -p'.
+
+i. Fixed a memory leak when processing declare commands that perform compound
+ array assignments.
+
+j. Fixed a bug that could cause the shell to crash when reading input from a
+ file and the limit on open file descriptors is high.
+
+k. Fixed a bug that caused the ERR and RETURN traps to be unset if they were
+ set in a shell function but unset previously.
+
+l. Fixed a bug that caused several signals to be ignored if `exec' failed in
+ an interactive shell.
+
+m. A posix-mode non-interactive shell now considers a parameter expansion error
+ to be a fatal error.
+
+n. The `time' command now prints timing statistics for failed commands when
+ the -e option is enabled.
+
+o. Fixed a bug that caused the shell to crash when attempting to indirectly
+ expand a shell variable with an invalid name.
+
+p. Fixed a bug that caused the shell to crash when running a trap containing
+ a process substitution.
+
+q. Bash now prints the keyword `function' before a function with the same name
+ as a reserved word when using `declare -f' to avoid parse errors when
+ reusing the output as input.
+
+r. Fixed a bug that caused the shell to crash when using declare -g to attempt
+ to redefine an existing global indexed array variable as an associative
+ array.
+
+s. Fixed a memory leak that occurred when interrupting brace expansions
+ generating a sequence.
+
+t. Fixed a bug that resulted in alias expansion in redirections.
+
+u. The `declare -a' and `declare -A' commands now print fewer warnings when
+ attempting to create and initialize an array at the same time, but
+ relying on word expansions to construct the compound assignment.
+
+v. The `help' builtin now behaves better in locales where each wide
+ character occupies more than one display column.
+
+w. The `read' builtin no longer has a possible race condition when a timeout
+ occurs.
+
+x. Fixed several expansion problems encountered when IFS="'".
+
+y. Fixed a problem with the expansion of $'\c?'.
+
+z. Bash no longer splits the expansion of here-strings, as the documentation
+ has always said.
+
+aa. Bash now puts `s' in the value of $- if the shell is reading from standard
+ input, as Posix requires.
+
+bb. Fixed a bug that caused the shell to crash if invoked with a NULL
+ environment.
+
+cc. The shell now only trusts an inherited value for $PWD if it begins with a
+ `/'.
+
+dd. Fixed a memory leak when creating local array variables and assigning to
+ them using compound assignment with the `declare' builtin.
+
+ee. Fixed a bug that could cause the shell to crash when processing nested here
+ documents inside a command substitution.
+
+ff. Array keys and values are now displayed using $'...' quoting where
+ appropriate.
+
+gg. Fixed a bug that could cause the shell to crash if the replacement string
+ in pattern substitution was NULL.
+
+hh. Fixed a bug that could cause the shell to crash if a command substitution
+ contained a non-fatal syntax error.
+
+ii. Fixed a bug that could cause the shell to crash if variable indirection
+ resulted in a NULL variable.
+
+jj. Fixed a bug that could cause the shell to crash if a long string contained
+ multiple unterminated parameter expansion constructs.
+
+kk. Improved the code that acts on SIGINT received while waiting for a child
+ process only if the child exits due to SIGINT.
+
+ll. $BASH_SUBSHELL now has more consistent values in asynchronous simple
+ commands.
+
+2. Changes to Readline
+
+a. Colored completion prefixes are now displayed using a different color, less
+ likely to collide with files.
+
+b. Fixed a bug that caused vi-mode character search to misbehave when
+ running in callback mode.
+
+c. Fixed a bug that caused output to be delayed when input is coming from a
+ macro in vi-mode.
+
+d. Fixed a bug that caused the vi-mode `.' command to misbehave when redoing
+ a multi-key key sequence via a macro.
+
+e. Fixed a bug that caused problems with applications that supply their own
+ input function when performing completion.
+
+f. When read returns -1/EIO when attempting to read a key, return an error
+ instead of line termination back to the caller.
+
+g. Updated tty auditing feature based on patch from Red Hat.
+
+h. Fixed a bug that could cause the history library to crash on overflows
+ introduced by malicious editing of timestamps in the history file.
+
+3. New Features in Bash
+
+a. `make install' now installs the example loadable builtins and a set of
+ bash headers to use when developing new loadable builtins.
+
+b. `enable -f' now attempts to call functions named BUILTIN_builtin_load when
+ loading BUILTIN, and BUILTIN_builtin_unload when deleting it. This allows
+ loadable builtins to run initialization and cleanup code.
+
+c. There is a new BASH_LOADABLES_PATH variable containing a list of directories
+ where the `enable -f' command looks for shared objects containing loadable
+ builtins.
+
+d. The `complete_fullquote' option to `shopt' changes filename completion to
+ quote all shell metacharacters in filenames and directory names.
+
+e. The `kill' builtin now has a `-L' option, equivalent to `-l', for
+ compatibility with Linux standalone versions of kill.
+
+4. New Features in Readline
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.4-alpha, and
+the previous version, bash-4.3-release.
+
+1. Changes to Bash
+
+a. A bug that caused pipelines to be corrupted while running the DEBUG trap
+ was fixed.
+
+b. A bug that accidentally omitted the `-R' unary operator from `test' was
+ fixed.
+
+c. A bug that could cause the shell to not restore the terminal's process
+ group on shell exit was fixed.
+
+d. Several changes were made to programmable completion to accommodate
+ assumptions made by the bash-completion package.
+
+e. Bash no longer inhibits C-style escape processing ($'...') while performing
+ pattern substitution word expansions.
+
+f. Fixed a bug that caused `return' executed from a trap handler to use the
+ wrong return status when one was not supplied as an argument.
+
+g. In Posix mode, defining a function with the same name as a special
+ builtin is now an error, fatal only when the shell is not interactive.
+
+h. Fixed a bug that caused compound array assignments to discard unset or null
+ variables used as subscripts, thereby making it appear as if the index was
+ not present.
+
+i. Fixed a bug that caused extended glob patterns to incorrectly match
+ filenames with a leading `.'.
+
+j. Fixed a bug involving sign extension when reallocating the input line
+ after a history expansion, causing segmentation faults.
+
+k. Bash now does a better job at identifying syntax errors during word
+ completion and tailoring completion appropriately.
+
+l. Bash now uses the current locale's decimal point in command timing output.
+
+m. Fixed a bug that caused segmentation faults while reading here documents if
+ PS2 contains a command substitution.
+
+n. There are several changes to how $@ is expanded when unquoted but in a
+ context where word splitting is not performed (e.g., on the rhs of an
+ assignment or in a conditional command).
+
+o. Bash now quotes command hash table entries that contain shell metacharacters
+ when displaying hash table contents.
+
+p. Fixed a potential file descriptor leak when dup2() fails while performing a
+ redirection.
+
+q. Fixed a bug that caused directory names evaluated during word completion to
+ be dequoted twice.
+
+r. Fixed several bugs which could result in indirect variable expansion and
+ namerefs creating variables with invalid names or referencing variables
+ set to the empty string.
+
+s. Fixed a bug that caused bash to not expand $0 in word expansions where it
+ should.
+
+t. Fixed a bug that caused bash to perform process substitution if <(
+ appeared inside an arithmetic context.
+
+u. Fixed a bug in extglob pattern parsing that caused slashes in the pattern
+ to be confused as directory names.
+
+v. Fixed several bugs with treatment of invisible variables (variables with
+ attributes that are unset because they have never been assigned values).
+
+w. Fixed a bug that caused the `read' builtin to not clean up readline's
+ state when using the -e and -t options together and the read timed out.
+
+x. Fixed a bug that caused the shell to exit with the wrong (but non-zero)
+ value if a command was not found or was not executable.
+
+y. Fixed a bug that caused the `time' reserved word to not be recognized as
+ such in all contexts where it should have been.
+
+z. Fixed a bug that caused the shell to close process substitution file
+ descriptors when executing a script without the `#!' leading line.
+
+aa. Fixed a typo that caused the `compat42' shell option to set the wrong
+ compatibility level.
+
+bb. The shell now handles process substitution commands with embedded
+ parentheses the same way as it does when parsing command substitution.
+
+cc. Fixed a bug that caused nested pipelines and the `lastpipe' shell option
+ to produce core dumps.
+
+dd. Fixed a bug that caused patterns containing `*' to match pathnames in cases
+ where slashes must be matched explicitly.
+
+ee. Fixed a problem with patterns containing `:' in colon-separated variables
+ like GLOBIGNORE.
+
+ff. Fixed a bug that caused indirect variable expansion using indexed arrays to
+ always use index 0.
+
+gg. Fixed a parsing problem that caused quoted newlines immediately following a
+ command substitution to be mishandled in certain cases.
+
+hh. Fixed a potential buffer overflow on systems without locale_charset or the
+ bash replacement.
+
+ii. Fixed a bug that caused background processes to modify the terminal's
+ process group under certain circumstances.
+
+jj. Asynchronous commands now always set $? to 0 and are not affected by
+ whether or not the command's exit status is being inverted.
+
+kk. Fixed a problem that caused a line ending with an escaped newline and
+ containingh a prior `eval' to be incorrectly parsed.
+
+ll. Fixed an issue with programmable completion and `!' in extglob patterns
+ used as arguments to `compgen -X'.
+
+mm. Word completion now treats the two-character token `>|' as requiring
+ filename expansion.
+
+nn. Bash no longer expands tildes in $PATH elements while in Posix mode.
+
+oo. Fixed a bug that caused bash to not clean up readline's state, including
+ the terminal settings, if it received a fatal signal while in a readline()
+ call (including `read -e' and `read -s').
+
+pp. Fixed bug that caused importing shell functions from the environment to
+ execute additional commands following the function.
+
+qq. Fixed a bug that caused the parser to return a lookahead character pushed
+ back by a previous call, even when on another line.
+
+rr. Fixed a bug that caused many here-documents or many nested case statements
+ to overflow an internal stack.
+
+ss. Changed the way bash encodes exported functions for inclusion in the
+ environment to avoid name collisions with valid variable names and to
+ indicate that they are exported functions.
+
+tt. Fixed a bug that could result in an invalid memory access when processing
+ a here document delimited by end of file or end of string.
+
+uu. Fixed a bug that could cause an invalid memory access if a command was run
+ before initializing the job control framework.
+
+vv. When in Posix mode, bash prints shell function definitions as Posix
+ specifies them, without the leading `function' keyword.
+
+ww. The variable attribute display builtins no longer display variables with
+ invalid names that were imported from the environment.
+
+xx. Fixed a bug that could allow `break' or `continue' executed from shell
+ functions to affect loops running outside of the function.
+
+yy. Fixed a bug that could cause a restricted shell to attempt to import shell
+ functions from the environment.
+
+zz. The shell now allows double-quoted identifiers in arithmetic expressions.
+
+aaa. Fixed a bug that could allow scalar variables subscripted using [@] in
+ word expansions to be incorrectly quoted.
+
+bbb. The shell now makes sure to ignore SIGTSTP/SIGTTIN/SIGTTOU in child
+ processes if they were ignored at shell startup, even if job control is
+ in effect.
+
+ccc. Fixed a bug that could cause $* to be split on spaces when IFS is set to
+ the empty string.
+
+ddd. Posix says that expanding $* in a pattern context where the expansion is
+ double-quoted should not treat $* as if it were double quoted.
+
+eee. Bash now restores getopts' internal state between calls to getopts even if
+ a shell function declares a local copy of OPTIND.
+
+fff. Fixed a bug that could cause `history -r' or `history -n' to read identical
+ lines from the history file more than once.
+
+ggg. The commands executed by `bind -x' now redisplay at most the final line
+ of a multi-line prompt, and those commands may return 124 to indicate that
+ the entire prompt should be redrawn.
+
+hhh. Fixed a bug that could cause `mapfile' to create variables with invalid
+ names.
+
+iii. The shell only goes into debugging mode when --debugger is supplied if
+ the debugger initialization file is present.
+
+jjj. Fixed a bug that disallowed an assignment to (implicit) subscript 0 of an
+ existing array in a declare command that set the readonly attribute.
+
+kkk. Fixed a bug that inadvertently allowed assignments to FUNCNAME to disable
+ its special status.
+
+lll. Appending to an existing array variable using the compound assignment
+ syntax (var+=(aaa)) should not affect assignments to existing subscripts
+ appearing in the compound assignment.
+
+mmm. Fixed a bug that could cause the shell to crash when a variable with a
+ null value was passed in the temporary environment and the variable's
+ attributes are modified using `declare' while performing a redirection.
+
+nnn. Fixed a bug in printf so that a missing precision specifier after a `.'
+ is treated as 0.
+
+ooo. Fixed a bug that attempted to use the internal command timing to time
+ pipeline components if the pipeline elements are separated by newlines.
+
+ppp. Fixed a bug that caused `declare -al foo=(ONE TWO THREE)' to not lowercase
+ the values on assignment.
+
+qqq. Bash does a better job of determining whether or not files are executable
+ when running on Windows, since the X_OK flag to access(2) is not supported.
+
+rrr. Fixed a bug that caused some of the shell's internal traps (e.g., ERR) to
+ be interrupted (and leave incorrect state) by pending SIGINTs.
+
+sss. Fixed a bug in the bash interface to history expansion to avoid attempting
+ expansion if the history expansion character occurs in a command
+ substitution.
+
+ttt. Fixed a bug that caused the select command to crash if the REPLY variable
+ ends up empty (e.g., if it's made readonly)
+
+uuu. Bash handles backslash-quoting of multibyte characters better when quoting
+ output that is intended to be reused.
+
+vvv. System-specific changes for: Windows, Cygwin.
+
+www. Fixes for upper and lower-casing multibyte characters, some locales have
+ characters whose upper and lowercase versions have different numbers of
+ bytes.
+
+xxx. Fixed a bug that caused the ERR trap in a shell function to have the
+ wrong value for $LINENO.
+
+yyy. Fixed a bug that resulted in incorrect quoting of regexps for the =~
+ operator when an open brace appears without a close brace.
+
+zzz. Fixed a bug in the array unset operation that caused it to attempt to
+ parse embedded single and double quotes.
+
+aaaa. Fixed a bug that caused $* to not expand with the first character of
+ $IFS as a separator in a context where word splitting will not take
+ place.
+
+bbbb. Fixed two bugs that could cause the shell to dereference a null pointer
+ while attempting to print an error message from arithmetic expansion.
+
+cccc. Fixed a bug that resulted in short-circuited evaluation when reading
+ commands from a string ending in an unquoted backslash, or when sourcing
+ a file that ends with an unquoted backslash.
+
+dddd. Fixed a bug that resulted in the no-fork optimization not cleaning up
+ any FIFOs created by process substitution.
+
+eeee. If the -T option is not set, allow the source builtin and shell functions
+ to set a DEBUG trap that persists after the sourced file or function
+ returns, instead of restoring the old (unset) value unconditionally.
+
+ffff. Fixed a bug that caused redirections to not be undone on some syntax
+ errors, e.g., when parsing a command substitution.
+
+gggg. Bash only adds asynchronous commands to the table of background pids
+ whose status it remembers, to avoid it growing too large during scripts
+ that create and reap large numbers of child processes. This means that
+ `wait' no longer works on synchronous jobs, but $? can be used to get
+ the exit status in those cases.
+
+hhhh. Bash now checks whether or not a shell script argument is a directory
+ before trying to open it; Posix says implementations may allow open(2)
+ on a directory.
+
+iiii. Fixed a bug that could cause the shell to set the terminal's process
+ group to a background process group when running as part of a pipeline.
+
+jjjj. Made a few changes to strings to avoid possible potential negative effects
+ caused by malicious translations.
+
+kkkk. Fixed a bug that caused the `unset' builtin to continue to treat its
+ arguments as functions after unsetting a function when invoked with no
+ options.
+
+llll. Fixed a bug that would not replace empty strings using pattern
+ substitution even if the pattern matched the empty string.
+
+mmmm. Fixed a bug with word completion that prevented some characters from
+ being backslash-quoted (backquote, dollar sign).
+
+nnnn. Fixed a bug that prevented a command from the history re-executed by the
+ `fc' builtin from setting verbose mode.
+
+oooo. Fixed a bug that caused the shell to not enable and disable function
+ tracing with changes to the `extdebug' shell option.
+
+pppp. Fixed a bug that caused assignments to nameref variables pointing to
+ unset variables with attributes but no values to create variables with
+ incorrect names.
+
+qqqq. Fixed a bug that caused `unset' on nameref variables (without -n) to
+ unset the wrong variable under certain circumstances.
+
+rrrr. Fixed a bug that caused close braces occurring in brace expansions within
+ command substitutions to incorrectly terminate parameter expansions.
+
+ssss. Fixed a bug that caused `command -p' to temporarily alter $PATH.
+
+tttt. Fixed a bug that caused interactive shells compiled without job control
+ to return incorrect status values for child processes when running a
+ single command that creates enough children to use the entire PID space.
+
+uuuu. `esac' should not be recognized as a reserved word when it appears as the
+ second or later pattern in a case statement pattern list.
+
+vvvv. Fixed a bug that caused the completion code to read past the end of the
+ readline line buffer while skipping assignment statements to find the
+ command name.
+
+wwww. Fixed a bug that caused case statements within loops contained in a
+ command substitution to be parsed incorrectly.
+
+xxxx. Fixed a bug that could cause SIGCHLD handling to be delayed after
+ running `wait' with no arguments and interrupting it with ^C without
+ a trap handler installed.
+
+2. Changes to Readline
+
+a. A bug that caused vi-mode `.' to be unable to redo `c', `d', and `y'
+ commands with modifiers was fixed.
+
+b. Fixed a bug that caused callback mode to dump core when reading a
+ multiple-key sequence (e.g., arrow keys).
+
+c. Fixed a bug that caused the redisplay code to erase some of the line when
+ using horizontal scrolling with incremental search.
+
+d. Readline's input handler now performs signal processing if read(2) is
+ interrupted by SIGALRM or SIGVTALRM.
+
+e. Fixed a problem with revert-all-at-newline freeing freed memory.
+
+f. Clarified the documentation for the history_quotes_inhibit_expansion
+ variable to note that it inhibits scanning for the history comment
+ character and that it only affects double-quoted strings.
+
+g. Fixed an off-by-one error in the prompt printed when performing searches.
+
+h. Use pselect(2), if available, to wait for input before calling read(2), so
+ a SIGWINCH can interrupt it, since it doesn't interrupt read(2).
+
+i. Some memory leaks caused by signals interrupting filename completion have
+ been fixed.
+
+j. Reading EOF twice on a non-empty line causes EOF to be returned, rather
+ than the partial line. This can cause partial lines to be executed on
+ SIGHUP, for example.
+
+k. Fixed a bug concerning deleting multibyte characters from the search
+ string while performing an incremental search.
+
+l. Fixed a bug with tilde expanding directory names in filename completion.
+
+m. Fixed a bug that did not allow binding sequences beginning with a `\'.
+
+n. Fixed a redisplay bug involving incorrect line wrapping when the prompt
+ contains a multibyte character in the last screen column.
+
+o. Fixed a bug that caused history expansion to disregard characters that are
+ documented to delimit a history event specifier without requiring `:'.
+
+p. Fixed a bug that could cause reading past the end of a string when reading
+ the value when binding the set of isearch terminators.
+
+q. Fixed a bug that caused readline commands that depend on knowing which
+ key invoked them to misbehave when dispatching key sequences that are
+ prefixes of other key bindings.
+
+r. Paren matching now works in vi insert mode.
+
+3. New Features in Bash
+
+a. There is now a settable configuration #define that will cause the shell
+ to exit if the shell is running setuid without the -p option and setuid
+ to the real uid fails.
+
+b. Command and process substitutions now turn off the `-v' option when
+ executing, as other shells seem to do.
+
+c. The default value for the `checkhash' shell option may now be set at
+ compile time with a #define.
+
+d. The `mapfile' builtin now has a -d option to use an arbitrary character
+ as the record delimiter, and a -t option to strip the delimiter as
+ supplied with -d.
+
+e. The maximum number of nested recursive calls to `eval' is now settable in
+ config-top.h; the default is no limit.
+
+f. The `-p' option to declare and similar builtins will display attributes for
+ named variables even when those variables have not been assigned values
+ (which are technically unset).
+
+g. The maximum number of nested recursive calls to `source' is now settable
+ in config-top.h; the default is no limit.
+
+h. All builtin commands recognize the `--help' option and print a usage
+ summary.
+
+i. Bash does not allow function names containing `/' and `=' to be exported.
+
+j. The `ulimit' builtin has new -k (kqueues) and -P (pseudoterminals) options.
+
+k. The shell now allows `time ; othercommand' to time null commands.
+
+l. There is a new `--enable-function-import' configuration option to allow
+ importing shell functions from the environment; import is enabled by
+ default.
+
+m. `printf -v var ""' will now set `var' to the empty string, as if `var=""'
+ had been executed.
+
+n. GLOBIGNORE, the pattern substitution word expansion, and programmable
+ completion match filtering now honor the value of the `nocasematch' option.
+
+o. There is a new ${parameter@spec} family of operators to transform the
+ value of `parameter'.
+
+p. Bash no longer attempts to perform compound assignment if a variable on the
+ rhs of an assignment statement argument to `declare' has the form of a
+ compound assignment (e.g., w='(word)' ; declare foo=$w); compound
+ assignments are accepted if the variable was already declared as an array,
+ but with a warning.
+
+q. The declare builtin no longer displays array variables using the compound
+ assignment syntax with quotes; that will generate warnings when re-used as
+ input, and isn't necessary.
+
+r. Executing the rhs of && and || will no longer cause the shell to fork if
+ it's not necessary.
+
+s. The `local' builtin takes a new argument: `-', which will cause it to save
+ the single-letter shell options and restore their previous values at
+ function return.
+
+t. `complete' and `compgen' have a new `-o nosort' option, which forces
+ readline to not sort the completion matches.
+
+u. Bash now allows waiting for the most recent process substitution, since it
+ appears as $!.
+
+v. The `unset' builtin now unsets a scalar variable if it is subscripted with
+ a `0', analogous to the ${var[0]} expansion.
+
+w. `set -i' is no longer valid, as in other shells.
+
+x. BASH_SUBSHELL is now updated for process substitution and group commands
+ in pipelines, and is available with the same value when running any exit
+ trap.
+
+y. Bash now checks $INSIDE_EMACS as well as $EMACS when deciding whether or
+ not bash is being run in a GNU Emacs shell window.
+
+z. Bash now treats SIGINT received when running a non-builtin command in a
+ loop the way it has traditionally treated running a builtin command:
+ running any trap handler and breaking out of the loop.
+
+aa. New variable: EXECIGNORE; a colon-separate list of patterns that will
+ cause matching filenames to be ignored when searching for commands.
+
+bb. Aliases whose value ends in a shell metacharacter now expand in a way to
+ allow them to be `pasted' to the next token, which can potentially change
+ the meaning of a command (e.g., turning `&' into `&&').
+
+4. New Features in Readline
+
+a. The history truncation code now uses the same error recovery mechanism as
+ the history writing code, and restores the old version of the history file
+ on error. The error recovery mechanism handles symlinked history files.
+
+b. There is a new bindable variable, `enable-bracketed-paste', which enables
+ support for a terminal's bracketed paste mode.
+
+c. The editing mode indicators can now be strings and are user-settable
+ (new `emacs-mode-string', `vi-cmd-mode-string' and `vi-ins-mode-string'
+ variables). Mode strings can contain invisible character sequences.
+ Setting mode strings to null strings restores the defaults.
+
+d. Prompt expansion adds the mode string to the last line of a multi-line
+ prompt (one with embedded newlines).
+
+e. There is a new bindable variable, `colored-completion-prefix', which, if
+ set, causes the common prefix of a set of possible completions to be
+ displayed in color.
+
+f. There is a new bindable command `vi-yank-pop', a vi-mode version of emacs-
+ mode yank-pop.
+
+g. The redisplay code underwent several efficiency improvements for multibyte
+ locales.
+
+h. The insert-char function attempts to batch-insert all pending typeahead
+ that maps to self-insert, as long as it is coming from the terminal.
+
+i. rl_callback_sigcleanup: a new application function that can clean up and
+ unset any state set by readline's callback mode. Intended to be used
+ after a signal.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.3-release, and
+the previous version, bash-4.3-rc2.
+
+1. Changes to Bash
+
+a. Only Posix-mode shells should exit on an assignment failure in the
+ temporary environment preceding a special builtin. This is how it's been
+ documented.
+
+b. Fixed a bug that caused a failed special builtin to not exit a posix-mode
+ shell if the failing builtin was on the LHS of a && or ||.
+
+c. Changed the handling of unquoted backslashes in regular expressions to be
+ closer to bash-4.2.
+
+d. globstar (**) no longer traverses symbolic links that resolve to
+ directories. This eliminates some duplicate entries.
+
+e. Fixed a bug that caused a SIGCHLD trap handler to not be able to change the
+ SIGCHLD disposition.
+
+f. Fixed a bug that caused a crash when -x was enabled and a command
+ contained a printable multibyte (wide) character.
+
+g. Fixed a bug that caused an interactive shell without line editing enabled
+ to read invalid data after receiving a SIGINT.
+
+h. Fixed a bug that caused command word completion to fail if the directory in
+ $PATH where the completion would be found contained single or double quotes.
+
+i. Fixed a bug that caused a shell with -v enabled to print commands in $()
+ multiple times.
+
+2. Changes to Readline
+
+a. Fixed a bug that caused `undo' to reference freed memory or null pointers.
+
+3. New Features in Bash
+
+a. The [[ -v ]] option now understands array references (foo[1]) and returns
+ success if the referenced element has a value.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.3-rc2, and the
+previous version, bash-4.3-rc1.
+
+1. Changes to Bash
+
+a. Fixed a bug that left variables set by printf -v marked as invisible.
+
+b. Fixed an off-by-one error in a job control warning message.
+
+c. Fixed a bug that caused the shell to crash after declaring a nameref variable
+ without a value.
+
+d. Fixed a bug that caused asynchronous commands to not set $? correctly.
+
+e. Fixed a bug that caused out-of-order execution when executing aliases with
+ embedded newlines containing `.' commands.
+
+f. Fixed a bug that caused error messages generated by expansion errors in
+ `for' commands to have the wrong line number.
+
+g. Fixed a bug that caused the `wait' builtin to not be interruptible in an
+ interactive shell with job control enabled.
+
+h. Fixed a bug that caused SIGINT and SIGQUIT to not be trappable in
+ asynchronous subshell commands.
+
+i. Bash now requires that the value assigned to a nameref variable be a valid
+ shell identifier (variable name or array reference).
+
+j. Converting an existing variable to a nameref variable now turns off the
+ -i/-l/-u/-c attributes.
+
+k. Displaying a nameref variable with `declare -p' now displays the nameref
+ variable and its value rather than following the nameref chain.
+
+l. Fixed a problem with interrupt handling that caused a second and subsequent
+ SIGINT to be ignored by interactive shells.
+
+m. Fixed a bug that caused certain positional parameter and array expansions
+ to mishandle (discard) null positional parameters and array elements.
+
+n. The shell no longer blocks receipt of signals while running trap handlers
+ for those signals, and allows most trap handlers to be run recursively
+ (running trap handlers while a trap handler is executing).
+
+o. The shell now handles backslashes in regular expression arguments to the
+ [[ command's =~ operator slightly differently, resulting in more
+ consistent behavior.
+
+2. Changes to Readline
+
+a. Fixed a bug that could cause readline to crash and seg fault attempting to
+ expand an empty history entry.
+
+b. Fixed a bug that caused a bad entry in the $LS_COLORS variable to abort all
+ color processing but leave color enabled.
+
+c. Fixed a bug that caused display problems with multi-line prompts containing
+ invisible characters on multiple lines.
+
+d. Fixed a bug that caused effects made by undoing changes to a history line to
+ be discarded.
+
+3. New Features in Bash
+
+4. New Features in Readline
+
+a. When creating shared libraries on Mac OS X, the pathname written into the
+ library (install_name) no longer includes the minor version number.
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.3-rc1, and the
+previous version, bash-4.3-beta2.
+
+1. Changes to Bash
+
+a. Fixed a bug in bash completion that caused a tilde to be expanded even if
+ the `direxpand' option was not enabled.
+
+b. Fixed a potential bug that could cause corrupted input in interactive shells
+ running without line editing and with `ignoreeof' enabled.
+
+c. Fixed a bug that could cause failures when opening pipes back to shells
+ created to run process substitutions.
+
+d. Fixed a bug that caused an assignment to TEXTDOMAIN to require TEXTDOMAINDIR
+ to be set in order to actually change the current text domain.
+
+e. Changed the way redirections are printed to avoid confusion when the target
+ of an output redirection is a process substitution beginning with `>'.
+
+2. Changes to Readline
+
+a. Shared library building is now supported on Mac OS X 10.9 (Darwin 13).
+
+3. New Features in Bash
+
+a. `cd' has a new `-@' option to browse a file's extended attributes on
+ systems that support O_XATTR.
+
+4. New Features in Readline
+
+a. There are additional default key bindings for MinGW32
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.3-beta2, and the
+previous version, bash-4.3-beta.
+
+1. Changes to Bash
+
+a. Fixed a bug that caused assignment to an unset variable using a negative
+ subscript to result in a segmentation fault.
+
+b. Fixed a bug that caused assignment to a string variable using a negative
+ subscript to use the incorrect index.
+
+c. Fixed a bug that caused some strings to be interpreted as invalid
+ extended globbing expressions when used with the help builtin.
+
+d. Fixed a bug that caused an attempt to trap a signal whose disposition
+ cannot be changed to reference uninitialized memory.
+
+e. Command completion now skips assignment statements preceding a command
+ name and completes the command.
+
+f. Fixed a bug that caused `compgen -f' in a non-interactive shell to dump
+ core under certain circumstances.
+
+g. Fixed a bug that caused the `read -N' to misbehave when the input stream
+ contains 0xff.
+
+2. Changes to Readline
+
+a. Changed message when an incremental search fails to include "failed" in
+ the prompt and display the entire search string instead of just the last
+ matching portion.
+
+b. Fixed a bug that caused an arrow key typed to an incremental search prompt
+ to process the key sequence incorrectly.
+
+c. Additional key bindings for arrow keys on MinGW.
+
+3. New Features in Bash
+
+a. The help builtin now attempts substring matching (as it did through
+ bash-4.2) if exact string matching fails.
+
+b. The fc builtin now interprets -0 as the current command line.
+
+c. Completing directory names containing shell variables now adds a trailing
+ slash if the expanded result is a directory.
+
+4. New Features in Readline
+
+a. rl_change_environment: new application-settable variable that controls
+ whether or not Readline modifies the environment (currently readline
+ modifies only LINES and COLUMNS).
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.3-beta, and the
+previous version, bash-4.3-alpha.
+
+1. Changes to Bash
+
+a. Fixed a bug in the prompt directory name "trimming" code that caused
+ memory corruption and garbled the results.
+
+b. Fixed a bug that caused single quotes that resulted from $'...' quoting
+ in the replacement portion of a double-quoted ${word/pat/rep} expansion
+ to be treated as quote characters.
+
+c. Fixed a bug that caused assignment statements preceding a command word to
+ result in assignment statements following a declaration command to not be
+ expanded like assignment statements.
+
+d. Fixed a bug with variable search order in the presence of local variables
+ with the same name as variables in the temporary environment supplied to
+ a shell function.
+
+e. Fixed a bug that caused constructs like 1<(2) to be interpreted as process
+ substitutions even in an arithmetic context.
+
+f. Fixed several cases where `invisible' variables (variables with attributes
+ but no values, which are technically unset) were treated incorrectly.
+
+g. Fixed a bug that caused group commands in pipelines that were not the
+ last element to not run the EXIT trap.
+
+h. Fixed a bug that caused `unset -n' to not unset a nameref variable in
+ certain cases.
+
+i. Fixed the nameref circular reference checking to be less strict and only
+ disallow a nameref variable with the same value as its name at the global
+ scope.
+
+j. Fixed a bug that caused trap handlers to be executed recursively,
+ corrupting internal data structures.
+
+k. Fixed a bug that could result in bash not compiling if certain options were
+ not enabled.
+
+l. Fixed a bug that caused the arithmetic expansion code to attempt variable
+ assignments when operator precedence prohibited them.
+
+m. Word expansions like ${foo##bar} now understand indirect variable references.
+
+n. Fixed a bug that caused `declare -fp name' to not display a function
+ definition.
+
+o. Fixed a bug that caused asynchronous child processes to modify the stdin
+ file pointer when bash was using it to read a script, which modified the
+ parent's value as well.
+
+2. Changes to Readline
+
+a. Fixed a bug in vi mode that caused the arrow keys to set the saved last
+ vi-mode command to the wrong value.
+
+b. Fixed a bug that caused double-quoted strings to be scanned incorrectly
+ when being used as the value of a readline variable assignment.
+
+c. Fixed a bug with vi mode that prevented `.' from repeating a command
+ entered on a previous line (command).
+
+d. Fixed a bug that could cause completion to core dump if it was interrupted
+ by a signal.
+
+e. Readline now sends the meta-key enable string to the terminal if the
+ terminal has been successfully initialized.
+
+f. Readline now calls the signal hook after resizing the terminal when it
+ receives a SIGWINCH.
+
+g. Fixed a bug that could cause the history list code to perform an out-of-
+ bounds array reference if the history list is empty.
+
+3. New Features in Bash
+
+a. Shells started to run process substitutions now run any trap set on EXIT.
+
+b. There is now a configure-time option to enable the globasciiranges option
+ by default.
+
+c. The read builtin now checks its first variable argument for validity before
+ trying to read any input.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.3-alpha,
+and the previous version, bash-4.2-release.
+
+1. Changes to Bash
+
+a. Fixed several bugs concerning incomplete bracket expressions in filename
+ generation (globbing) patterns.
+
+b. Fixed a bug with single quotes and WORD in ${param op WORD} when running
+ in Posix mode.
+
+c. Fixed a bug that caused the pattern removal and pattern substitution word
+ expansions and case statement word expansion to not match the empty string.
+
+d. Fixed a bug that caused the tzset() function to not work after changing
+ the TZ environment variable.
+
+e. Fixed a bug that caused the RHS of an assignment statement to undergo
+ word splitting when it contained an unquoted $@.
+
+f. Fixed bugs that caused the shell to not react to a SIGINT sent while
+ waiting for a child process to exit.
+
+g. Bash doesn't try to run things in a signal handler context when it gets a
+ signal (SIGINT/SIGHUP/etc) while reading input using readline but still
+ be responsive to terminating signals.
+
+h. Fixed a bug that caused bash to go into an infinite loop if a filename
+ to be matched contained an invalid multibyte character.
+
+i. Fixed a bug that caused PS4 to end up being truncated if it is longer
+ than 128 bytes.
+
+j. Fixed a bug that caused brace expansion to not skip over double-quoted
+ command substitution.
+
+k. System-specific updates for: DJGPP, HP/UX, Mac OS X
+
+l. Fixed a bug in displaying commands that caused redirections to be associated
+ with the wrong part of the command.
+
+m. Fixed the coproc cleanup to unset the appropriate shell variables when a
+ coproc terminates.
+
+n. Fixed a bug that caused `fc' to dump core due to incorrect calculation of
+ the last history entry.
+
+o. Added workarounds for FreeBSD's implementation of faccessat/eaccess and
+ `test -x'.
+
+p. Fixed a bug that caused the shell to not match patterns containing
+ control-A.
+
+q. Fixed a bug that could result in doubled error messages when the `printf'
+ builtin got a write error.
+
+r. Fixed a bug that caused the shell to not correctly expand words containing
+ multiple consecutive quoted empty strings (""""""aa).
+
+s. Fixed a bug that caused the shell to not correctly parse multi-line
+ process substitutions containing comments and quoted strings.
+
+t. Fixed a problem with the bash malloc's internal idea of the top of the
+ memory heap that resulted in incorrect decisions to try to reduce the
+ break and give memory back to the kernel.
+
+u. There are changes to the expansions performed on compound array assignments,
+ in an effort to make foo=( [ind1]=bar [ind2]=baz ) identical to
+ foo[ind1]=bar foo[ind2]=baz.
+
+v. Bash now reports an error if `read -a name' is used when `name' is an
+ existing associative array.
+
+w. Fixed a bug that allowed an attempted assignment to a readonly variable
+ in an arithmetic expression to not return failure.
+
+x. Fixed several bugs that caused completion functions to be invoked even when
+ the cursor was before the first word in the command.
+
+y. Fixed a bug that caused parsing a command substitution to overwrite the
+ parsing state associated with the complete input line.
+
+z. Fixed several bugs with the built-in snprintf replacement and field widths
+ and floating point.
+
+aa. Fixed a bug that caused incorrect offset calculations and input buffer
+ corruption when reading files longer than 2^31 bytes.
+
+bb. Fixed several bugs where bash performed arithmetic evaluation in contexts
+ where evaluation is suppressed.
+
+cc. Fixed a bug that caused bash to close FIFOs used for process substitution
+ too early when a shell function was executing, but protect against using
+ all file descriptors when the shell functions are invoked inside loops.
+
+dd. Added checks for printable (and non-printable) multibyte characters for
+ use in error messages.
+
+ee. Fixed a bug that caused ^O (operate-and-get-next) to not work correctly
+ at the end of the history list.
+
+ff. Fixed a bug that caused command-oriented history to incorrectly combine
+ here documents into one line.
+
+gg. Fixed a bug that caused importing SHELLOPTS from the environment into a
+ Posix-mode shell to print an error message and refuse to parse it.
+
+hh. Fixed a bug that caused the shell to delete an extra history entry when
+ using `history -s'.
+
+ii. Fixed a bug that caused floating-point exceptions and overflow errors
+ for the / and % arithmetic operators when using INTMAX_MIN and -1.
+
+jj. Fixed a bug that caused parsing errors when reading an arithmetic for
+ loop inside a command substitution.
+
+kk. Fixed a bug that caused a readonly function to be unset when unset was
+ called without the -f or -v option.
+
+ll. Fixed several bugs in the code that quotes characters special to regular
+ expressions when used in a quoted string on the RHS of the =~ operator
+ to the [[ command.
+
+mm. Fixed a bug that caused redirections to fail because the file descriptor
+ limit was set to a value less than 10.
+
+nn. Fixed a bug that caused the `read' builtin to execute code in a signal
+ handler context if read timed out.
+
+oo. Fixed a bug that caused extended globbing patterns to not match files
+ beginning with `.' correctly when a `.' was explicitly supplied in the
+ pattern.
+
+pp. Fixed a bug that caused key sequences longer than two characters to not
+ work when used with `bind -x'.
+
+qq. Fixed a bug that resulted in redefined functions having the wrong source
+ file names in BASH_SOURCE.
+
+rr. Fixed a bug that caused the read builtin to assign null strings to variables
+ when using `read -N', which caused core dumps when referenced
+
+ss. Fixed a bug that caused `bash -m script' to not enable job control while
+ running the script.
+
+tt. Fixed a bug that caused `printf -v var' to dump core when used with the
+ %b format code.
+
+uu. Fixed a bug that caused the shell to exit with the wrong status if -e was
+ active and the shell exited on a substitution error.
+
+vv. Fixed a bug that caused the shell to seg fault if an array variable with
+ the same name as an existing associative array was implicitly created by
+ an assignment (declare a[n]=b).
+
+ww. Fixed a bug that caused a redirection to misbehave if the number specified
+ for a file descriptor overflows an intmax_t.
+
+xx. Fixed several bugs with the handling of valid and invalid unicode character
+ values when used with the \u and \U escape sequences to printf and $'...'.
+
+yy. Fixed a bug that caused tildes to not be escaped in expanded filenames,
+ making them subject to later expansion.
+
+zz. When using the pattern substitution word expansion, bash now runs the
+ replacement string through quote removal, since it allows quotes in that
+ string to act as escape characters. This is not backwards compatible, so
+ it can be disabled by setting the bash compatibility mode to 4.2.
+
+aaa. Fixed the rest of the cases where the shell runs non-allowed code in a
+ signal handler context.
+
+bbb. Fixed a bug that caused spurious DEL characters (\177) to appear in
+ double-quoted expansion where the RHS is evaluated to the empty string.
+
+ccc. Fixed a bug that caused the use of the shell's internal random number
+ generator for temporary file names to perturb the random number
+ sequence.
+
+ddd. Fixed several bugs that caused `declare -g' to not set the right global
+ variables or to misbehave when declaring global indexed arrays.
+
+eee. Fixed a logic bug that caused extended globbing in a multibyte locale to
+ cause failures when using the pattern substititution word expansions.
+
+fff. Fixed a bug that caused the `lastpipe' option to corrupt the file
+ descriptor used to read the script.
+
+ggg. Fixed a bug that causes the shell to delete DEL characters in the
+ expanded value of variables used in the same quoted string as variables
+ that expand to nothing.
+
+hhh. Fixed a bug that caused the shell to assign the wrong value from an
+ assignment like (( x=7 )) when `x' was an existing array variable.
+
+iii. Fixed a bug that caused the shell to misbehave when generating sequences
+ and the boundary values overflow an intmax_t.
+
+jjj. Fixed a bug caused expansion errors if an expansion of "$@" appeared
+ next to another expansion (e.g.. "${@}${x}").
+
+kkk. Fixed a potential buffer overflow bug when performing /dev/fd expansion.
+
+lll. Fixed a bug that resulted in an extra semicolon being added to compound
+ assignments when they were added to the history list.
+
+mmm. Fixed a bug that caused mapfile to read one extra line from the input.
+
+nnn. Fixed a bug that caused the mail checking code to use uninitialized
+ values.
+
+ooo. Fixed a bug that prevented history timestamps from being saved if the
+ history comment character is unset.
+
+ppp. Fixed a bug that caused the case-modifying expansions to not work with
+ multibyte characters.
+
+qqq. Fixed a bug that caused the edit-and-execute bindable readline command
+ to see the wrong data if invoked in the middle of a multi-line quoted
+ string.
+
+rrr. Fixed a bug that resulted in the shell returning the wrong exit status
+ for a background command on systems that recycle PIDs very quickly.
+
+sss. Fixed a bug that caused asynchronous group commands to not run any EXIT
+ trap defined in the body of the command.
+
+ttt. Fixed a bug that caused `eval "... ; return"' to not clean up properly.
+
+uuu. Fixed a bug that caused the shell to dump core if `read' reads an escaped
+ IFS whitespace character.
+
+vvv. Fixed a bug that caused BASH_COMMAND to be set to an incorrect value when
+ executing a (...) subshell.
+
+www. Fixed a couple of pointer aliasing bugs with the token string in arithmetic
+ evaluation.
+
+xxx. Fixed a bug with parsing multi-line command substitutions when reading
+ the `do' keyword followed by whitespace.
+
+yyy. Fixed a bug that caused the shell to seg fault if the time given to the
+ printf %(...)T format overflowed the value accepted by localtime(3).
+
+zzz. Fixed a problem with displaying help topics in two columns when the
+ translated text contained multibyte characters.
+
+aaaa. Fixed a bug with the extended globbing pattern matcher where a `*' was
+ followed by a negated extended glob pattern.
+
+bbbb. Fixed a race condition with short-lived coproc creation and reaping that
+ caused the child process to be reaped before the various coproc shell
+ variables were initialized.
+
+cccc. Fixed a bug where turning off `errexit' in command substitution subshells
+ was not reflected in $SHELLOPTS.
+
+dddd. Partially fixed an inconsistency in how the shell treated shell
+ functions run from an EXIT trap.
+
+eeee. Fixed a bug in how the shell invalidated FIFOs used for process
+ substitution when executing a pipeline (once rather than in every child).
+
+ffff. Fixed a bug that occurred when expanding a special variable ($@, $*)
+ within double quotes and the expansion resulted in an empty string.
+
+gggg. Fixed bugs with executing a SIGCHLD trap handler to make sure that it's
+ executed once per exited child.
+
+hhhh. Fixed a bug that caused `declare' and `test' to find variables that
+ had been given attributes but not assigned values. Such variables are
+ not set.
+
+iiii. Fixed a bug that caused commands in process substitutions to not look in
+ the local temporary environment when performing word expansions.
+
+jjjj. Fixed several problems with globstar expansions (**/**) returning null
+ filenames and multiple instances of the same pathname.
+
+kkkk. Fixed an oversight that did not allow the exit status of `coproc' to
+ be inverted using `!'.
+
+llll. Fixed a bug that caused the -e option to be re-enabled using `set -e'
+ even when executing in a context where -e is ignored.
+
+mmmm. Fixed a (mostly theoretical) bug with input lines longer than SIZE_MAX.
+
+nnnn. Fixed a bug that could result in double evaluation of command
+ substitutions when they appear in failed redirections.
+
+oooo. Fixed a bug that could cause seg faults during `mapfile' callbacks if
+ the callback unsets the array variable mapfile is using.
+
+pppp. Fixed several problems with variable assignments using ${var:=value}
+ when the variable assignment is supposed to have side effects.
+
+qqqq. Fixed a bug that caused a failure of an assignment statement preceding a
+ builtin caused the next invocation of a special builtin to exit the shell.
+
+rrrr. Fixed several problems with IFS when it appears in the temporary environment
+ and is used in redirections.
+
+ssss. Fixed a problem that caused IFS changes using ${IFS:=value} to modify
+ how preceding expansions were split.
+
+tttt. Fixed a problem that caused subshells to not run an EXIT trap they set.
+
+uuuu. Fixed a problem that caused shells started in posix mode to attempt to
+ import shell functions with invalid names from the environment. We now
+ print a warning.
+
+vvvv. Worked around a kernel problem that caused SIGCHLD to interrupt open(2)
+ on a FIFO used for process substitution, even if the SIGCHLD handler was
+ installed with the SA_RESTART flag.
+
+wwww. Fixed a problem that resulted in inconsistent expansion of $* and ${a[*]}.
+
+xxxx. Fixed a problem that caused `read -t' to crash when interrupted by
+ SIGINT.
+
+yyyy. Fixed a problem that caused pattern removal to fail randomly because the
+ pattern matcher read beyond the end of a string.
+
+zzzz. Fixed a bug that caused core dumps when shell functions tried to create
+ local shadow copies of special variables like GROUPS.
+
+aaaaa. Fixed a bug that caused SIGTERM to be occasionally lost by children of
+ interactive shells when it arrived before the child process reset the
+ handler from SIG_DFL.
+
+bbbbb. Fixed a bug that caused redirections like <&n- to leave file descriptor
+ n closed if executed with a builtin command.
+
+ccccc. Fixed a bug that caused incorrect completion quoting when completing a
+ word containing a globbing character with `show-all-if-ambiguous' set.
+
+ddddd. Fixed a bug that caused printf's %q format specifier not to quote a
+ tilde even if it appeared in a location where it would be subject to
+ tilde expansion.
+
+2. Changes to Readline
+
+a. Fixed a bug that did not allow the `dd', `cc', or `yy' vi editing mode
+ commands to work on the entire line.
+
+b. Fixed a bug that caused redisplay problems with prompts longer than 128
+ characters and history searches.
+
+c. Fixed a bug that caused readline to try and run code to modify its idea
+ of the screen size in a signal handler context upon receiving a SIGWINCH.
+
+d. Fixed a bug that caused the `meta' key to be enabled beyond the duration
+ of an individual call top readline().
+
+e. Added a workaround for a wcwidth bug in Mac OS X that caused readline's
+ redisplay to mishandle zero-width combining characters.
+
+f. Fixed a bug that caused readline to `forget' part of a key sequence when
+ a multiple-key sequence caused it to break out of an incremental search.
+
+g. Fixed bugs that caused readline to execute code in a signal handler
+ context if interrupted while reading from the file system during completion.
+
+h. Fixed a bug that caused readline to `forget' part of a key sequence when
+ reading an unbound multi-character key sequence.
+
+i. Fixed a bug that caused Readline's signal handlers to be installed beyond
+ the bounds of a single call to readline().
+
+j. Fixed a bug that caused the `.' command to not redo the most recent `R'
+ command in vi mode.
+
+k. Fixed a bug that caused ignoring case in completion matches to result in
+ readline using the wrong match.
+
+l. Paren matching now works in vi insert mode.
+
+m. Fix menu-completion to make show-all-if-ambiguous and menu-complete-display-prefix
+ work together.
+
+n. Fixed a bug that didn't allow the `cc', `dd', or `yy' commands to be redone
+ in vi editing mode.
+
+o. Fixed a bug that caused the filename comparison code to not compare
+ multibyte characters correctly when using case-sensitive or case-mapping
+ comparisons.
+
+p. Fixed the input reading loop to call the input hook function only when there
+ is no terminal input available.
+
+q. Fixed a bug that caused binding a macro to a multi-character key sequence
+ where the sequence and macro value share a common prefix to not perform
+ the macro replacement.
+
+r. Fixed several redisplay errors with multibyte characters and prompts
+ containing invisible characters when using horizontal scrolling.
+
+s. Fixed a bug that caused redisplay errors when trying to overwrite
+ existing characters using multibyte characters.
+
+3. New Features in Bash
+
+a. The `helptopic' completion action now maps to all the help topics, not just
+ the shell builtins.
+
+b. The `help' builtin no longer does prefix substring matching, so `help read'
+ does not match `readonly'.
+
+c. The shell can be compiled to not display a message about processes that
+ terminate due to SIGTERM.
+
+d. Non-interactive shells now react to the setting of checkwinsize and set
+ LINES and COLUMNS after a foreground job exits.
+
+e. There is a new shell option, `globasciiranges', which, when set to on,
+ forces globbing range comparisons to use character ordering as if they
+ were run in the C locale.
+
+f. There is a new shell option, `direxpand', which makes filename completion
+ expand variables in directory names in the way bash-4.1 did.
+
+g. In Posix mode, the `command' builtin does not change whether or not a
+ builtin it shadows is treated as an assignment builtin.
+
+h. The `return' and `exit' builtins accept negative exit status arguments.
+
+i. The word completion code checks whether or not a filename containing a
+ shell variable expands to a directory name and appends `/' to the word
+ as appropriate. The same code expands shell variables in command names
+ when performing command completion.
+
+j. In Posix mode, it is now an error to attempt to define a shell function
+ with the same name as a Posix special builtin.
+
+k. When compiled for strict Posix conformance, history expansion is disabled
+ by default.
+
+l. The history expansion character (!) does not cause history expansion when
+ followed by the closing quote in a double-quoted string.
+
+m. `complete' and its siblings compgen/compopt now takes a new `-o noquote'
+ option to inhibit quoting of the completions.
+
+n. Setting HISTSIZE to a value less than zero causes the history list to be
+ unlimited (setting it 0 zero disables the history list).
+
+o. Setting HISTFILESIZE to a value less than zero causes the history file size
+ to be unlimited (setting it to 0 causes the history file to be truncated
+ to zero size).
+
+p. The `read' builtin now skips NUL bytes in the input.
+
+q. There is a new `bind -X' option to print all key sequences bound to Unix
+ commands.
+
+r. When in Posix mode, `read' is interruptible by a trapped signal. After
+ running the trap handler, read returns 128+signal and throws away any
+ partially-read input.
+
+s. The command completion code skips whitespace and assignment statements
+ before looking for the command name word to be completed.
+
+t. The build process has a new mechanism for constructing separate help files
+ that better reflects the current set of compilation options.
+
+u. The -nt and -ot options to test now work with files with nanosecond
+ timestamp resolution.
+
+v. The shell saves the command history in any shell for which history is
+ enabled and HISTFILE is set, not just interactive shells.
+
+w. The shell has `nameref' variables and new -n(/+n) options to declare and
+ unset to use them, and a `test -R' option to test for them.
+
+x. The shell now allows assigning, referencing, and unsetting elements of
+ indexed arrays using negative subscripts (a[-1]=2, echo ${a[-1]}) which
+ count back from the last element of the array.
+
+y. The {x}<word redirection feature now allows words like {array[ind]} and
+ can use variables with special meanings to the shell (e.g., BASH_XTRACEFD).
+
+z. There is a new CHILD_MAX special shell variable; its value controls the
+ number of exited child statuses the shell remembers.
+
+aa. There is a new configuration option (--enable-direxpand-default) that
+ causes the `direxpand' shell option to be enabled by default.
+
+bb. Bash does not do anything special to ensure that the file descriptor
+ assigned to X in {x}<foo remains open after the block containing it
+ completes.
+
+cc. The `wait' builtin has a new `-n' option to wait for the next child to
+ change status.
+
+dd. The `printf' %(...)T format specifier now uses the current time if no
+ argument is supplied.
+
+ee. There is a new variable, BASH_COMPAT, that controls the current shell
+ compatibility level.
+
+ff. The `popd' builtin now treats additional arguments as errors.
+
+gg. The brace expansion code now treats a failed sequence expansion as a
+ simple string and will continue to expand brace terms in the remainder
+ of the word.
+
+4. New Features in Readline
+
+a. Readline is now more responsive to SIGHUP and other fatal signals when
+ reading input from the terminal or performing word completion but no
+ longer attempts to run any not-allowable functions from a signal handler
+ context.
+
+b. There are new bindable commands to search the history for the string of
+ characters between the beginning of the line and the point
+ (history-substring-search-forward, history-substring-search-backward)
+
+c. Readline allows quoted strings as the values of variables when setting
+ them with `set'. As a side effect, trailing spaces and tabs are ignored
+ when setting a string variable's value.
+
+d. The history library creates a backup of the history file when writing it
+ and restores the backup on a write error.
+
+e. New application-settable variable: rl_filename_stat_hook: a function called
+ with a filename before using it in a call to stat(2). Bash uses it to
+ expand shell variables so things like $HOME/Downloads have a slash
+ appended.
+
+f. New bindable function `print-last-kbd-macro', prints the most-recently-
+ defined keyboard macro in a reusable format.
+
+g. New user-settable variable `colored-stats', enables use of colored text
+ to denote file types when displaying possible completions (colored analog
+ of visible-stats).
+
+h. New user-settable variable `keyseq-timout', acts as an inter-character
+ timeout when reading input or incremental search strings.
+
+i. New application-callable function: rl_clear_history. Clears the history list
+ and frees all readline-associated private data.
+
+j. New user-settable variable, show-mode-in-prompt, adds a characters to the
+ beginning of the prompt indicating the current editing mode.
+
+k. New application-settable variable: rl_input_available_hook; function to be
+ called when readline needs to check whether there is data available on its
+ input source. The default hook checks rl_instream.
+
+l. Readline calls an application-set event hook (rl_signal_event_hook) after
+ it gets a signal while reading input (read returns -1/EINTR but readline
+ does not handle the signal immediately) to allow the application to handle
+ or otherwise note it. Not currently called for SIGHUP or SIGTERM.
+
+m. If the user-settable variable `history-size' is set to a value less than
+ 0, the history list size is unlimited.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.2-release,
+and the previous version, bash-4.2-rc2.
+
+1. Changes to Bash
+
+a. Fixed a bug that caused some variables to be clobbered by a longjmp,
+ resulting in stack corruption.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.2-rc2,
+and the previous version, bash-4.2-rc1.
+
+1. Changes to Bash
+
+a. Changes to bash_directory_completion_hook so that it's assigned to the
+ readline rl_directory_rewrite_hook variable, which modifies the directory
+ name passed to opendir without modifying the directory name the user
+ typed.
+
+b. Fixed bug in select builtin that caused it to not terminate correctly if
+ the read timed out due to $TMOUT.
+
+c. Fixed a problem that resulted in non-repeatable sequences of random
+ numbers when RANDOM=0.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.2-rc1,
+and the previous version, bash-4.2-beta.
+
+1. Changes to Bash
+
+a. Fixed a bug that caused some redirection errors to leak file descriptors.
+
+b. Fixed a bug that caused unary `+' and `-' arithmetic operators to have a
+ higher precedence than unary `!' and `~'.
+
+c. Fixed a bug that caused simple commands in a pipeline to affect the exit
+ status ($?) seen by subsequent pipeline commands.
+
+d. A number of cygwin-specific changes to avoid the use of text-mode files
+ and file access, and to make sure that \r is handled correctly.
+
+e. Fixed a bug that caused the read builtin to not return failure if an
+ attempt is made to assign to a readonly variable.
+
+f. Fixed a bug that caused some builtin usage messages to not be translated.
+
+g. Fixed a bug that caused the getopts builtin to not return failure if an
+ attempt is made to assign to a readonly variable. Now it returns 2.
+
+h. Fixed the cd and pwd builtins to return failure if PWD is readonly and
+ cannot be assigned to.
+
+i. Added code to check the return value of access(2) on Solaris systems,
+ since it returns success for executable tests (e.g., `test -x') when
+ run by root, even if the file permissions don't allow execution.
+
+2. Changes to Readline
+
+a. Fixed a bug that caused directory names in words to be completed to not
+ be dequoted correctly.
+
+3. New Features in Bash
+
+4. New Features in Readline
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.2-beta,
+and the previous version, bash-4.2-alpha.
+
+1. Changes to Bash
+
+a. Fixed a bug that caused the \W prompt string escape to not add a closing
+ NULL.
+
+b. Fixed a bug that caused partially-quoted words that were not subject to
+ word splitting to retained quoted NULLs.
+
+c. Added considerable efficiency speedups when pattern matching in multibyte
+ locales by skipping multibyte character functions where possible.
+
+d. Added considerable speedups to variable expansion when in multibyte locales.
+
+e. Fixed a bug that caused the expansion of $* when there are no positional
+ parameters to cause the shell to dump core when used in a pattern
+ matching context.
+
+f. Fixed a bug that caused variable expansions preceding regular builtins to
+ not change the shell environment during their execution.
+
+2. Changes to Readline
+
+a. Fixed a bug that made an explicit argument of 0 to yank-last-arg behave
+ as if it were a negative argument.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.2-alpha,
+and the previous version, bash-4.1-release.
+
+1. Changes to Bash
+
+a. Fixed a bug in the parser when processing alias expansions containing
+ quoted newlines.
+
+b. Fixed a memory leak in associative array expansion.
+
+c. Fixed a bug that caused quoted here-strings to be requoted when printed.
+
+d. Fixed a bug in arithmetic expansion that caused the index in an array
+ expansion to be evaluated twice under certain circumstances.
+
+e. Fixed several bugs with the expansion and display of variables that have
+ been given attributes but not values and are technically unset.
+
+f. Fixed a bug that caused core dumps when using filename completion that
+ expands to a filename containing a globbing character.
+
+g. Fixed a bug that caused assignment statements preceding a special builtin
+ when running in Posix mode to not persist after the builtin completed
+ when the special builtin was executed in a shell function without any
+ local variables.
+
+h. Fixed a bug that caused a command to remain in the hash table even after
+ `hash command' did not find anything if there was already an existing
+ hashed pathname.
+
+i. Fixed several bugs caused by executing unsafe functions from a signal
+ handler in the cases where a signal handler is executed immediately
+ rather than setting a flag for later execution.
+
+j. Fixed a bug that caused some internal flag variables to be set
+ incorrectly if `read -t' timed out.
+
+k. Fixed a Posix compatibility issue by making sure that a backslash escaping
+ a `}' within a double-quoted ${...} parameter expansion is removed as part
+ of the parameter expansion.
+
+l. Fixed a bug that caused execution of a trap to overwrite PIPESTATUS.
+
+m. Fixed a bug that caused here documents to not be displayed correctly
+ when attached to commands inside compound commands.
+
+n. Fixed a bug that caused the printf builtin to use the wrong precision
+ when using the `*' modifier.
+
+o. Fixed a bug that caused an arriving SIGCHLD to interrupt output functions
+ like those invoked by echo or printf.
+
+p. Changed to use a more robust mechanism than eaccess(2) when test is
+ checking filenames for execution permission.
+
+q. Fixed a bug that caused spurious semicolons to be added into the command
+ history in certain cases.
+
+r. Fixed a bug that caused the shell to free non-allocated memory when
+ unsetting element 0 of an associative array after it was assigned
+ implicitly.
+
+s. Fixed a bug that could cause the shell to dump core if using the `v'
+ vi editing command on a multi-line command.
+
+t. Fixed a bug that left FIFOs opened by process substitutions open long
+ enough to potentially cause file descriptor exhaustion when running a
+ shell function or shell builtin.
+
+u. Fixed a bug that caused the history expansion functions to not recognize
+ process substitution or extended glob patterns as single words.
+
+v. Fixed a bug that caused restricted shells to set a restricted command's
+ exit status incorrectly.
+
+w. Fixed a bug that caused bash to ignore the wrong set of filenames when
+ completing a command using the `complete-filename' readline command.
+
+x. Fixed a bug that caused a -PID argument following a -s sig or -n sig to
+ not be interpreted as a signal specification.
+
+y. Changed posix-mode behavior of a parse error in a `.' script or `eval'
+ command to exit the shell under Posix-specified conditions. Previous
+ versions printed a warning.
+
+z. Fixed a bug in \W prompt expansion that resulted in incorrect expansion
+ in the event of overlapping strings.
+
+aa. Fixed a bug that caused the := parameter expansion operator to return the
+ wrong value as the result of the expansion.
+
+bb. When in Posix mode, a single quote is not treated specially in a
+ double-quoted ${...} expansion, unless the expansion operator is
+ # or % or the non-Posix `//', `^', and `,'. In particular, it does
+ not define a new quoting context. This is from Posix interpretation 221.
+
+cc. Fixed a bug that inadvertently allowed program names containing slashes
+ to be entered into the command hash table.
+
+dd. Fixed a bug that caused the select builtin to incorrectly compute the
+ display width of the arguments in the presence of multibyte characters.
+
+ee. Fixed a bug that caused bash to not change the xtrace file descriptor if
+ BASH_XTRACEFD was found in the shell environment at startup.
+
+ff. Fixed a memory leak in the pattern removal parameter expansion.
+
+gg. Fixed a bug that caused SIGINT to fail to interrupt a nested loop if the
+ loop was in a pipeline.
+
+hh. Fixed a problem in $(...) parsing that caused the parser to add an extra
+ space to a here-document delimiter if the first word contained a `/'.
+
+ii. Fixed a bug that caused functions defined with the `function' reserved
+ word to require braces around the function body.
+
+jj. Fixed a bug that caused bash to dump core when a variable expansion being
+ used as an array subscript failed.
+
+kk. Fixed a bug that caused bash to dump core if the case-modification
+ expansions were used on a variable with a null value.
+
+ll. Fixed a bug that caused partially-quoted strings to be split incorrectly
+ if a variable with a null value was expanded within double quotes.
+
+mm. The pattern substitution word expansion has been sped up dramatically
+ when running in a locale with multibyte characters.
+
+nn. Fixed a bug that caused history -a to not write the correct lines to
+ the history file if all the new lines in the history list were added
+ since the last time the history file was read or written.
+
+oo. Fixed a bug that caused completion of a word with an unclosed `` command
+ substitution to set the prompt incorrectly.
+
+pp. Fixed a bug that caused extended globbing patterns in $HISTIGNORE or
+ $GLOBIGNORE to be incorrectly scanned.
+
+qq. Fixed a bug caused by closing file descriptors 3-20 on shell startup. The
+ shell now sets them to close-on-exec.
+
+rr. Fixed a bug that caused the exit status of `exec file' to be set incorrectly
+ if `file' was a directory.
+
+ss. Fixed a bug in the `.' builtin to make a non-interactive posix-mode shell
+ exit if the file argument to `.' is not found. Prefixing exec with
+ `command' makes the shell not exit. Posix requires this behavior.
+
+tt. Fixed a bug that caused `sh -c 'command exec; exit 1' to hang.
+
+uu. Fixed a bug in $(...) command substitution parsing that caused the shell
+ to treat backslash-newline incorrectly when parsing a comment.
+
+vv. Fixed bug that caused brace expansion sequence generation to misbehave
+ when supplied integers greater than 2**31 - 1.
+
+ww. Fixed a bug that caused failure to save file descriptors for redirections
+ to corrupt shell file descriptors.
+
+xx. Fixed a bug that caused bash-forward-shellword to not correctly handle
+ quoted strings.
+
+2. Changes to Readline
+
+a. Fixed a bug that caused the unconverted filename to be added to the list of
+ completions when the application specified filename conversion functions.
+
+b. Fixed a bug that caused the wrong filename to be passed to opendir when the
+ application has specified a filename dequoting function.
+
+c. Fixed a bug when repeating a character search in vi mode in the case where
+ there was no search to repeat.
+
+d. When show-all-if-ambiguous is set, the completion routines no longer insert
+ a common match prefix that is shorter than the text being completed.
+
+e. The full set of vi editing commands may now be used in callback mode.
+
+f. Fixed a bug that caused readline to not update its idea of the terminal
+ dimensions while running in `no-echo' mode.
+
+h. Fixed a bug that caused readline to dump core if an application called
+ rl_prep_terminal without setting rl_instream.
+
+i. Fixed a bug that caused meta-prefixed characters bound to incremental
+ search forward or backward to not be recognized if they were typed
+ subsequently.
+
+j. The incremental search code treats key sequences that map to the same
+ functions as (default) ^G, ^W, and ^Y as equivalent to those characters.
+
+k. Fixed a bug in menu-complete that caused it to misbehave with large
+ negative argument.
+
+l. Fixed a bug that caused vi-mode yank-last-arg to ring the bell when invoked
+ at the end of the line.
+
+3. New Features in Bash
+
+a. `exec -a foo' now sets $0 to `foo' in an executable shell script without a
+ leading #!.
+
+b. Subshells begun to execute command substitutions or run shell functions or
+ builtins in subshells do not reset trap strings until a new trap is
+ specified. This allows $(trap) to display the caller's traps and the
+ trap strings to persist until a new trap is set.
+
+c. `trap -p' will now show signals ignored at shell startup, though their
+ disposition still cannot be modified.
+
+d. $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences.
+
+e. declare/typeset has a new `-g' option, which creates variables in the
+ global scope even when run in a shell function.
+
+f. test/[/[[ have a new -v variable unary operator, which returns success if
+ `variable' has been set.
+
+g. Posix parsing changes to allow `! time command' and multiple consecutive
+ instances of `!' (which toggle) and `time' (which have no cumulative
+ effect).
+
+h. Posix change to allow `time' as a command by itself to print the elapsed
+ user, system, and real times for the shell and its children.
+
+j. $((...)) is always parsed as an arithmetic expansion first, instead of as
+ a potential nested command substitution, as Posix requires.
+
+k. A new FUNCNEST variable to allow the user to control the maximum shell
+ function nesting (recursive execution) level.
+
+l. The mapfile builtin now supplies a third argument to the callback command:
+ the line about to be assigned to the supplied array index.
+
+m. The printf builtin has a new %(fmt)T specifier, which allows time values
+ to use strftime-like formatting.
+
+n. There is a new `compat41' shell option.
+
+o. The cd builtin has a new Posix-mandated `-e' option.
+
+p. Negative subscripts to indexed arrays, previously errors, now are treated
+ as offsets from the maximum assigned index + 1.
+
+q. Negative length specifications in the ${var:offset:length} expansion,
+ previously errors, are now treated as offsets from the end of the variable.
+
+r. Parsing change to allow `time -p --'.
+
+s. Posix-mode parsing change to not recognize `time' as a keyword if the
+ following token begins with a `-'. This means no more Posix-mode
+ `time -p'. Posix interpretation 267.
+
+t. There is a new `lastpipe' shell option that runs the last command of a
+ pipeline in the current shell context. The lastpipe option has no
+ effect if job control is enabled.
+
+u. History expansion no longer expands the `$!' variable expansion.
+
+v. Posix mode shells no longer exit if a variable assignment error occurs
+ with an assignment preceding a command that is not a special builtin.
+
+w. Non-interactive mode shells exit if -u is enabled and an attempt is made
+ to use an unset variable with the % or # expansions, the `//', `^', or
+ `,' expansions, or the parameter length expansion.
+
+x. Posix-mode shells use the argument passed to `.' as-is if a $PATH search
+ fails, effectively searching the current directory. Posix-2008 change.
+
+4. New Features in Readline
+
+a. The history library does not try to write the history filename in the
+ current directory if $HOME is unset. This closes a potential security
+ problem if the application does not specify a history filename.
+
+b. New bindable variable `completion-display-width' to set the number of
+ columns used when displaying completions.
+
+c. New bindable variable `completion-case-map' to cause case-insensitive
+ completion to treat `-' and `_' as identical.
+
+d. There are new bindable vi-mode command names to avoid readline's case-
+ insensitive matching not allowing them to be bound separately.
+
+e. New bindable variable `menu-complete-display-prefix' causes the menu
+ completion code to display the common prefix of the possible completions
+ before cycling through the list, instead of after.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.1-rc,
+and the previous version, bash-4.1-beta.
+
+1. Changes to Bash
+
+a. Fixed a bug that caused printf to not return a partial value when it
+ encountered an error while converting an integer argument.
+
+b. Fixed a bug that caused setting one of the compatNN options to not
+ turn off the others.
+
+c. The (undocumented) --wordexp option is no longer included by default.
+
+d. Fixed a bug in conditional command execution that caused it to not
+ correctly ignore the exit status under certain circumstances.
+
+e. Added a configure-time check for correctly-working asprintf/snprintf.
+
+f. Fixed some problems with line number calculation and display when sourcing
+ a file in an interactive shell.
+
+g. Fixed a bug that caused the shell to crash when using `declare -A foo=bar'.
+
+h. Fixed a bug that caused an off-by-one error when calculating the directories
+ to display with the PROMPT_DIRTRIM option.
+
+2. Changes to Readline
+
+a. Fixed a bug that caused applications using the callback interface to not
+ react to SIGINT (or other signals) until another character arrived.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.1-beta,
+and the previous version, bash-4.1-alpha.
+
+1. Changes to Bash
+
+a. Fixed a bug in mapfile that caused the shell to crash if it was passed the
+ name of an associative array.
+
+b. Fixed a bug that caused the shell to incorrectly split case patterns if
+ they contained characters in $IFS.
+
+c. Fixed a bug that caused the shell to set $? to the wrong value when using
+ a construct ending with a variable assignment with set -x enabled and PS4
+ containing a command substitution.
+
+d. Fixed a bug that caused the shell to read commands incorrectly if an
+ expansion error occurred under certain conditions in a user-specified
+ subshell.
+
+e. Fixed a bug that caused the shell to set $? incorrectly if a parse error
+ occurred in an evaluation context ("eval", trap command, dot script, etc.)
+
+f. Fixed a bug that caused the shell to attempt command substitution
+ completion within a single-quoted string.
+
+g. Fixed a bug that caused the shell to insert an extra single quote during
+ word completion.
+
+h. Fixed a bug that caused the shell to crash if invoked with the environment
+ variable EMACS having a null value.
+
+i. Fixed a bug that caused bash to incorrectly report the presence of new
+ mail in a `maildir' environment.
+
+j. Fixed a bug that caused the shell to not recognize a here-document ending
+ delimiter inside a command substitution.
+
+k. Fixed a bug that caused the shell to crash when a a dynamic array variable
+ was assigned a scalar value.
+
+2. Changes to Readline
+
+3. New Features in Bash
+
+a. The mapfile/readarray builtin no longer stores the commands it invokes via
+ callbacks in the history list.
+
+b. There is a new `compat40' shopt option.
+
+c. The < and > operators to [[ do string comparisons using the current locale
+ only if the compatibility level is greater than 40 (set to 41 by default).
+
+4. New Features in Readline
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.1-alpha,
+and the previous version, bash-4.0-release.
+
+1. Changes to Bash
+
+a. Fixed bugs in the parser involving new parsing of the commands contained
+ in command substitution when the substitution is read.
+
+b. Fixed a bug that caused the shell to dump core when performing programmable
+ completion using a shell function.
+
+c. Fixed a bug in `mapfile' that caused it to invoke callbacks at the wrong
+ time.
+
+d. Fixed a bug that caused the shell to dump core when listing jobs in the
+ `exit' builtin.
+
+e. Fixed several bugs encountered when reading subscripts in associative
+ array assignments and expansions.
+
+f. Fixed a bug that under some circumstances caused an associative array to
+ be converted to an indexed array.
+
+g. Fixed a bug that caused syntax errors and SIGINT interrupts to not set
+ $? to a value > 128.
+
+h. Fixed a bug that caused the shell to remove FIFOs associated with process
+ substitution inside shell functions.
+
+i. Fixed a bug that caused terminal attributes to not be reset when the
+ `read' builtin timed out.
+
+j. Fixed a bug in brace expansion that caused unwanted zero padding of the
+ expanded terms.
+
+k. Fixed a bug that prevented the |& construct from working as intended when
+ used with a simple command with additional redirections.
+
+l. Fixed a bug with the case statement ;& terminator that caused the shell to
+ dereference a NULL pointer.
+
+m. Fixed a bug that caused assignment statements or redirections preceding
+ a simple command name to inhibit alias expansion.
+
+n. Fixed the behavior of `set -u' to conform to the latest Posix interpretation:
+ every expansion of an unset variable except $@ and $* will cause the
+ shell to exit.
+
+o. Fixed a bug that caused double-quoted expansions of $* inside word
+ expansions like ${x#$*} to not expand properly when $IFS is empty.
+
+p. Fixed a bug that caused traps to set $LINENO to the wrong value when they
+ execute.
+
+q. Fixed a bug that caused off-by-one errors when computing history lines in
+ the `fc' builtin.
+
+r. Fixed a bug that caused some terminating signals to not exit the shell
+ quickly enough, forcing the kernel to send the signal (e.g., SIGSEGV)
+ multiple times.
+
+s. Fixed a bug that caused the shell to attempt to add empty lines to the
+ history list when reading here documents.
+
+t. Made some internal changes that dramatically speeds up sequential indexed
+ array access.
+
+u. Fixed a bug that caused the shell to write past the end of a string when
+ completing a double-quoted string ending in a backslash.
+
+v. Fixed a bug that caused the shell to replace too many characters when a
+ pattern match was null in a ${foo//bar} expansion.
+
+w. Fixed bugs in the expansion of ** that caused duplicate directory names
+ and the contents of the current directory to be omitted.
+
+x. Fixed a bug that caused $? to not be set correctly when referencing an
+ unset variable with set -u and set -e enabled.
+
+y. Fixed a bug caused by executing an external program from the DEBUG trap
+ while a pipeline was running. The effect was to disturb the pipeline
+ state, occasionally causing it to hang.
+
+z. Fixed a bug that caused the ** glob expansion to dump core if it
+ encountered an unsearchable directory.
+
+aa. Fixed a bug that caused `command -v' and `command -V' to not honor the
+ path set by the -p option.
+
+bb. Fixed a bug that caused brace expansion to take place too soon in some
+ compound array assignments.
+
+cc. Fixed a bug that caused programmable completion functions' changes to
+ READLINE_POINT to not be reflected back to readline.
+
+dd. Fixed a bug that caused the shell to dump core if a trap was executed
+ during a shell assignment statement.
+
+ee. Fixed an off-by-one error when computing the number of positional
+ parameters for the ${@:0:n} expansion.
+
+ff. Fixed a problem with setting COMP_CWORD for programmable completion
+ functions that could leave it set to -1.
+
+gg. Fixed a bug that caused the ERR trap to be triggered in some cases where
+ `set -e' would not have caused the shell to exit.
+
+hh. Fixed a bug that caused changes made by `compopt' to not persist past the
+ completion function in which compopt was executed.
+
+ii. Fixed a bug that caused the list of hostname completions to not be cleared
+ when HOSTNAME was unset.
+
+jj. Fixed a bug that caused variable expansion in here documents to look in
+ any temporary environment.
+
+kk. Bash and readline can now convert file names between precomposed and
+ decomposed Unicode on Mac OS X ("keyboard" and file system forms,
+ respectively). This affects filename completion (using new
+ rl_filename_rewrite_hook), globbing, and readline redisplay.
+
+ll. The ERR and EXIT traps now see a non-zero value for $? when a parser
+ error after set -e has been enabled causes the shell to exit.
+
+mm. Fixed a bug that in brace expansion that caused zero-prefixed terms to
+ not contain the correct number of digits.
+
+nn. Fixed a bug that caused the shell to free non-allocated memory when
+ unsetting an associative array which had had a value implicitly assigned
+ to index "0".
+
+oo. Fixed a memory leak in the ${!prefix@} expansion.
+
+pp. Fixed a bug that caused printf to not correctly report all write errors.
+
+qq. Fixed a bug that caused single and double quotes to act as delimiters
+ when splitting a command line into words for programmable completion.
+
+rr. Fixed a bug that caused ** globbing that caused **/path/* to match every
+ directory, not just those matching `path'.
+
+ss. Fixed a bug that caused the shell to dump core when running `help' without
+ arguments if the terminal width was fewer than 7 characters.
+
+2. Changes to Readline
+
+a. The SIGWINCH signal handler now avoids calling the redisplay code if
+ one arrives while in the middle of redisplay.
+
+b. Changes to the timeout code to make sure that timeout values greater
+ than one second are handled better.
+
+c. Fixed a bug in the redisplay code that was triggered by a prompt
+ containing invisible characters exactly the width of the screen.
+
+d. Fixed a bug in the redisplay code encountered when running in horizontal
+ scroll mode.
+
+e. Fixed a bug that prevented menu completion from properly completing
+ filenames.
+
+f. Fixed a redisplay bug caused by a multibyte character causing a line to
+ wrap.
+
+g. Fixed a bug that caused key sequences of two characters to not be
+ recognized when a longer sequence identical in the first two characters
+ was bound.
+
+h. Fixed a bug that caused history expansion to be attempted on $'...'
+ single-quoted strings.
+
+i. Fixed a bug that caused incorrect redisplay when the prompt contained
+ multibyte characters in an `invisible' sequence bracketed by \[ and
+ \].
+
+j. Fixed a bug that caused history expansion to short-circuit after
+ encountering a multibyte character.
+
+3. New Features in Bash
+
+a. Here-documents within $(...) command substitutions may once more be
+ delimited by the closing right paren, instead of requiring a newline.
+
+b. Bash's file status checks (executable, readable, etc.) now take file
+ system ACLs into account on file systems that support them.
+
+c. Bash now passes environment variables with names that are not valid
+ shell variable names through into the environment passed to child
+ processes.
+
+d. The `execute-unix-command' readline function now attempts to clear and
+ reuse the current line rather than move to a new one after the command
+ executes.
+
+e. `printf -v' can now assign values to array indices.
+
+f. New `complete -E' and `compopt -E' options that work on the "empty"
+ completion: completion attempted on an empty command line.
+
+g. New complete/compgen/compopt -D option to define a `default' completion:
+ a completion to be invoked on command for which no completion has been
+ defined. If this function returns 124, programmable completion is
+ attempted again, allowing a user to dynamically build a set of completions
+ as completion is attempted by having the default completion function
+ install individual completion functions each time it is invoked.
+
+h. When displaying associative arrays, subscripts are now quoted.
+
+i. Changes to dabbrev-expand to make it more `emacs-like': no space appended
+ after matches, completions are not sorted, and most recent history entries
+ are presented first.
+
+j. The [[ and (( commands are now subject to the setting of `set -e' and the
+ ERR trap.
+
+k. The source/. builtin now removes NUL bytes from the file before attempting
+ to parse commands.
+
+l. There is a new configuration option (in config-top.h) that forces bash to
+ forward all history entries to syslog.
+
+m. A new variable $BASHOPTS to export shell options settable using `shopt' to
+ child processes.
+
+n. There is a new configure option that forces the extglob option to be
+ enabled by default.
+
+o. New variable $BASH_XTRACEFD; when set to an integer bash will write xtrace
+ output to that file descriptor.
+
+p. If the optional left-hand-side of a redirection is of the form {var}, the
+ shell assigns the file descriptor used to $var or uses $var as the file
+ descriptor to move or close, depending on the redirection operator.
+
+q. The < and > operators to the [[ conditional command now do string
+ comparison according to the current locale.
+
+r. Programmable completion now uses the completion for `b' instead of `a'
+ when completion is attempted on a line like: a $(b c.
+
+s. Force extglob on temporarily when parsing the pattern argument to
+ the == and != operators to the [[ command, for compatibility.
+
+t. Changed the behavior of interrupting the wait builtin when a SIGCHLD is
+ received and a trap on SIGCHLD is set to be Posix-mode only.
+
+u. The read builtin has a new `-N nchars' option, which reads exactly NCHARS
+ characters, ignoring delimiters like newline.
+
+4. New Features in Readline
+
+a. New bindable function: menu-complete-backward.
+
+b. In the vi insertion keymap, C-n is now bound to menu-complete by default,
+ and C-p to menu-complete-backward.
+
+c. When in vi command mode, repeatedly hitting ESC now does nothing, even
+ when ESC introduces a bound key sequence. This is closer to how
+ historical vi behaves.
+
+d. New bindable function: skip-csi-sequence. Can be used as a default to
+ consume key sequences generated by keys like Home and End without having
+ to bind all keys.
+
+e. New application-settable function: rl_filename_rewrite_hook. Can be used
+ to rewrite or modify filenames read from the file system before they are
+ compared to the word to be completed.
+
+f. New bindable variable: skip-completed-text, active when completing in the
+ middle of a word. If enabled, it means that characters in the completion
+ that match characters in the remainder of the word are "skipped" rather
+ than inserted into the line.
+
+g. The pre-readline-6.0 version of menu completion is available as
+ "old-menu-complete" for users who do not like the readline-6.0 version.
+
+h. New bindable variable: echo-control-characters. If enabled, and the
+ tty ECHOCTL bit is set, controls the echoing of characters corresponding
+ to keyboard-generated signals.
+
+i. New bindable variable: enable-meta-key. Controls whether or not readline
+ sends the smm/rmm sequences if the terminal indicates it has a meta key
+ that enables eight-bit characters.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.0-release,
+and the previous version, bash-4.0-rc1.
+
+1. Changes to Bash
+
+a. Changed the message printed when setlocale(3) fails to only include the
+ strerror error text if the call changes errno.
+
+b. Changed trap command execution to reset the line number before running a
+ trap (except DEBUG and RETURN traps).
+
+c. Fixed behavior of case-modifiying word expansions to not work on
+ individual words within a variable's value.
+
+d. Fixed a bug that caused mapfile to not be interruptible when run in an
+ interactive shell.
+
+e. Fixed a bug that caused mapfile to not run callbacks for the first line
+ read.
+
+f. Fixed a bug that caused mapfile to not honor EOF typed in an interactive
+ shell.
+
+g. Fixed the coprocess reaping code to not run straight from a signal handler.
+
+h. Fixed a bug that caused printf -b to ignore the first % conversion specifier
+ in the format string on 64-bit systems.
+
+i. Fixed a bug that caused incorrect word splitting when `:', `=', or `~'
+ appeared in $IFS.
+
+j. Fixed a bug that caused data corruption in the programmable completion code
+ when a shell function called from a completion aborted execution.
+
+k. Fixed a bug that caused the CPU usage reported by the `time' builtin to be
+ capped at 100%.
+
+l. Changed behavior of shell when -e option is in effect to reflect consensus
+ of Posix shell standardization working group.
+
+m. Fixed a bug introduced in bash-4.0-alpha that caused redirections to not
+ be displayed by `type' or `declare' when appearing in functions under
+ certain circumstances.
+
+2. Changes to Readline
+
+a. Fixed a bug that caused !(...) extended glob patterns to inhibit later
+ history expansion.
+
+b. Reworked the signal handling to avoid calling disallowed functions from a
+ signal handler.
+
+3. New Features in Bash
+
+a. `readarray' is now a synonym for `mapfile'.
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.0-rc1,
+and the previous version, bash-4.0-beta2.
+
+1. Changes to Bash
+
+a. Fixed a bug that caused parsing errors when a $()-style command
+ substitution was followed immediately by a quoted newline.
+
+b. Fixed a bug that caused extended shell globbing patterns beginning with
+ `*(' to not work when used with pattern substitution word expansions.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.0-beta2,
+and the previous version, bash-4.0-beta.
+
+1. Changes to Bash
+
+a. Fixed a bug that caused failed word expansions to set $? but not
+ PIPESTATUS.
+
+b. Changed filename completion to quote the tilde in a filename with a
+ leading tilde that exists in the current directory.
+
+c. Fixed a bug that caused a file descriptor leak when performing
+ redirections attached to a compound command.
+
+d. Fixed a bug that caused expansions of $@ and $* to not exit the shell if
+ the -u option was enabled and there were no posititional parameters.
+
+e. Fixed a bug that resulted in bash not terminating immediately if a
+ terminating signal was received while performing output.
+
+f. Fixed a bug that caused the shell to crash after creating 256 process
+ substitutions during word completion.
+
+2. Changes to Readline
+
+a. Fixed a bug that caused redisplay errors when using prompts with invisible
+ characters and numeric arguments to a command in a multibyte locale.
+
+b. Fixed a bug that caused redisplay errors when using prompts with invisible
+ characters spanning more than two physical screen lines.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.0-beta,
+and the previous version, bash-4.0-alpha.
+
+1. Changes to Bash
+
+a. Fixed a typo that caused a variable to be used before initialization
+ while parsing Posix-style command substitutions.
+
+b. Fixed a bug that caused stray ^? when the expansion of a parameter used
+ as part of a pattern removal expansion is empty, but part of a non-
+ empty string.
+
+c. Fixed a bug that could cause strings not converted to numbers by strtol
+ to be treated as if the conversion had been successful.
+
+d. The `return' builtin now accepts no options and requires a `--' before
+ a negative return value, as Posix requires.
+
+e. Fixed a bug that caused local variables to be created with the empty
+ string for a value rather than no value.
+
+f. Changed behavior so the shell now acts as if it received an interrupt
+ when a pipeline is killed by SIGINT while executing a list.
+
+g. Fixed a bug that caused `declare var' and `typeset var' to initialize
+ `var' to the empty string.
+
+h. Changed `bind' builtin to print a warning but proceed if invoked when
+ line editing is not active.
+
+i. Fixed a bug that caused the shell to exit when the `errexit' option is
+ set and a command in a pipeline returns a non-zero exit status.
+
+j. Fixed a bug that caused the shell to not run the exit trap in a command
+ run with `bash -c' under some circumstances.
+
+k. Fixed a bug that caused parser errors to occasionally not set $? when
+ running commands with `eval'.
+
+l. Fixed a bug that caused stray control characters when evaluating compound
+ array assignments containing $'\x7f' escapes.
+
+m. Fixed a bug that caused redirections involving file descriptor 10 as the
+ target to behave incorrectly.
+