summaryrefslogtreecommitdiff
path: root/debian/patches
diff options
context:
space:
mode:
authorAn-Cheng Huang <ancheng@vyatta.com>2007-11-12 13:13:20 -0800
committerAn-Cheng Huang <ancheng@vyatta.com>2007-11-14 16:16:47 -0800
commitfc7695ee76400ee9833301f98a3fe483d64591b5 (patch)
tree15b568f5adfa956817cf9f5a1652c43d33d8efa9 /debian/patches
parentb7fc9e0f6d6105ba2203f219743d4b269415e84b (diff)
downloadvyatta-bash-fc7695ee76400ee9833301f98a3fe483d64591b5.tar.gz
vyatta-bash-fc7695ee76400ee9833301f98a3fe483d64591b5.zip
initial import from bash_3.1dfsg-8.diff.gzupstream
Diffstat (limited to 'debian/patches')
-rwxr-xr-xdebian/patches/bash-default-editor.dpatch48
-rwxr-xr-xdebian/patches/bash-subst-param-length.dpatch32
-rwxr-xr-xdebian/patches/bash31-001.dpatch123
-rw-r--r--debian/patches/bash31-002-doc.dpatch145
-rwxr-xr-xdebian/patches/bash31-002.dpatch147
-rwxr-xr-xdebian/patches/bash31-003.dpatch64
-rwxr-xr-xdebian/patches/bash31-004.dpatch65
-rwxr-xr-xdebian/patches/bash31-005.dpatch71
-rwxr-xr-xdebian/patches/bash31-006.dpatch77
-rwxr-xr-xdebian/patches/bash31-007.dpatch140
-rwxr-xr-xdebian/patches/bash31-008.dpatch70
-rwxr-xr-xdebian/patches/bash31-009.dpatch85
-rwxr-xr-xdebian/patches/bash31-010.dpatch183
-rwxr-xr-xdebian/patches/bash31-011.dpatch66
-rwxr-xr-xdebian/patches/bash31-012.dpatch66
-rwxr-xr-xdebian/patches/bash31-013.dpatch63
-rwxr-xr-xdebian/patches/bash31-014.dpatch124
-rwxr-xr-xdebian/patches/bash31-015.dpatch125
-rwxr-xr-xdebian/patches/bash31-016.dpatch70
-rwxr-xr-xdebian/patches/bash31-017.dpatch150
-rwxr-xr-xdebian/patches/bashbug-editor.dpatch31
-rw-r--r--debian/patches/bashdb-updates.dpatch24
-rw-r--r--debian/patches/bashdb.dpatch56
-rw-r--r--debian/patches/command-not-found-doc.dpatch35
-rwxr-xr-xdebian/patches/command-not-found.dpatch66
-rwxr-xr-xdebian/patches/deb-bash-config.dpatch81
-rwxr-xr-xdebian/patches/deb-examples.dpatch30
-rwxr-xr-xdebian/patches/input-err.dpatch30
-rwxr-xr-xdebian/patches/login-shell.dpatch34
-rwxr-xr-xdebian/patches/man-arithmetic.dpatch32
-rwxr-xr-xdebian/patches/man-bashlogout.dpatch31
-rwxr-xr-xdebian/patches/man-bashrc.dpatch81
-rw-r--r--debian/patches/man-builtin.dpatch29
-rwxr-xr-xdebian/patches/man-fignore.dpatch33
-rw-r--r--debian/patches/man-net-redirections-doc.dpatch31
-rwxr-xr-xdebian/patches/man-net-redirections.dpatch31
-rwxr-xr-xdebian/patches/man-nocaseglob.dpatch32
-rw-r--r--debian/patches/man-substring-exp-doc.dpatch31
-rwxr-xr-xdebian/patches/man-substring-exp.dpatch31
-rwxr-xr-xdebian/patches/man-test.dpatch32
-rw-r--r--debian/patches/man-test2-doc.dpatch32
-rwxr-xr-xdebian/patches/man-test2.dpatch44
-rwxr-xr-xdebian/patches/man-typos.dpatch36
-rw-r--r--debian/patches/man-vx-opts.dpatch34
-rwxr-xr-xdebian/patches/pgrp-pipe.dpatch29
-rwxr-xr-xdebian/patches/po-sv.dpatch4206
-rwxr-xr-xdebian/patches/privmode.dpatch37
-rw-r--r--debian/patches/random.dpatch107
-rwxr-xr-xdebian/patches/rbash-manpage.dpatch29
-rwxr-xr-xdebian/patches/read-memleak.dpatch29
-rwxr-xr-xdebian/patches/readline51-001.dpatch94
-rw-r--r--debian/patches/rl-del-backspace-policy.dpatch48
-rw-r--r--debian/patches/rl-examples-bdb.dpatch30
-rw-r--r--debian/patches/rl-header.dpatch28
-rwxr-xr-xdebian/patches/rl-inputrc.dpatch102
-rw-r--r--debian/patches/rl-setenv.dpatch30
-rw-r--r--debian/patches/template.dpatch18
-rw-r--r--debian/patches/ulimit-doc.dpatch50
-rwxr-xr-xdebian/patches/ulimit.dpatch88
59 files changed, 7766 insertions, 0 deletions
diff --git a/debian/patches/bash-default-editor.dpatch b/debian/patches/bash-default-editor.dpatch
new file mode 100755
index 0000000..1d0f44c
--- /dev/null
+++ b/debian/patches/bash-default-editor.dpatch
@@ -0,0 +1,48 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Use `command -v editor`, as an editor, if available.
+
+--- bash/builtins/fc.def~ 2005-10-13 18:11:24.798452832 +0200
++++ bash/builtins/fc.def 2005-10-13 19:36:11.956087320 +0200
+@@ -156,11 +156,11 @@
+ #endif
+
+ /* String to execute on a file that we want to edit. */
+-#define FC_EDIT_COMMAND "${FCEDIT:-${EDITOR:-vi}}"
++#define FC_EDIT_COMMAND "${FCEDIT:-${EDITOR:-$(command -v editor || echo vi)}}"
+ #if defined (STRICT_POSIX)
+ # define POSIX_FC_EDIT_COMMAND "${FCEDIT:-ed}"
+ #else
+-# define POSIX_FC_EDIT_COMMAND "${FCEDIT:-${EDITOR:-ed}}"
++# define POSIX_FC_EDIT_COMMAND "${FCEDIT:-${EDITOR:-$(command -v editor || echo ed)}}"
+ #endif
+
+ int
+--- bash/bashline.c~ 2005-10-13 18:11:24.827448424 +0200
++++ bash/bashline.c 2005-10-13 19:37:35.382404592 +0200
+@@ -800,8 +800,8 @@
+ command being entered (if no explicit argument is given), otherwise on
+ a command from the history file. */
+
+-#define VI_EDIT_COMMAND "fc -e \"${VISUAL:-${EDITOR:-vi}}\""
+-#define EMACS_EDIT_COMMAND "fc -e \"${VISUAL:-${EDITOR:-emacs}}\""
++#define VI_EDIT_COMMAND "fc -e \"${VISUAL:-${EDITOR:-$(command -v editor || echo vi)}}\""
++#define EMACS_EDIT_COMMAND "fc -e \"${VISUAL:-${EDITOR:-$(command -v editor || echo emacs)}}\""
+ #define POSIX_VI_EDIT_COMMAND "fc -e vi"
+
+ static int
diff --git a/debian/patches/bash-subst-param-length.dpatch b/debian/patches/bash-subst-param-length.dpatch
new file mode 100755
index 0000000..d84a4e3
--- /dev/null
+++ b/debian/patches/bash-subst-param-length.dpatch
@@ -0,0 +1,32 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+DP: ignore array subscript while determining variable name for length
+DP: substitution
+DP: (#345861)
+
+--- ../bash-3.1/subst.c 2006-01-14 01:12:02.000000000 +0100
++++ subst.c 2006-01-14 01:12:39.000000000 +0100
+@@ -5814,7 +5814,7 @@
+ {
+ t_index++;
+ free (name);
+- temp1 = string_extract (string, &t_index, "#%:-=?+/}", 0);
++ temp1 = string_extract (string, &t_index, "#%:-=?+/}", EX_VARNAME);
+ name = (char *)xmalloc (3 + (strlen (temp1)));
+ *name = string[sindex];
+ if (string[sindex] == '!')
diff --git a/debian/patches/bash31-001.dpatch b/debian/patches/bash31-001.dpatch
new file mode 100755
index 0000000..db4ac25
--- /dev/null
+++ b/debian/patches/bash31-001.dpatch
@@ -0,0 +1,123 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Fix parsing problems with compound assignments
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-001
+
+Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
+Bug-Reference-ID: <20051212015924.GA820@toucan.gentoo.org> <20051214034438.GK1863@toucan.gentoo.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00030.html http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00041.html
+
+Bug-Description:
+
+There are parsing problems with compound assignments in several contexts,
+including as arguments to builtins like `local', `eval', and `let', and
+as multiple assignments in a single command.
+
+Patch:
+
+*** ../bash-3.1/parse.y Fri Nov 11 23:14:18 2005
+--- parse.y Fri Dec 16 20:43:07 2005
+***************
+*** 3696,3700 ****
+ b = builtin_address_internal (token, 0);
+ if (b && (b->flags & ASSIGNMENT_BUILTIN))
+! parser_state |= PST_ASSIGNOK;
+ }
+
+--- 3696,3702 ----
+ b = builtin_address_internal (token, 0);
+ if (b && (b->flags & ASSIGNMENT_BUILTIN))
+! parser_state |= PST_ASSIGNOK;
+! else if (STREQ (token, "eval") || STREQ (token, "let"))
+! parser_state |= PST_ASSIGNOK;
+ }
+
+***************
+*** 4687,4691 ****
+ {
+ WORD_LIST *wl, *rl;
+! int tok, orig_line_number, orig_token_size;
+ char *saved_token, *ret;
+
+--- 4689,4693 ----
+ {
+ WORD_LIST *wl, *rl;
+! int tok, orig_line_number, orig_token_size, orig_last_token, assignok;
+ char *saved_token, *ret;
+
+***************
+*** 4693,4696 ****
+--- 4695,4699 ----
+ orig_token_size = token_buffer_size;
+ orig_line_number = line_number;
++ orig_last_token = last_read_token;
+
+ last_read_token = WORD; /* WORD to allow reserved words here */
+***************
+*** 4699,4702 ****
+--- 4702,4707 ----
+ token_buffer_size = 0;
+
++ assignok = parser_state&PST_ASSIGNOK; /* XXX */
++
+ wl = (WORD_LIST *)NULL; /* ( */
+ parser_state |= PST_COMPASSIGN;
+***************
+*** 4741,4745 ****
+ }
+
+! last_read_token = WORD;
+ if (wl)
+ {
+--- 4746,4750 ----
+ }
+
+! last_read_token = orig_last_token; /* XXX - was WORD? */
+ if (wl)
+ {
+***************
+*** 4753,4756 ****
+--- 4758,4765 ----
+ if (retlenp)
+ *retlenp = (ret && *ret) ? strlen (ret) : 0;
++
++ if (assignok)
++ parser_state |= PST_ASSIGNOK;
++
+ return ret;
+ }
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 0
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 1
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bash31-002-doc.dpatch b/debian/patches/bash31-002-doc.dpatch
new file mode 100644
index 0000000..3215ef2
--- /dev/null
+++ b/debian/patches/bash31-002-doc.dpatch
@@ -0,0 +1,145 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-002
+
+Bug-Reported-by: vapier@gentoo.org
+Bug-Reference-ID: <20051210223218.GD3324@toucan.gentoo.org>
+Bug-Reference-URL:http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00021.html
+
+Bug-Description:
+
+This corrects several omissions in the bash documentation: It adds the new
+options to `ulimit', the exact expansions for `case' patterns, clarification
+of the language concerning the return value of `[[', and updated version
+information.
+
+Patch:
+
+*** ../bash-3.1/doc/bashref.texi Mon Oct 3 15:07:21 2005
+--- doc/bashref.texi Fri Dec 30 10:50:39 2005
+***************
+*** 962,967 ****
+ is enabled, the match is performed without regard to the case
+ of alphabetic characters.
+! The return value is 0 if the string matches or does not match
+! the pattern, respectively, and 1 otherwise.
+ Any part of the pattern may be quoted to force it to be matched as a
+ string.
+--- 962,967 ----
+ is enabled, the match is performed without regard to the case
+ of alphabetic characters.
+! The return value is 0 if the string matches (@samp{==}) or does not
+! match (@samp{!=})the pattern, and 1 otherwise.
+ Any part of the pattern may be quoted to force it to be matched as a
+ string.
+***************
+*** 2599,2603 ****
+ or inconvenient to obtain with separate utilities.
+
+! This section briefly the builtins which Bash inherits from
+ the Bourne Shell, as well as the builtin commands which are unique
+ to or have been extended in Bash.
+--- 2597,2601 ----
+ or inconvenient to obtain with separate utilities.
+
+! This section briefly describes the builtins which Bash inherits from
+ the Bourne Shell, as well as the builtin commands which are unique
+ to or have been extended in Bash.
+***************
+*** 3834,3838 ****
+ @btindex ulimit
+ @example
+! ulimit [-acdflmnpstuvSH] [@var{limit}]
+ @end example
+ @code{ulimit} provides control over the resources available to processes
+--- 3834,3838 ----
+ @btindex ulimit
+ @example
+! ulimit [-acdfilmnpqstuvxSH] [@var{limit}]
+ @end example
+ @code{ulimit} provides control over the resources available to processes
+***************
+*** 3858,3861 ****
+--- 3858,3864 ----
+ The maximum size of files created by the shell.
+
++ @item -i
++ The maximum number of pending signals.
++
+ @item -l
+ The maximum size that may be locked into memory.
+***************
+*** 3870,3873 ****
+--- 3873,3879 ----
+ The pipe buffer size.
+
++ @item -q
++ The maximum number of bytes in POSIX message queues.
++
+ @item -s
+ The maximum stack size.
+***************
+*** 3882,3885 ****
+--- 3888,3894 ----
+ The maximum amount of virtual memory available to the process.
+
++ @item -x
++ The maximum number of file locks.
++
+ @end table
+
+***************
+*** 4090,4095 ****
+
+ @item -x
+! Print a trace of simple commands, \fBfor\fP commands, \fBcase\fP
+! commands, \fBselect\fP commands, and arithmetic \fBfor\fP commands
+ and their arguments or associated word lists after they are
+ expanded and before they are executed. The value of the @env{PS4}
+--- 4103,4108 ----
+
+ @item -x
+! Print a trace of simple commands, @code{for} commands, @code{case}
+! commands, @code{select} commands, and arithmetic @code{for} commands
+ and their arguments or associated word lists after they are
+ expanded and before they are executed. The value of the @env{PS4}
+*** ../bash-3.1/doc/version.texi Tue Sep 20 14:52:56 2005
+--- doc/version.texi Fri Dec 30 10:50:58 2005
+***************
+*** 3,10 ****
+ @end ignore
+
+! @set LASTCHANGE Mon Sep 5 11:47:04 EDT 2005
+
+! @set EDITION 3.1-beta1
+! @set VERSION 3.1-beta1
+! @set UPDATED 5 September 2005
+! @set UPDATED-MONTH September 2005
+--- 3,10 ----
+ @end ignore
+
+! @set LASTCHANGE Fri Dec 30 10:50:51 EST 2005
+
+! @set EDITION 3.1
+! @set VERSION 3.1
+! @set UPDATED 30 December 2005
+! @set UPDATED-MONTH December 2005
diff --git a/debian/patches/bash31-002.dpatch b/debian/patches/bash31-002.dpatch
new file mode 100755
index 0000000..42f17f6
--- /dev/null
+++ b/debian/patches/bash31-002.dpatch
@@ -0,0 +1,147 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-002
+
+Bug-Reported-by: vapier@gentoo.org
+Bug-Reference-ID: <20051210223218.GD3324@toucan.gentoo.org>
+Bug-Reference-URL:http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00021.html
+
+Bug-Description:
+
+This corrects several omissions in the bash documentation: It adds the new
+options to `ulimit', the exact expansions for `case' patterns, clarification
+of the language concerning the return value of `[[', and updated version
+information.
+
+Patch:
+
+*** ../bash-3.1/doc/bash.1 Wed Oct 12 11:40:52 2005
+--- doc/bash.1 Wed Dec 28 19:58:54 2005
+***************
+*** 7,16 ****
+ .\" chet@po.cwru.edu
+ .\"
+! .\" Last Change: Sat Aug 27 13:28:44 EDT 2005
+ .\"
+ .\" bash_builtins, strip all but Built-Ins section
+ .if \n(zZ=1 .ig zZ
+ .if \n(zY=1 .ig zY
+! .TH BASH 1 "2005 Aug 27" "GNU Bash-3.1-beta1"
+ .\"
+ .\" There's some problem with having a `@'
+--- 7,16 ----
+ .\" chet@po.cwru.edu
+ .\"
+! .\" Last Change: Wed Dec 28 19:58:45 EST 2005
+ .\"
+ .\" bash_builtins, strip all but Built-Ins section
+ .if \n(zZ=1 .ig zZ
+ .if \n(zY=1 .ig zY
+! .TH BASH 1 "2005 Dec 28" "GNU Bash-3.1"
+ .\"
+ .\" There's some problem with having a `@'
+***************
+*** 678,683 ****
+ is enabled, the match is performed without regard to the case
+ of alphabetic characters.
+! The return value is 0 if the string matches or does not match
+! the pattern, respectively, and 1 otherwise.
+ Any part of the pattern may be quoted to force it to be matched as a
+ string.
+--- 678,683 ----
+ is enabled, the match is performed without regard to the case
+ of alphabetic characters.
+! The return value is 0 if the string matches (\fB==\fP) or does not match
+! (\fB!=\fP) the pattern, and 1 otherwise.
+ Any part of the pattern may be quoted to force it to be matched as a
+ string.
+***************
+*** 808,811 ****
+--- 808,817 ----
+ .B Pathname Expansion
+ below).
++ The \fIword\fP is expanded using tilde
++ expansion, parameter and variable expansion, arithmetic substituion,
++ command substitution, process substitution and quote removal.
++ Each \fIpattern\fP examined is expanded using tilde
++ expansion, parameter and variable expansion, arithmetic substituion,
++ command substitution, and process substitution.
+ If the shell option
+ .B nocasematch
+***************
+*** 8485,8489 ****
+ none are found.
+ .TP
+! \fBulimit\fP [\fB\-SHacdflmnpstuv\fP [\fIlimit\fP]]
+ Provides control over the resources available to the shell and to
+ processes started by it, on systems that allow such control.
+--- 8485,8489 ----
+ none are found.
+ .TP
+! \fBulimit\fP [\fB\-SHacdfilmnpqstuvx\fP [\fIlimit\fP]]
+ Provides control over the resources available to the shell and to
+ processes started by it, on systems that allow such control.
+***************
+*** 8524,8527 ****
+--- 8524,8530 ----
+ The maximum size of files created by the shell
+ .TP
++ .B \-i
++ The maximum number of pending signals
++ .TP
+ .B \-l
+ The maximum size that may be locked into memory
+***************
+*** 8537,8540 ****
+--- 8540,8546 ----
+ The pipe size in 512-byte blocks (this may not be set)
+ .TP
++ .B \-q
++ The maximum number of bytes in POSIX message queues
++ .TP
+ .B \-s
+ The maximum stack size
+***************
+*** 8548,8551 ****
+--- 8554,8560 ----
+ .B \-v
+ The maximum amount of virtual memory available to the shell
++ .TP
++ .B \-x
++ The maximum number of file locks
+ .PD
+ .PP
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 1
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 2
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bash31-003.dpatch b/debian/patches/bash31-003.dpatch
new file mode 100755
index 0000000..0da5110
--- /dev/null
+++ b/debian/patches/bash31-003.dpatch
@@ -0,0 +1,64 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-003
+
+Bug-Reported-by: Adam Buraczewski <adamb@nor.pl>
+Bug-Reference-ID: <200512210950.jBL9o4C2008608@localhost.localdomain>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00055.html
+
+Bug-Description:
+
+A missing #define guard causes bash to not compile when readline is not
+configured in, either as the result of explicit disabling or when the
+`--enable-minimal-config' option is given to configure.
+
+Patch:
+
+*** ../bash-3.1/variables.c Sat Nov 12 21:22:37 2005
+--- variables.c Mon Dec 26 13:34:03 2005
+***************
+*** 861,867 ****
+--- 863,871 ----
+ char val[INT_STRLEN_BOUND(int) + 1], *v;
+
++ #if defined (READLINE)
+ /* If we are currently assigning to LINES or COLUMNS, don't do anything. */
+ if (winsize_assignment)
+ return;
++ #endif
+
+ v = inttostr (lines, val, sizeof (val));
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 2
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 3
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bash31-004.dpatch b/debian/patches/bash31-004.dpatch
new file mode 100755
index 0000000..bb885b6
--- /dev/null
+++ b/debian/patches/bash31-004.dpatch
@@ -0,0 +1,65 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-004
+
+Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
+Bug-Reference-ID: <20051223172359.GF14579@toucan.gentoo.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00062.html
+
+Bug-Description:
+
+A local array variable declared at function scope that shadows a variable
+of the same name declared in a previous scope did not create a separate
+variable instance, but used the previous one.
+
+Patch:
+
+*** ../bash-3.1/subst.c Mon Oct 24 09:51:13 2005
+--- subst.c Fri Dec 30 12:11:53 2005
+***************
+*** 2188,2192 ****
+ {
+ v = find_variable (name);
+! if (v == 0 || array_p (v) == 0)
+ v = make_local_array_variable (name);
+ v = assign_array_var_from_string (v, value, flags);
+--- 2188,2192 ----
+ {
+ v = find_variable (name);
+! if (v == 0 || array_p (v) == 0 || v->context != variable_context)
+ v = make_local_array_variable (name);
+ v = assign_array_var_from_string (v, value, flags);
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 3
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 4
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bash31-005.dpatch b/debian/patches/bash31-005.dpatch
new file mode 100755
index 0000000..8276092
--- /dev/null
+++ b/debian/patches/bash31-005.dpatch
@@ -0,0 +1,71 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-005
+
+Bug-Reported-by:
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+When tilde expansion fails, POSIX leaves it unspecified whether or not the
+word undergoes the additional word expansions. Bash-3.1 as distributed
+skipped the rest of the expansions; this patch restores the bash-3.0 behavior.
+
+This means that something like
+ USER=ratbert
+ echo ~$USER
+
+will echo `~ratbert' rather than `~$USER'.
+
+Patch:
+
+*** ../bash-3.1/subst.c Mon Oct 24 09:51:13 2005
+--- subst.c Fri Dec 30 12:11:53 2005
+***************
+*** 6796,6799 ****
+--- 6823,6832 ----
+ {
+ temp1 = bash_tilde_expand (temp, tflag);
++ if (temp1 && *temp1 == '~' && STREQ (temp, temp1))
++ {
++ FREE (temp);
++ FREE (temp1);
++ goto add_character; /* tilde expansion failed */
++ }
+ free (temp);
+ temp = temp1;
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 4
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 5
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bash31-006.dpatch b/debian/patches/bash31-006.dpatch
new file mode 100755
index 0000000..c1e9908
--- /dev/null
+++ b/debian/patches/bash31-006.dpatch
@@ -0,0 +1,77 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Upstream patch bash31-006
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-006
+
+Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
+Bug-Reference-ID: <200601120613.11907.vapier@gentoo.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00045.html
+
+Bug-Description:
+
+Under some circumstances, Bash can use an incorrect setting for the flag
+that indicates whether or not the terminal can auto-wrap, resulting in line-
+wrapping errors.
+
+Patch:
+
+*** ../bash-3.1/lib/readline/terminal.c Sat Nov 12 20:46:54 2005
+--- lib/readline/terminal.c Tue Jan 31 10:57:54 2006
+***************
+*** 123,127 ****
+
+ /* Non-zero means the terminal can auto-wrap lines. */
+! int _rl_term_autowrap;
+
+ /* Non-zero means that this terminal has a meta key. */
+--- 126,130 ----
+
+ /* Non-zero means the terminal can auto-wrap lines. */
+! int _rl_term_autowrap = -1;
+
+ /* Non-zero means that this terminal has a meta key. */
+***************
+*** 275,278 ****
+--- 278,284 ----
+ int rows, cols;
+ {
++ if (_rl_term_autowrap == -1)
++ _rl_init_terminal_io (rl_terminal_name);
++
+ if (rows > 0)
+ _rl_screenheight = rows;
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 5
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 6
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bash31-007.dpatch b/debian/patches/bash31-007.dpatch
new file mode 100755
index 0000000..09b7639
--- /dev/null
+++ b/debian/patches/bash31-007.dpatch
@@ -0,0 +1,140 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Upstream patch bash31-007
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-007
+
+Bug-Reported-by: Tim Waugh <twaugh@redhat.com>, Laird Breyer <laird@lbreyer.com>
+Bug-Reference-ID: <20060105174434.GY16000@redhat.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00009.html
+ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=347695
+
+Bug-Description:
+
+When the number of saved jobs exceeds the initial size of the jobs array
+(4096 slots), the array must be compacted and reallocated. An error in
+the code to do that could cause a segmentation fault.
+
+Patch:
+
+*** ../bash-3.1/jobs.c Fri Nov 11 23:13:27 2005
+--- jobs.c Wed Feb 1 13:55:38 2006
+***************
+*** 845,851 ****
+ {
+ sigset_t set, oset;
+! int nsize, i, j;
+ JOB **nlist;
+
+ nsize = ((js.j_njobs + JOB_SLOTS - 1) / JOB_SLOTS);
+ nsize *= JOB_SLOTS;
+--- 888,895 ----
+ {
+ sigset_t set, oset;
+! int nsize, i, j, ncur, nprev;
+ JOB **nlist;
+
++ ncur = nprev = NO_JOB;
+ nsize = ((js.j_njobs + JOB_SLOTS - 1) / JOB_SLOTS);
+ nsize *= JOB_SLOTS;
+***************
+*** 855,869 ****
+
+ BLOCK_CHILD (set, oset);
+! nlist = (JOB **) xmalloc (nsize * sizeof (JOB *));
+ for (i = j = 0; i < js.j_jobslots; i++)
+ if (jobs[i])
+! nlist[j++] = jobs[i];
+
+ js.j_firstj = 0;
+! js.j_lastj = (j > 0) ? j - 1: 0;
+ js.j_jobslots = nsize;
+
+! free (jobs);
+! jobs = nlist;
+
+ UNBLOCK_CHILD (oset);
+--- 899,947 ----
+
+ BLOCK_CHILD (set, oset);
+! nlist = (js.j_jobslots == nsize) ? jobs : (JOB **) xmalloc (nsize * sizeof (JOB *));
+!
+ for (i = j = 0; i < js.j_jobslots; i++)
+ if (jobs[i])
+! {
+! if (i == js.j_current)
+! ncur = j;
+! if (i == js.j_previous)
+! nprev = j;
+! nlist[j++] = jobs[i];
+! }
+!
+! #if defined (DEBUG)
+! itrace ("realloc_jobs_list: resize jobs list from %d to %d", js.j_jobslots, nsize);
+! itrace ("realloc_jobs_list: j_lastj changed from %d to %d", js.j_lastj, (j > 0) ? j - 1 : 0);
+! itrace ("realloc_jobs_list: j_njobs changed from %d to %d", js.j_njobs, (j > 0) ? j - 1 : 0);
+! #endif
+
+ js.j_firstj = 0;
+! js.j_lastj = (j > 0) ? j - 1 : 0;
+! js.j_njobs = j;
+ js.j_jobslots = nsize;
+
+! /* Zero out remaining slots in new jobs list */
+! for ( ; j < nsize; j++)
+! nlist[j] = (JOB *)NULL;
+!
+! if (jobs != nlist)
+! {
+! free (jobs);
+! jobs = nlist;
+! }
+!
+! if (ncur != NO_JOB)
+! js.j_current = ncur;
+! if (nprev != NO_JOB)
+! js.j_previous = nprev;
+!
+! /* Need to reset these */
+! if (js.j_current == NO_JOB || js.j_previous == NO_JOB || js.j_current > js.j_lastj || js.j_previous > js.j_lastj)
+! reset_current ();
+!
+! #ifdef DEBUG
+! itrace ("realloc_jobs_list: reset js.j_current (%d) and js.j_previous (%d)", js.j_current, js.j_previous);
+! #endif
+
+ UNBLOCK_CHILD (oset);
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 6
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 7
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bash31-008.dpatch b/debian/patches/bash31-008.dpatch
new file mode 100755
index 0000000..5a2049d
--- /dev/null
+++ b/debian/patches/bash31-008.dpatch
@@ -0,0 +1,70 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Upstream patch bash31-008
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-008
+
+Bug-Reported-by: Ingemar Nilsson <init@kth.se>
+Bug-Reference-ID: <43C38D35.7020404@kth.se>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00044.html
+
+Bug-Description:
+
+In some cases, bash inappropriately allows SIGINT from the terminal to
+reach background processes.
+
+Patch:
+
+*** ../bash-3.1/jobs.c Fri Nov 11 23:13:27 2005
+--- jobs.c Wed Feb 1 13:55:38 2006
+***************
+*** 2199,2203 ****
+ wait_sigint_received = 0;
+ if (job_control == 0)
+! old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
+
+ termination_state = last_command_exit_value;
+--- 2298,2306 ----
+ wait_sigint_received = 0;
+ if (job_control == 0)
+! {
+! old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
+! if (old_sigint_handler == SIG_IGN)
+! set_signal_handler (SIGINT, old_sigint_handler);
+! }
+
+ termination_state = last_command_exit_value;
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 7
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 8
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bash31-009.dpatch b/debian/patches/bash31-009.dpatch
new file mode 100755
index 0000000..ec1eee1
--- /dev/null
+++ b/debian/patches/bash31-009.dpatch
@@ -0,0 +1,85 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Upstream patch bash31-009
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-009
+
+Bug-Reported-by: Joshua Neuheisel <jneuheisel@gmail.com>
+Bug-Reference-ID: <25d873330601140820v4ad8efd2t8bf683b073c138b3@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00062.html
+
+Bug-Description:
+
+Under some circumstances, background (asynchronous) jobs can set the terminal
+process group incorrectly. This can cause a foreground process (including
+the foreground shell) to get read errors and exit.
+
+Patch:
+
+*** ../bash-3.1/jobs.c Fri Nov 11 23:13:27 2005
+--- jobs.c Wed Feb 1 13:55:38 2006
+***************
+*** 620,625 ****
+ * the parent gives it away.
+ *
+ */
+! if (job_control && newjob->pgrp)
+ give_terminal_to (newjob->pgrp, 0);
+ }
+--- 634,642 ----
+ * the parent gives it away.
+ *
++ * Don't give the terminal away if this shell is an asynchronous
++ * subshell.
++ *
+ */
+! if (job_control && newjob->pgrp && (subshell_environment&SUBSHELL_ASYNC) == 0)
+ give_terminal_to (newjob->pgrp, 0);
+ }
+***************
+*** 1656,1660 ****
+ shell's process group (we could be in the middle of a
+ pipeline, for example). */
+! if (async_p == 0 && pipeline_pgrp != shell_pgrp)
+ give_terminal_to (pipeline_pgrp, 0);
+
+--- 1743,1747 ----
+ shell's process group (we could be in the middle of a
+ pipeline, for example). */
+! if (async_p == 0 && pipeline_pgrp != shell_pgrp && ((subshell_environment&SUBSHELL_ASYNC) == 0))
+ give_terminal_to (pipeline_pgrp, 0);
+
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 8
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 9
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bash31-010.dpatch b/debian/patches/bash31-010.dpatch
new file mode 100755
index 0000000..ad00d2b
--- /dev/null
+++ b/debian/patches/bash31-010.dpatch
@@ -0,0 +1,183 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Upstream patch bash31-010
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-010
+
+Bug-Reported-by: vw@vonwolff.de
+Bug-Reference-ID: <20060123135234.1AC2F1D596@wst07.vonwolff.de>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00090.html
+
+Bug-Description:
+
+There is a difference in behavior between bash-3.0 and bash-3.1 involving
+parsing of single- and double-quoted strings occurring in old-style
+command substitution. The difference has to do with how backslashes are
+processed. This patch restores a measure of backwards compatibility while
+the question of POSIX conformance and ultimately correct behavior is discussed.
+
+THIS IS AN UPDATED PATCH. USE THIS COMMAND TO REVERSE THE EFFECTS OF
+THE ORIGINAL PATCH. THE CURRENT DIRECTORY MUST BE THE BASH-3.1 SOURCE
+DIRECTORY.
+
+patch -p0 -R < bash31-010.orig
+
+Then apply this patch as usual.
+
+Patch:
+
+*** ../bash-3.1/parse.y Fri Nov 11 23:14:18 2005
+--- parse.y Thu Feb 23 08:21:12 2006
+***************
+*** 2716,2721 ****
+--- 2723,2729 ----
+ #define P_ALLOWESC 0x02
+ #define P_DQUOTE 0x04
+ #define P_COMMAND 0x08 /* parsing a command, so look for comments */
++ #define P_BACKQUOTE 0x10 /* parsing a backquoted command substitution */
+
+ static char matched_pair_error;
+ static char *
+***************
+*** 2725,2736 ****
+ int *lenp, flags;
+ {
+ int count, ch, was_dollar, in_comment, check_comment;
+! int pass_next_character, nestlen, ttranslen, start_lineno;
+ char *ret, *nestret, *ttrans;
+ int retind, retsize, rflags;
+
+ count = 1;
+! pass_next_character = was_dollar = in_comment = 0;
+ check_comment = (flags & P_COMMAND) && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0;
+
+ /* RFLAGS is the set of flags we want to pass to recursive calls. */
+--- 2733,2744 ----
+ int *lenp, flags;
+ {
+ int count, ch, was_dollar, in_comment, check_comment;
+! int pass_next_character, backq_backslash, nestlen, ttranslen, start_lineno;
+ char *ret, *nestret, *ttrans;
+ int retind, retsize, rflags;
+
+ count = 1;
+! pass_next_character = backq_backslash = was_dollar = in_comment = 0;
+ check_comment = (flags & P_COMMAND) && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0;
+
+ /* RFLAGS is the set of flags we want to pass to recursive calls. */
+***************
+*** 2742,2752 ****
+ start_lineno = line_number;
+ while (count)
+ {
+! #if 0
+! ch = shell_getc ((qc != '\'' || (flags & P_ALLOWESC)) && pass_next_character == 0);
+! #else
+! ch = shell_getc (qc != '\'' && pass_next_character == 0);
+! #endif
+ if (ch == EOF)
+ {
+ free (ret);
+--- 2750,2757 ----
+ start_lineno = line_number;
+ while (count)
+ {
+! ch = shell_getc (qc != '\'' && pass_next_character == 0 && backq_backslash == 0);
+!
+ if (ch == EOF)
+ {
+ free (ret);
+***************
+*** 2771,2779 ****
+ continue;
+ }
+ /* Not exactly right yet */
+! else if (check_comment && in_comment == 0 && ch == '#' && (retind == 0 || ret[retind-1] == '\n' || whitespace (ret[retind -1])))
+ in_comment = 1;
+
+ if (pass_next_character) /* last char was backslash */
+ {
+ pass_next_character = 0;
+--- 2776,2791 ----
+ continue;
+ }
+ /* Not exactly right yet */
+! else if MBTEST(check_comment && in_comment == 0 && ch == '#' && (retind == 0 || ret[retind-1] == '\n' || whitespace (ret[retind - 1])))
+ in_comment = 1;
+
++ /* last char was backslash inside backquoted command substitution */
++ if (backq_backslash)
++ {
++ backq_backslash = 0;
++ /* Placeholder for adding special characters */
++ }
++
+ if (pass_next_character) /* last char was backslash */
+ {
+ pass_next_character = 0;
+***************
+*** 2814,2819 ****
+--- 2824,2831 ----
+ {
+ if MBTEST((flags & P_ALLOWESC) && ch == '\\')
+ pass_next_character++;
++ else if MBTEST((flags & P_BACKQUOTE) && ch == '\\')
++ backq_backslash++;
+ continue;
+ }
+
+***************
+*** 2898,2904 ****
+ }
+ else if MBTEST(qc == '`' && (ch == '"' || ch == '\'') && in_comment == 0)
+ {
+! nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags);
+ goto add_nestret;
+ }
+ else if MBTEST(was_dollar && (ch == '(' || ch == '{' || ch == '[')) /* ) } ] */
+--- 2910,2920 ----
+ }
+ else if MBTEST(qc == '`' && (ch == '"' || ch == '\'') && in_comment == 0)
+ {
+! /* Add P_BACKQUOTE so backslash quotes the next character and
+! shell_getc does the right thing with \<newline>. We do this for
+! a measure of backwards compatibility -- it's not strictly the
+! right POSIX thing. */
+! nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags|P_BACKQUOTE);
+ goto add_nestret;
+ }
+ else if MBTEST(was_dollar && (ch == '(' || ch == '{' || ch == '[')) /* ) } ] */
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 9
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 10
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bash31-011.dpatch b/debian/patches/bash31-011.dpatch
new file mode 100755
index 0000000..23b910e
--- /dev/null
+++ b/debian/patches/bash31-011.dpatch
@@ -0,0 +1,66 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Upstream patch bash31-011
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-011
+
+Bug-Reported-by: Mike Stroyan <mike.stroyan@hp.com>
+Bug-Reference-ID: <E1EvwxP-0004LD-GC@localhost.localdomain>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00033.html
+
+Bug-Description:
+
+A change in bash-3.1 caused the single quotes to be stripped from ANSI-C
+quoting inside double-quoted command substitutions.
+
+Patch:
+
+*** ../bash-3.1/parse.y Fri Nov 11 23:14:18 2005
+--- parse.y Wed Jan 25 14:55:18 2006
+***************
+*** 2908,2912 ****
+ count--;
+ if (ch == '(') /* ) */
+! nestret = parse_matched_pair (0, '(', ')', &nestlen, rflags);
+ else if (ch == '{') /* } */
+ nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags);
+--- 2914,2918 ----
+ count--;
+ if (ch == '(') /* ) */
+! nestret = parse_matched_pair (0, '(', ')', &nestlen, rflags & ~P_DQUOTE);
+ else if (ch == '{') /* } */
+ nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags);
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 10
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 11
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bash31-012.dpatch b/debian/patches/bash31-012.dpatch
new file mode 100755
index 0000000..0234702
--- /dev/null
+++ b/debian/patches/bash31-012.dpatch
@@ -0,0 +1,66 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Upstream patch bash31-012
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-012
+
+Bug-Reported-by: Alexander Kshevetskiy <alex@dgap.mipt.ru>
+Bug-Reference-ID: <308374997.20060124175849@dgap.mipt.ru>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00097.html
+
+Bug-Description:
+
+There is a parsing problem involving parentheses in assignment statements
+that causes words to be terminated prematurely.
+
+Patch:
+
+*** ../bash-3.1/parse.y Fri Nov 11 23:14:18 2005
+--- parse.y Wed Jan 25 14:55:18 2006
+***************
+*** 3579,3583 ****
+ all_digit_token = 0;
+ compound_assignment = 1;
+! #if 0
+ goto next_character;
+ #else
+--- 3584,3588 ----
+ all_digit_token = 0;
+ compound_assignment = 1;
+! #if 1
+ goto next_character;
+ #else
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 11
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 12
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bash31-013.dpatch b/debian/patches/bash31-013.dpatch
new file mode 100755
index 0000000..b64cfc1
--- /dev/null
+++ b/debian/patches/bash31-013.dpatch
@@ -0,0 +1,63 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Upstream patch bash31-013
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-013
+
+Bug-Reported-by: Bob Rossi <bob@brasko.net>
+Bug-Reference-ID: <43F60606.80708@case.edu>
+Bug-Reference-URL:
+
+Bug-Description:
+
+In some cases, readline will reference freed memory when attempting to
+display a portion of the prompt.
+
+Patch:
+
+*** ../bash-3.1-patched/lib/readline/readline.c Mon Jul 4 22:29:35 2005
+--- lib/readline/readline.c Fri Feb 17 22:54:22 2006
+***************
+*** 282,287 ****
+--- 282,288 ----
+ {
+ FREE (rl_prompt);
+ rl_prompt = prompt ? savestring (prompt) : (char *)NULL;
++ rl_display_prompt = rl_prompt ? rl_prompt : "";
+
+ rl_visible_prompt_length = rl_expand_prompt (rl_prompt);
+ return 0;
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 12
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 13
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bash31-014.dpatch b/debian/patches/bash31-014.dpatch
new file mode 100755
index 0000000..6bf598d
--- /dev/null
+++ b/debian/patches/bash31-014.dpatch
@@ -0,0 +1,124 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Upstream patch bash31-014
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-014
+
+Bug-Reported-by: Mike Stroyan <mike.stroyan@hp.com>
+Bug-Reference-ID: <20060203191607.GC27614@localhost>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00004.html
+
+Bug-Description:
+
+The displayed search prompt is corrupted when using non-incremental
+searches in vi and emacs mode if the prompt contains non-printing
+characters or spans multiple lines. The prompt is expanded more than
+once; the second time without the escape sequences that protect non-
+printing characters from the length calculations.
+
+Patch:
+
+*** ../bash-3.1-patched/lib/readline/display.c Wed Nov 30 14:05:02 2005
+--- lib/readline/display.c Sat Feb 18 12:14:58 2006
+***************
+*** 1983,1993 ****
+ int pchar;
+ {
+ int len;
+! char *pmt;
+
+ rl_save_prompt ();
+
+! if (saved_local_prompt == 0)
+ {
+ len = (rl_prompt && *rl_prompt) ? strlen (rl_prompt) : 0;
+ pmt = (char *)xmalloc (len + 2);
+--- 1998,2012 ----
+ int pchar;
+ {
+ int len;
+! char *pmt, *p;
+
+ rl_save_prompt ();
+
+! /* We've saved the prompt, and can do anything with the various prompt
+! strings we need before they're restored. We want the unexpanded
+! portion of the prompt string after any final newline. */
+! p = rl_prompt ? strrchr (rl_prompt, '\n') : 0;
+! if (p == 0)
+ {
+ len = (rl_prompt && *rl_prompt) ? strlen (rl_prompt) : 0;
+ pmt = (char *)xmalloc (len + 2);
+***************
+*** 1998,2016 ****
+ }
+ else
+ {
+! len = *saved_local_prompt ? strlen (saved_local_prompt) : 0;
+ pmt = (char *)xmalloc (len + 2);
+ if (len)
+! strcpy (pmt, saved_local_prompt);
+ pmt[len] = pchar;
+ pmt[len+1] = '\0';
+! local_prompt = savestring (pmt);
+! prompt_last_invisible = saved_last_invisible;
+! prompt_visible_length = saved_visible_length + 1;
+! }
+
+ prompt_physical_chars = saved_physical_chars + 1;
+-
+ return pmt;
+ }
+
+--- 2017,2033 ----
+ }
+ else
+ {
+! p++;
+! len = strlen (p);
+ pmt = (char *)xmalloc (len + 2);
+ if (len)
+! strcpy (pmt, p);
+ pmt[len] = pchar;
+ pmt[len+1] = '\0';
+! }
+
++ /* will be overwritten by expand_prompt, called from rl_message */
+ prompt_physical_chars = saved_physical_chars + 1;
+ return pmt;
+ }
+
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 13
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 14
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bash31-015.dpatch b/debian/patches/bash31-015.dpatch
new file mode 100755
index 0000000..f196e20
--- /dev/null
+++ b/debian/patches/bash31-015.dpatch
@@ -0,0 +1,125 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Upstream patch bash31-015
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-015
+
+Bug-Reported-by: Benoit Vila
+Bug-Reference-ID: <43FCA614.1090108@free.fr>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00058.html
+
+Bug-Description:
+
+A problem with the extended globbing code prevented dots from matching
+filenames when used in some extended matching patterns.
+
+Patch:
+
+*** ../bash-3.1-patched/lib/glob/sm_loop.c Sun Oct 16 21:21:04 2005
+--- lib/glob/sm_loop.c Mon Feb 27 17:18:43 2006
+***************
+*** 639,643 ****
+ CHAR *pnext; /* pointer to next sub-pattern */
+ CHAR *srest; /* pointer to rest of string */
+! int m1, m2;
+
+ #if DEBUG_MATCHING
+--- 638,642 ----
+ CHAR *pnext; /* pointer to next sub-pattern */
+ CHAR *srest; /* pointer to rest of string */
+! int m1, m2, xflags; /* xflags = flags passed to recursive matches */
+
+ #if DEBUG_MATCHING
+***************
+*** 645,648 ****
+--- 644,648 ----
+ fprintf(stderr, "extmatch: s = %s; se = %s\n", s, se);
+ fprintf(stderr, "extmatch: p = %s; pe = %s\n", p, pe);
++ fprintf(stderr, "extmatch: flags = %d\n", flags);
+ #endif
+
+***************
+*** 678,683 ****
+ multiple matches of the pattern. */
+ if (m1)
+! m2 = (GMATCH (srest, se, prest, pe, flags) == 0) ||
+! (s != srest && GMATCH (srest, se, p - 1, pe, flags) == 0);
+ if (m1 && m2)
+ return (0);
+--- 678,687 ----
+ multiple matches of the pattern. */
+ if (m1)
+! {
+! /* if srest > s, we are not at start of string */
+! xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags;
+! m2 = (GMATCH (srest, se, prest, pe, xflags) == 0) ||
+! (s != srest && GMATCH (srest, se, p - 1, pe, xflags) == 0);
+! }
+ if (m1 && m2)
+ return (0);
+***************
+*** 705,710 ****
+ for ( ; srest <= se; srest++)
+ {
+ if (GMATCH (s, srest, psub, pnext - 1, flags) == 0 &&
+! GMATCH (srest, se, prest, pe, flags) == 0)
+ return (0);
+ }
+--- 709,716 ----
+ for ( ; srest <= se; srest++)
+ {
++ /* if srest > s, we are not at start of string */
++ xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags;
+ if (GMATCH (s, srest, psub, pnext - 1, flags) == 0 &&
+! GMATCH (srest, se, prest, pe, xflags) == 0)
+ return (0);
+ }
+***************
+*** 727,731 ****
+ break;
+ }
+! if (m1 == 0 && GMATCH (srest, se, prest, pe, flags) == 0)
+ return (0);
+ }
+--- 733,739 ----
+ break;
+ }
+! /* if srest > s, we are not at start of string */
+! xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags;
+! if (m1 == 0 && GMATCH (srest, se, prest, pe, xflags) == 0)
+ return (0);
+ }
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 14
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 15
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bash31-016.dpatch b/debian/patches/bash31-016.dpatch
new file mode 100755
index 0000000..ce7c18c
--- /dev/null
+++ b/debian/patches/bash31-016.dpatch
@@ -0,0 +1,70 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Upstream patch bash31-016
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-016
+
+Bug-Reported-by: Nikita Danilov <nikita@clusterfs.com>
+Bug-Reference-ID: <17397.51015.769854.541057@gargle.gargle.HOWL>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00064.html
+
+Bug-Description:
+
+Bash will dump core when attempting to perform globbing in directories with
+very large numbers of files.
+
+Patch:
+
+*** ../bash-3.1-patched/lib/glob/glob.c Thu Mar 24 12:42:27 2005
+--- lib/glob/glob.c Fri Mar 3 16:54:12 2006
+***************
+*** 361,364 ****
+--- 361,365 ----
+
+ firstmalloc = 0;
++ nalloca = 0;
+
+ /* If PAT is empty, skip the loop, but return one (empty) filename. */
+***************
+*** 547,550 ****
+--- 551,556 ----
+ tmplink = lastlink;
+ }
++ else
++ tmplink = 0;
+ free (lastlink->name);
+ lastlink = lastlink->next;
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 15
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 16
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bash31-017.dpatch b/debian/patches/bash31-017.dpatch
new file mode 100755
index 0000000..19c9143
--- /dev/null
+++ b/debian/patches/bash31-017.dpatch
@@ -0,0 +1,150 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Upstream patch bash31-017
+
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-017
+
+Bug-Reported-by: syphir@syphir.sytes.net
+Bug-Reference-ID: <442421F5.3010105@syphir.sytes.net>
+Bug-Reference-URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=358831
+
+Bug-Description:
+
+Array expansion fails with an arithmetic syntax error when the subscript
+appears within double quotes. For example: ${a["4"]}.
+
+Patch:
+
+*** ../bash-3.1-patched/subst.c Wed Apr 12 08:47:08 2006
+--- subst.c Wed Apr 12 08:49:02 2006
+***************
+*** 2576,2579 ****
+--- 2576,2586 ----
+ }
+
++ char *
++ expand_arith_string (string, quoted)
++ char *string;
++ {
++ return (expand_string_if_necessary (string, quoted, expand_string));
++ }
++
+ #if defined (COND_COMMAND)
+ /* Just remove backslashes in STRING. Returns a new string. */
+***************
+*** 5249,5253 ****
+ t = (char *)0;
+
+! temp1 = expand_string_if_necessary (substr, Q_DOUBLE_QUOTES, expand_string);
+ *e1p = evalexp (temp1, &expok);
+ free (temp1);
+--- 5256,5260 ----
+ t = (char *)0;
+
+! temp1 = expand_arith_string (substr, Q_DOUBLE_QUOTES);
+ *e1p = evalexp (temp1, &expok);
+ free (temp1);
+***************
+*** 5294,5298 ****
+ t++;
+ temp2 = savestring (t);
+! temp1 = expand_string_if_necessary (temp2, Q_DOUBLE_QUOTES, expand_string);
+ free (temp2);
+ t[-1] = ':';
+--- 5301,5305 ----
+ t++;
+ temp2 = savestring (t);
+! temp1 = expand_arith_string (temp2, Q_DOUBLE_QUOTES);
+ free (temp2);
+ t[-1] = ':';
+***************
+*** 6436,6440 ****
+
+ /* Expand variables found inside the expression. */
+! temp1 = expand_string_if_necessary (temp2, Q_DOUBLE_QUOTES, expand_string);
+ free (temp2);
+
+--- 6443,6447 ----
+
+ /* Expand variables found inside the expression. */
+! temp1 = expand_arith_string (temp2, Q_DOUBLE_QUOTES);
+ free (temp2);
+
+***************
+*** 6478,6482 ****
+
+ /* Do initial variable expansion. */
+! temp1 = expand_string_if_necessary (temp, Q_DOUBLE_QUOTES, expand_string);
+
+ goto arithsub;
+--- 6485,6489 ----
+
+ /* Do initial variable expansion. */
+! temp1 = expand_arith_string (temp, Q_DOUBLE_QUOTES);
+
+ goto arithsub;
+*** ../bash-3.1-patched/subst.h Sun Nov 7 15:12:28 2004
+--- subst.h Mon Mar 27 09:10:38 2006
+***************
+*** 152,155 ****
+--- 152,158 ----
+ extern char *expand_assignment_string_to_string __P((char *, int));
+
++ /* Expand an arithmetic expression string */
++ extern char *expand_arith_string __P((char *, int));
++
+ /* De-quoted quoted characters in STRING. */
+ extern char *dequote_string __P((char *));
+*** ../bash-3.1-patched/arrayfunc.c Mon Jul 4 20:25:58 2005
+--- arrayfunc.c Mon Mar 27 09:10:47 2006
+***************
+*** 593,601 ****
+ strncpy (exp, s, len - 1);
+ exp[len - 1] = '\0';
+! #if 0
+! t = expand_string_to_string (exp, 0);
+! #else
+! t = expand_string_to_string (exp, Q_DOUBLE_QUOTES);
+! #endif
+ this_command_name = (char *)NULL;
+ val = evalexp (t, &expok);
+--- 591,595 ----
+ strncpy (exp, s, len - 1);
+ exp[len - 1] = '\0';
+! t = expand_arith_string (exp, 0);
+ this_command_name = (char *)NULL;
+ val = evalexp (t, &expok);
+*** ../bash-3.1/patchlevel.h Wed Jul 20 13:58:20 2005
+--- patchlevel.h Wed Dec 7 13:48:42 2005
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 16
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 17
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/debian/patches/bashbug-editor.dpatch b/debian/patches/bashbug-editor.dpatch
new file mode 100755
index 0000000..cb52ebd
--- /dev/null
+++ b/debian/patches/bashbug-editor.dpatch
@@ -0,0 +1,31 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: send bug reports to Debian bash maintainer too.
+
+diff -urb bash.orig/support/bashbug.sh bash/support/bashbug.sh
+--- bash.orig/support/bashbug.sh 2002-04-16 23:15:15.000000000 +0200
++++ bash/support/bashbug.sh 2003-09-27 23:35:04.000000000 +0200
+@@ -134,6 +134,7 @@
+ esac ;;
+ esac
+
++BUGBASH="${BUGBASH},bash@packages.debian.org"
+ BUGADDR="${1-$BUGBASH}"
+
+ if [ -z "$DEFEDITOR" ] && [ -z "$EDITOR" ]; then
+Only in bash/support: bashbug.sh.orig
diff --git a/debian/patches/bashdb-updates.dpatch b/debian/patches/bashdb-updates.dpatch
new file mode 100644
index 0000000..13a6b24
--- /dev/null
+++ b/debian/patches/bashdb-updates.dpatch
@@ -0,0 +1,24 @@
+#! /bin/sh -e
+
+dir=.
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir=$3
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ cd $dir && autoconf
+ ;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Debian updates to bashdb
+
diff --git a/debian/patches/bashdb.dpatch b/debian/patches/bashdb.dpatch
new file mode 100644
index 0000000..7a330d1
--- /dev/null
+++ b/debian/patches/bashdb.dpatch
@@ -0,0 +1,56 @@
+#! /bin/sh -e
+
+dir=.
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir=$3
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ rm -f $dir/aclocal.m4
+ rm -f $dir/configure
+ rm -f $dir/doc/bashref.info
+ rm -f $dir/examples/bashdb/bashdb.el
+ rm -f $dir/lib/readline/doc/Makefile
+ rm -f $dir/parser-built
+ rm -f $dir/pathnames.h
+ rm -f $dir/y.tab.[ch]
+ (cd $dir && aclocal -I . -I debugger)
+ (cd $dir && autoconf)
+ for i in config.guess config.sub elisp-comp install-sh \
+ missing mkinstalldirs
+ do
+ cp -p /usr/share/automake-1.7/$i $dir/debugger/
+ done
+ for i in mdate-sh texinfo.tex; do
+ cp -p /usr/share/automake-1.7/$i $dir/debugger/doc/
+ done
+ (cd $dir/debugger && aclocal -I ..)
+ cp -p $dir/debugger/elisp-comp $dir/debugger/emacs/.
+ (cd $dir/debugger && automake)
+ (cd $dir/debugger && autoconf)
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# how to construct this file:
+# - unpack the upstream bash source
+# - unpack the bashdb source
+# - apply bash the seven bash upstream patches
+# - diff -ur --unidirectional-new-file \
+ --exclude CVS --exclude=.cvsignore --exclude=/db/ \
+# bash-2.05b bashdb
+
+# DP: bashdb changes
+
+diff -ur --unidirectional-new-file --exclude CVS --exclude=.cvsignore bash-2.05b/ChangeLog cvs/ChangeLog
diff --git a/debian/patches/command-not-found-doc.dpatch b/debian/patches/command-not-found-doc.dpatch
new file mode 100644
index 0000000..2ec9a23
--- /dev/null
+++ b/debian/patches/command-not-found-doc.dpatch
@@ -0,0 +1,35 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Add command_not_found_handle in interactive non POSIX mode
+
+--- bash/doc/bashref.texi~ 2004-06-26 20:26:07.000000000 +0200
++++ bash/doc/bashref.texi 2004-08-28 15:06:27.000000000 +0200
+@@ -4734,6 +4734,13 @@
+ @item UID
+ The numeric real user id of the current user. This variable is readonly.
+
++@item command_not_found_handle
++The name of a shell function to be called if a command cannot be
++found. The return value of this function should be 0, if the command
++is available after execution of the function, otherwise 127 (EX_NOTFOUND).
++Enabled only in interactive, non POSIX mode shells. This is a Debian
++extension.
++
+ @end vtable
+
+ @node Bash Features
diff --git a/debian/patches/command-not-found.dpatch b/debian/patches/command-not-found.dpatch
new file mode 100755
index 0000000..b1feb22
--- /dev/null
+++ b/debian/patches/command-not-found.dpatch
@@ -0,0 +1,66 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Add command_not_found_handle in interactive non POSIX mode
+
+--- bash/execute_cmd.c~ 2004-08-28 14:43:04.000000000 +0200
++++ bash/execute_cmd.c 2004-08-28 14:54:57.000000000 +0200
+@@ -3615,8 +3615,26 @@
+
+ if (command == 0)
+ {
+- internal_error (_("%s: command not found"), pathname);
+- exit (EX_NOTFOUND); /* Posix.2 says the exit status is 127 */
++ SHELL_VAR *f, *v;
++ WORD_LIST *cmdlist;
++ WORD_DESC *w;
++ int fval;
++ if( (posixly_correct || interactive_shell == 0) ||
++ (f = find_function ("command_not_found_handle")) == 0)
++ {
++ internal_error (_("%s: command not found"), pathname);
++ exit (EX_NOTFOUND); /* Posix.2 says the exit status is 127 */
++ }
++ w = make_word("command_not_found_handle");
++ cmdlist = make_word_list(w, (WORD_LIST*)NULL);
++
++ w = make_word(pathname);
++ cmdlist->next = make_word_list(w, (WORD_LIST*)NULL);
++
++ fval = execute_shell_function (f, cmdlist);
++ if (fval == EX_NOTFOUND)
++ internal_error (_("%s: command not found"), pathname);
++ exit(fval);
+ }
+
+ /* Execve expects the command name to be in args[0]. So we
+--- bash/doc/bash.1~ 2004-08-06 08:01:10.000000000 +0200
++++ bash/doc/bash.1 2004-08-28 15:03:13.000000000 +0200
+@@ -1972,6 +1972,13 @@
+ .B %
+ job identifier.
+ .TP
++.B command_not_found_handle
++The name of a shell function to be called if a command cannot be
++found. The return value of this function should be 0, if the command
++is available after execution of the function, otherwise 127 (EX_NOTFOUND).
++Enabled only in interactive, non POSIX mode shells. This is a Debian
++extension.
++.TP
+ .B histchars
+ The two or three characters which control history expansion
+ and tokenization (see
diff --git a/debian/patches/deb-bash-config.dpatch b/debian/patches/deb-bash-config.dpatch
new file mode 100755
index 0000000..1aa1e45
--- /dev/null
+++ b/debian/patches/deb-bash-config.dpatch
@@ -0,0 +1,81 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Changed compile time configuration options:
+# DP:
+# DP: - Set the default path to comply with Debian policy
+# DP:
+# DP: - Enable System-wide .bashrc file for interactive shells.
+# DP:
+# DP: - Enable System-wide .bash.logout file for interactive shells.
+# DP:
+# DP: - make non-interactive shells begun with argv[0][0] == '-'
+# DP: run the startup files when not in posix mode.
+# DP:
+# DP: - try to check whether bash is being run by sshd and source
+# DP: the .bashrc if so (like the rshd behavior).
+# DP:
+# DP: - don't define a default DEFAULT_MAIL_DIRECTORY, because it
+# DP: can cause a timeout on NFS mounts.
+
+--- bash/config-bot.h~ 2003-09-19 21:57:38.000000000 +0200
++++ bash/config-bot.h 2003-10-09 21:06:01.000000000 +0200
+@@ -178,4 +178,4 @@
+ /******************************************************************/
+
+ /* If you don't want bash to provide a default mail file to check. */
+-/* #undef DEFAULT_MAIL_DIRECTORY */
++#undef DEFAULT_MAIL_DIRECTORY
+--- bash-3.1-alpha1/config-top.h 2005-04-29 20:36:34.000000000 +0000
++++ bash/config-top.h 2005-09-09 19:26:41.923569456 +0000
+@@ -52,14 +52,14 @@
+ /* The default value of the PATH variable. */
+ #ifndef DEFAULT_PATH_VALUE
+ #define DEFAULT_PATH_VALUE \
+- "/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:."
++ "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
+ #endif
+
+ /* The value for PATH when invoking `command -p'. This is only used when
+ the Posix.2 confstr () function, or CS_PATH define are not present. */
+ #ifndef STANDARD_UTILS_PATH
+ #define STANDARD_UTILS_PATH \
+- "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc"
++ "/bin:/usr/bin:/sbin:/usr/sbin"
+ #endif
+
+ /* Default primary and secondary prompt strings. */
+@@ -73,15 +73,15 @@
+ #define KSH_COMPATIBLE_SELECT
+
+ /* System-wide .bashrc file for interactive shells. */
+-/* #define SYS_BASHRC "/etc/bash.bashrc" */
++#define SYS_BASHRC "/etc/bash.bashrc"
+
+ /* System-wide .bash_logout for login shells. */
+-/* #define SYS_BASH_LOGOUT "/etc/bash.bash_logout" */
++#define SYS_BASH_LOGOUT "/etc/bash.bash_logout"
+
+ /* Define this to make non-interactive shells begun with argv[0][0] == '-'
+ run the startup files when not in posix mode. */
+-/* #define NON_INTERACTIVE_LOGIN_SHELLS */
++#define NON_INTERACTIVE_LOGIN_SHELLS
+
+ /* Define this if you want bash to try to check whether it's being run by
+ sshd and source the .bashrc if so (like the rshd behavior). */
+-/* #define SSH_SOURCE_BASHRC */
++#define SSH_SOURCE_BASHRC
diff --git a/debian/patches/deb-examples.dpatch b/debian/patches/deb-examples.dpatch
new file mode 100755
index 0000000..f41d553
--- /dev/null
+++ b/debian/patches/deb-examples.dpatch
@@ -0,0 +1,30 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: document readline header location on Debian systems
+
+diff -u ./examples/loadables/README.orig ./examples/loadables/README
+--- ./examples/loadables/README.orig Thu May 7 20:31:34 1998
++++ ./examples/loadables/README Thu Nov 11 20:32:57 1999
+@@ -31,3 +31,6 @@
+ the canonical example. There is no real `builtin writers' programming
+ guide'. The file template.c provides a template to use for creating
+ new loadable builtins.
++
++On Debian GNU/Linux systems, the bash headers are in /usr/include/bash.
++The appropriate options are already set in the example Makefile.
+
diff --git a/debian/patches/input-err.dpatch b/debian/patches/input-err.dpatch
new file mode 100755
index 0000000..8fb93d7
--- /dev/null
+++ b/debian/patches/input-err.dpatch
@@ -0,0 +1,30 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Define PGRP_PIPE to avoid race condition.
+
+--- input.c~ 2005-07-14 13:29:08.000000000 +0100
++++ input.c 2006-04-05 14:51:50.000000000 +0100
+@@ -454,7 +454,7 @@
+ if (nr == 0)
+ bp->b_flag |= B_EOF;
+ else
+- bp->b_flag |= B_ERROR;
++ fatal_error("error reading input file: %s", strerror(errno));
+ return (EOF);
+ }
+
diff --git a/debian/patches/login-shell.dpatch b/debian/patches/login-shell.dpatch
new file mode 100755
index 0000000..7900801
--- /dev/null
+++ b/debian/patches/login-shell.dpatch
@@ -0,0 +1,34 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: * Recognize 'exec -l /bin/bash' as login shell.
+
+--- shell.c.orig 2006-03-03 23:15:17.178734888 +0100
++++ shell.c 2006-03-03 23:44:01.556589608 +0100
+@@ -1533,9 +1533,10 @@
+ any startup files; just try to be more like /bin/sh. */
+ shell_name = argv0 ? base_pathname (argv0) : PROGRAM;
+
+- if (*shell_name == '-')
++ if (argv0 && *argv0 == '-')
+ {
+- shell_name++;
++ if (*shell_name == '-')
++ shell_name++;
+ login_shell++;
+ }
+
diff --git a/debian/patches/man-arithmetic.dpatch b/debian/patches/man-arithmetic.dpatch
new file mode 100755
index 0000000..1178ce8
--- /dev/null
+++ b/debian/patches/man-arithmetic.dpatch
@@ -0,0 +1,32 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: document deprecated syntax for arithmetic evaluation.
+
+diff -urb bash.orig/doc/bash.1 bash/doc/bash.1
+--- bash.orig/doc/bash.1 2003-09-25 21:42:45.000000000 +0200
++++ bash/doc/bash.1 2003-09-28 00:24:17.000000000 +0200
+@@ -2533,6 +2533,9 @@
+ \fB$((\fP\fIexpression\fP\fB))\fP
+ .RE
+ .PP
++The old format \fB$[\fP\fIexpression\fP\fB]\fP is deprecated and will
++be removed in upcoming versions of bash.
++.PP
+ The
+ .I expression
+ is treated as if it were within double quotes, but a double quote
diff --git a/debian/patches/man-bashlogout.dpatch b/debian/patches/man-bashlogout.dpatch
new file mode 100755
index 0000000..9a3f3c1
--- /dev/null
+++ b/debian/patches/man-bashlogout.dpatch
@@ -0,0 +1,31 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: document /etc/bash.bashrc in bash man page
+
+--- bash/doc/bash.1~ 2004-06-19 15:53:01.000000000 +0200
++++ bash/doc/bash.1 2004-06-19 15:53:57.000000000 +0200
+@@ -8283,6 +8283,9 @@
+ .FN /etc/bash.bashrc
+ The systemwide per-interactive-shell startup file
+ .TP
++.FN /etc/bash.logout
++The systemwide login shell cleanup file, executed when a login shell exits
++.TP
+ .FN ~/.bash_profile
+ The personal initialization file, executed for login shells
+ .TP
diff --git a/debian/patches/man-bashrc.dpatch b/debian/patches/man-bashrc.dpatch
new file mode 100755
index 0000000..3e80ef1
--- /dev/null
+++ b/debian/patches/man-bashrc.dpatch
@@ -0,0 +1,81 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: document /etc/bash.bashrc in bash man page
+
+--- bash/doc/bash.1~ 2003-11-11 00:09:34.000000000 +0100
++++ bash/doc/bash.1 2004-01-21 07:33:45.000000000 +0100
+@@ -169,7 +169,9 @@
+ .PD
+ Execute commands from
+ .I file
+-instead of the standard personal initialization file
++instead of the system wide initialization file
++.I /etc/bash.bashrc
++and the standard personal initialization file
+ .I ~/.bashrc
+ if the shell is interactive (see
+ .SM
+@@ -200,7 +202,9 @@
+ below).
+ .TP
+ .B \-\-norc
+-Do not read and execute the personal initialization file
++Do not read and execute the system wide initialization file
++.I /etc/bash.bashrc
++and the personal initialization file
+ .I ~/.bashrc
+ if the shell is interactive.
+ This option is on by default if the shell is invoked as
+@@ -308,13 +312,15 @@
+ .PP
+ When an interactive shell that is not a login shell is started,
+ .B bash
+-reads and executes commands from \fI~/.bashrc\fP, if that file exists.
++reads and executes commands from \fI/etc/bash.bashrc\fP and \fI~/.bashrc\fP,
++if these files exist.
+ This may be inhibited by using the
+ .B \-\-norc
+ option.
+ The \fB\-\-rcfile\fP \fIfile\fP option will force
+ .B bash
+-to read and execute commands from \fIfile\fP instead of \fI~/.bashrc\fP.
++to read and execute commands from \fIfile\fP instead of
++\fI/etc/bash.bashrc\fP and \fI~/.bashrc\fP.
+ .PP
+ When
+ .B bash
+@@ -399,7 +405,8 @@
+ If
+ .B bash
+ determines it is being run by \fIrshd\fP, it reads and executes
+-commands from \fI~/.bashrc\fP, if that file exists and is readable.
++commands from \fI/etc/bash.bashrc\fP and \fI~/.bashrc\fP,
++if these files exist and are readable.
+ It will not do this if invoked as \fBsh\fP.
+ The
+ .B \-\-norc
+@@ -8273,6 +8280,9 @@
+ .FN /etc/profile
+ The systemwide initialization file, executed for login shells
+ .TP
++.FN /etc/bash.bashrc
++The systemwide per-interactive-shell startup file
++.TP
+ .FN ~/.bash_profile
+ The personal initialization file, executed for login shells
+ .TP
diff --git a/debian/patches/man-builtin.dpatch b/debian/patches/man-builtin.dpatch
new file mode 100644
index 0000000..6abaef8
--- /dev/null
+++ b/debian/patches/man-builtin.dpatch
@@ -0,0 +1,29 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: fix man page include
+
+--- doc/builtins.1~ Mon Nov 29 22:30:13 1999
++++ doc/builtins.1 Tue Aug 1 21:54:06 2000
+@@ -10,6 +10,6 @@
+ ulimit, umask, unalias, unset, until, wait, while \- bash built-in commands, see \fBbash\fR(1)
+ .SH BASH BUILTIN COMMANDS
+ .nr zZ 1
+-.so bash.1
++.so /usr/share/man/man1/bash.1
+ .SH SEE ALSO
+ bash(1), sh(1)
diff --git a/debian/patches/man-fignore.dpatch b/debian/patches/man-fignore.dpatch
new file mode 100755
index 0000000..cd005bc
--- /dev/null
+++ b/debian/patches/man-fignore.dpatch
@@ -0,0 +1,33 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: bash(1): mention quoting when assigning to FIGNORE
+
+diff -urb bash.orig/doc/bash.1 bash/doc/bash.1
+--- bash.orig/doc/bash.1 2003-09-25 21:42:45.000000000 +0200
++++ bash/doc/bash.1 2003-09-28 00:25:21.000000000 +0200
+@@ -1584,7 +1584,9 @@
+ is excluded from the list of matched filenames.
+ A sample value is
+ .if t \f(CW".o:~"\fP.
+-.if n ".o:~".
++.if n ".o:~"
++(Quoting is needed when assigning a value to this variable,
++which contains tildes).
+ .TP
+ .B GLOBIGNORE
+ A colon-separated list of patterns defining the set of filenames to
diff --git a/debian/patches/man-net-redirections-doc.dpatch b/debian/patches/man-net-redirections-doc.dpatch
new file mode 100644
index 0000000..3cc49de
--- /dev/null
+++ b/debian/patches/man-net-redirections-doc.dpatch
@@ -0,0 +1,31 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Document, that bash is configured using --disable-net-redirections.
+
+--- bash/doc/bashref.texi~ 2005-09-09 22:08:10.865192816 +0200
++++ bash/doc/bashref.texi 2005-09-10 11:42:51.805867224 +0200
+@@ -2025,6 +2025,9 @@
+ is an integer port number or service name, Bash attempts to open a UDP
+ connection to the corresponding socket.
+
++NOTE: @code{Bash}, as packaged for Debian, does not support using the
++@file{/dev/tcp} and @file{/dev/udp} files.
++
+ @end table
+
+ A failure to open or create a file causes the redirection to fail.
diff --git a/debian/patches/man-net-redirections.dpatch b/debian/patches/man-net-redirections.dpatch
new file mode 100755
index 0000000..1bee4b1
--- /dev/null
+++ b/debian/patches/man-net-redirections.dpatch
@@ -0,0 +1,31 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Document, that bash is configured using --disable-net-redirections.
+
+--- bash/doc/bash.1~ 2005-09-09 22:08:10.833197680 +0200
++++ bash/doc/bash.1 2005-09-10 11:47:57.694365104 +0200
+@@ -3033,6 +3033,9 @@
+ .PD
+ .RE
+ .PP
++\fBNOTE:\fP Bash, as packaged for Debian, does \fBnot\fP support using
++the \fB/dev/tcp\fP and \fB/dev/udp\fP files.
++.PP
+ A failure to open or create a file causes the redirection to fail.
+ .PP
+ Redirections using file descriptors greater than 9 should be used with
diff --git a/debian/patches/man-nocaseglob.dpatch b/debian/patches/man-nocaseglob.dpatch
new file mode 100755
index 0000000..6176a53
--- /dev/null
+++ b/debian/patches/man-nocaseglob.dpatch
@@ -0,0 +1,32 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Clarify documentation about case-insensitive pathname expansion
+
+--- bash/doc/bash.1~ 2004-08-28 18:25:23.000000000 +0200
++++ bash/doc/bash.1 2004-08-28 19:13:24.000000000 +0200
+@@ -2690,6 +2690,10 @@
+ .B nocaseglob
+ is enabled, the match is performed without regard to the case
+ of alphabetic characters.
++Note that when using range expressions like
++[a-z] (see below), letters of the other case may be included,
++depending on the setting of
++.B LC_COLLATE.
+ When a pattern is used for pathname expansion,
+ the character
+ .B ``.''
diff --git a/debian/patches/man-substring-exp-doc.dpatch b/debian/patches/man-substring-exp-doc.dpatch
new file mode 100644
index 0000000..c6cdf58
--- /dev/null
+++ b/debian/patches/man-substring-exp-doc.dpatch
@@ -0,0 +1,31 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Clarify documentation about substring expansion
+
+--- bash/doc/bashref.texi~ 2004-08-28 15:10:17.000000000 +0200
++++ bash/doc/bashref.texi 2004-08-28 18:27:16.000000000 +0200
+@@ -1575,6 +1575,9 @@
+ @var{length} must evaluate to a number greater than or equal to zero.
+ If @var{offset} evaluates to a number less than zero, the value
+ is used as an offset from the end of the value of @var{parameter}.
++Arithmetic expressions starting with a - must be separated by whitespace
++from the preceding : to be
++distinguished from the $@{@var{parameter}:@minus{}@var{word}@} expansion.
+ If @var{parameter} is @samp{@@}, the result is @var{length} positional
+ parameters beginning at @var{offset}.
+ If @var{parameter} is an array name indexed by @samp{@@} or @samp{*},
diff --git a/debian/patches/man-substring-exp.dpatch b/debian/patches/man-substring-exp.dpatch
new file mode 100755
index 0000000..8cfaece
--- /dev/null
+++ b/debian/patches/man-substring-exp.dpatch
@@ -0,0 +1,31 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Clarify documentation about substring expansion
+
+--- bash/doc/bash.1~ 2004-08-28 15:10:17.000000000 +0200
++++ bash/doc/bash.1 2004-08-28 18:25:23.000000000 +0200
+@@ -2356,6 +2356,9 @@
+ \fIlength\fP must evaluate to a number greater than or equal to zero.
+ If \fIoffset\fP evaluates to a number less than zero, the value
+ is used as an offset from the end of the value of \fIparameter\fP.
++Arithmetic expressions starting with a - must be separated by whitespace
++from the preceding : to be
++distinguished from the \fBUse Default Values\fP expansion.
+ If \fIparameter\fP is \fB@\fP, the result is \fIlength\fP positional
+ parameters beginning at \fIoffset\fP.
+ If \fIparameter\fP is an array name indexed by @ or *,
diff --git a/debian/patches/man-test.dpatch b/debian/patches/man-test.dpatch
new file mode 100755
index 0000000..9382b35
--- /dev/null
+++ b/debian/patches/man-test.dpatch
@@ -0,0 +1,32 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: document conditional file expressions acting on the target of
+# DP: symbolic links as well (except -h, -L).
+
+--- builtins/test.def~ 2002-04-04 21:48:17.000000000 +0200
++++ builtins/test.def 2004-10-16 19:51:24.000000000 +0200
+@@ -60,6 +60,9 @@
+
+ FILE1 -ef FILE2 True if file1 is a hard link to file2.
+
++All file operators except -h and -L are acting on the target of a symbolic
++link, not on the symlink itself, if FILE is a symbolic link.
++
+ String operators:
+
+ -z STRING True if string is empty.
diff --git a/debian/patches/man-test2-doc.dpatch b/debian/patches/man-test2-doc.dpatch
new file mode 100644
index 0000000..6ddb253
--- /dev/null
+++ b/debian/patches/man-test2-doc.dpatch
@@ -0,0 +1,32 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Doucment handling of paramters of the test builtin.
+
+--- doc/bashref.texi~ 2005-09-09 19:51:31.150172600 +0000
++++ doc/bashref.texi 2005-09-09 19:52:12.693857000 +0000
+@@ -5264,6 +5264,10 @@
+ Unless otherwise specified, primaries that operate on files follow symbolic
+ links and operate on the target of the link, rather than the link itself.
+
++See the description of the @code{test} builtin command (section
++@pxref{Bash Builtins} below) for the handling of parameters
++(i.e. missing parameters).
++
+ @table @code
+ @item -a @var{file}
+ True if @var{file} exists.
diff --git a/debian/patches/man-test2.dpatch b/debian/patches/man-test2.dpatch
new file mode 100755
index 0000000..32a9115
--- /dev/null
+++ b/debian/patches/man-test2.dpatch
@@ -0,0 +1,44 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Doucment handling of paramters of the test builtin.
+
+--- builtins/test.def~ 2004-10-17 17:04:56.000000000 +0200
++++ builtins/test.def 2004-10-17 17:19:38.000000000 +0200
+@@ -92,6 +92,9 @@
+ Arithmetic binary operators return true if ARG1 is equal, not-equal,
+ less-than, less-than-or-equal, greater-than, or greater-than-or-equal
+ than ARG2.
++
++See the bash manual page bash(1) for the handling of parameters (i.e.
++missing parameters).
+ $END
+
+ $BUILTIN [
+--- doc/bash.1~ 2005-09-09 19:43:43.298296896 +0000
++++ doc/bash.1 2005-09-09 19:46:26.359507824 +0000
+@@ -3551,6 +3551,10 @@
+ .PP
+ Unless otherwise specified, primaries that operate on files follow symbolic
+ links and operate on the target of the link, rather than the link itself.
++.PP
++See the description of the \fItest\fP builtin command (section SHELL
++BUILTIN COMMANDS below) for the handling of parameters (i.e.
++missing parameters).
+ .sp 1
+ .PD 0
+ .TP
diff --git a/debian/patches/man-typos.dpatch b/debian/patches/man-typos.dpatch
new file mode 100755
index 0000000..7220abd
--- /dev/null
+++ b/debian/patches/man-typos.dpatch
@@ -0,0 +1,36 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Fix typos in man page.
+
+--- ./doc/bash.1 2006-03-22 19:23:19.000000000 -0500
++++ ./doc/bash.1 2006-04-01 03:58:35.000000000 -0500
+@@ -815,10 +815,10 @@
+ .B Pathname Expansion
+ below).
+ The \fIword\fP is expanded using tilde
+-expansion, parameter and variable expansion, arithmetic substituion,
++expansion, parameter and variable expansion, arithmetic substitution,
+ command substitution, process substitution and quote removal.
+ Each \fIpattern\fP examined is expanded using tilde
+-expansion, parameter and variable expansion, arithmetic substituion,
++expansion, parameter and variable expansion, arithmetic substitution,
+ command substitution, and process substitution.
+ If the shell option
+ .B nocasematch
+
+
diff --git a/debian/patches/man-vx-opts.dpatch b/debian/patches/man-vx-opts.dpatch
new file mode 100644
index 0000000..e85b350
--- /dev/null
+++ b/debian/patches/man-vx-opts.dpatch
@@ -0,0 +1,34 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: document -v / -x options
+
+--- ./doc/bash.1~ Wed Jan 20 22:48:04 1999
++++ ./doc/bash.1 Sun Nov 14 13:26:59 1999
+@@ -104,6 +104,12 @@
+ This option allows the positional parameters to be set
+ when invoking an interactive shell.
+ .TP
++.B \-v
++Print shell input lines as they are read.
++.TP
++.B \-x
++Print commands and their arguments as they are executed.
++.TP
+ .B \-D
+ A list of all double-quoted strings preceded by \fB$\fP
+ is printed on the standard ouput.
diff --git a/debian/patches/pgrp-pipe.dpatch b/debian/patches/pgrp-pipe.dpatch
new file mode 100755
index 0000000..21e9f3e
--- /dev/null
+++ b/debian/patches/pgrp-pipe.dpatch
@@ -0,0 +1,29 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Define PGRP_PIPE to avoid race condition.
+
+--- config-bot.h 2004-03-19 17:56:23.000000000 -0500
++++ config-bot.h 2005-09-16 14:32:33.000000000 -0400
+@@ -179,3 +179,6 @@
+
+ /* If you don't want bash to provide a default mail file to check. */
+ #undef DEFAULT_MAIL_DIRECTORY
++
++/* Bug #224543 */
++#define PGRP_PIPE 1
+
diff --git a/debian/patches/po-sv.dpatch b/debian/patches/po-sv.dpatch
new file mode 100755
index 0000000..093f682
--- /dev/null
+++ b/debian/patches/po-sv.dpatch
@@ -0,0 +1,4206 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: swedish message strings
+
+--- bash/po.old/LINGUAS 2003-12-10 16:58:17.000000000 +0000
++++ bash/po/LINGUAS 2006-03-03 23:10:50.879935272 +0000
+@@ -1,2 +1,3 @@
+ # Set of available languages.
+ en@quot en@boldquot
++sv
+diff -urN bash/po.old/sv.po bash/po/sv.po
+--- bash/po.old/sv.po 1970-01-01 01:00:00.000000000 +0100
++++ bash/po/sv.po 2006-03-03 23:53:31.956875584 +0100
+@@ -0,0 +1,4177 @@
++# Swedish translation of bash.
++# Copyright (C) 2005 Free Software Foundation, Inc.
++# This file is distributed under the same license as the bash package.
++# Daniel Nylander <po@danielnylander.se>, 2005.
++#
++msgid ""
++msgstr ""
++"Project-Id-Version: bash 3.0\n"
++"Report-Msgid-Bugs-To: bug-bash@gnu.org\n"
++"POT-Creation-Date: 2003-12-22 15:34-0500\n"
++"PO-Revision-Date: 2005-12-28 16:48+0100\n"
++"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
++"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=utf-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++
++#: arrayfunc.c:45
++msgid "bad array subscript"
++msgstr ""
++
++#: arrayfunc.c:306
++#, c-format
++msgid "%s: cannot assign to non-numeric index"
++msgstr ""
++
++#: bashhist.c:321
++#, c-format
++msgid "%s: cannot create: %s"
++msgstr "%s: kan inte skapa: %s"
++
++#: bashline.c:2791
++msgid "bash_execute_unix_command: cannot find keymap for command"
++msgstr ""
++
++#: bashline.c:2840
++#, c-format
++msgid "%s: first non-whitespace character is not `\"'"
++msgstr ""
++
++#: bashline.c:2869
++#, c-format
++msgid "no closing `%c' in %s"
++msgstr ""
++
++#: bashline.c:2903
++#, c-format
++msgid "%s: missing colon separator"
++msgstr ""
++
++#: builtins/alias.def:123
++#, fuzzy, c-format
++msgid "`%s': invalid alias name"
++msgstr "Ogiltigt aliasnamn"
++
++#: builtins/bind.def:194
++#, c-format
++msgid "`%s': invalid keymap name"
++msgstr ""
++
++#: builtins/bind.def:233
++#, c-format
++msgid "%s: cannot read: %s"
++msgstr "%s: kan inte läsa: %s"
++
++#: builtins/bind.def:248
++#, c-format
++msgid "`%s': cannot unbind"
++msgstr ""
++
++#: builtins/bind.def:283
++#, c-format
++msgid "`%s': unknown function name"
++msgstr ""
++
++#: builtins/bind.def:291
++#, c-format
++msgid "%s is not bound to any keys.\n"
++msgstr ""
++
++#: builtins/bind.def:295
++#, fuzzy, c-format
++msgid "%s can be invoked via "
++msgstr "%s kan startas via %s."
++
++#: builtins/break.def:128
++msgid "only meaningful in a `for', `while', or `until' loop"
++msgstr ""
++
++#: builtins/caller.def:127
++#: builtins.c:320
++msgid "Returns the context of the current subroutine call."
++msgstr ""
++
++#: builtins/caller.def:129
++#: builtins.c:322
++msgid "Without EXPR, returns returns \"$line $filename\". With EXPR,"
++msgstr ""
++
++#: builtins/caller.def:130
++#: builtins.c:323
++msgid "returns \"$line $subroutine $filename\"; this extra information"
++msgstr ""
++
++#: builtins/caller.def:131
++#: builtins.c:324
++msgid "can be used used to provide a stack trace."
++msgstr ""
++
++#: builtins/caller.def:133
++#: builtins.c:326
++msgid "The value of EXPR indicates how many call frames to go back before the"
++msgstr ""
++
++#: builtins/caller.def:134
++#: builtins.c:327
++msgid "current one; the top frame is frame 0."
++msgstr ""
++
++#: builtins/cd.def:188
++msgid "HOME not set"
++msgstr "HOME inte inställd"
++
++#: builtins/cd.def:200
++msgid "OLDPWD not set"
++msgstr ""
++
++#: builtins/cd.def:357
++#, c-format
++msgid "write error: %s"
++msgstr "skrivfel: %s"
++
++#: builtins/common.c:133
++#: test.c:921
++msgid "too many arguments"
++msgstr "för många argument"
++
++#: builtins/common.c:157
++#: shell.c:465
++#: shell.c:737
++#, c-format
++msgid "%s: option requires an argument"
++msgstr "%s: flagga kräver ett argument"
++
++#: builtins/common.c:164
++#, c-format
++msgid "%s: numeric argument required"
++msgstr ""
++
++#: builtins/common.c:171
++#, c-format
++msgid "%s: not found"
++msgstr "%s: inte funnen"
++
++#: builtins/common.c:180
++#: shell.c:750
++#, c-format
++msgid "%s: invalid option"
++msgstr "%s: ogiltig flagga"
++
++#: builtins/common.c:187
++#, c-format
++msgid "%s: invalid option name"
++msgstr "%s: ogiltigt flaggnamn"
++
++#: builtins/common.c:194
++#: general.c:229
++#: general.c:234
++#, c-format
++msgid "`%s': not a valid identifier"
++msgstr "\"%s\": inte en giltig identifierare"
++
++#: builtins/common.c:201
++#, c-format
++msgid "%s: invalid number"
++msgstr "%s: ogiltigt nummer"
++
++#: builtins/common.c:208
++#, c-format
++msgid "%s: invalid signal specification"
++msgstr ""
++
++#: builtins/common.c:215
++#, c-format
++msgid "`%s': not a pid or valid job spec"
++msgstr ""
++
++#: builtins/common.c:222
++#: error.c:453
++#, c-format
++msgid "%s: readonly variable"
++msgstr "%s: skrivskyddad variabel"
++
++#: builtins/common.c:230
++#, fuzzy, c-format
++msgid "%s: %s out of range"
++msgstr "UTANFÖR OMRÅDET"
++
++#: builtins/common.c:230
++#: builtins/common.c:232
++msgid "argument"
++msgstr "argument"
++
++#: builtins/common.c:232
++#, fuzzy, c-format
++msgid "%s out of range"
++msgstr "UTANFÖR OMRÅDET"
++
++#: builtins/common.c:240
++#, c-format
++msgid "%s: no such job"
++msgstr "%s: inget sådant jobb"
++
++#: builtins/common.c:248
++#, c-format
++msgid "%s: no job control"
++msgstr "%s: ingen jobbkontroll"
++
++#: builtins/common.c:250
++msgid "no job control"
++msgstr "ingen jobbkontroll"
++
++#: builtins/common.c:260
++#, fuzzy, c-format
++msgid "%s: restricted"
++msgstr "Begränsat"
++
++#: builtins/common.c:262
++#, fuzzy
++msgid "restricted"
++msgstr "Begränsat"
++
++#: builtins/common.c:270
++#, c-format
++msgid "%s: not a shell builtin"
++msgstr ""
++
++#: builtins/common.c:486
++#, c-format
++msgid "%s: error retrieving current directory: %s: %s\n"
++msgstr ""
++
++#: builtins/common.c:553
++#: builtins/common.c:555
++#, c-format
++msgid "%s: ambiguous job spec"
++msgstr ""
++
++#: builtins/complete.def:251
++#, c-format
++msgid "%s: invalid action name"
++msgstr "%s: ogiltigt åtgärdsnamn"
++
++#: builtins/complete.def:381
++#: builtins/complete.def:524
++#, c-format
++msgid "%s: no completion specification"
++msgstr ""
++
++#: builtins/complete.def:571
++msgid "warning: -F option may not work as you expect"
++msgstr "varning: flaggan -F kanske inte fungerar som du förväntar"
++
++#: builtins/complete.def:573
++msgid "warning: -C option may not work as you expect"
++msgstr "varning: flaggan -C kanske inte fungerar som du förväntar"
++
++#: builtins/declare.def:105
++msgid "can only be used in a function"
++msgstr "kan endast användas i en funktion"
++
++#: builtins/declare.def:295
++msgid "cannot use `-f' to make functions"
++msgstr ""
++
++#: builtins/declare.def:307
++#: execute_cmd.c:3949
++#, c-format
++msgid "%s: readonly function"
++msgstr "%s: skrivskyddad funktion"
++
++#: builtins/declare.def:389
++#, c-format
++msgid "%s: cannot destroy array variables in this way"
++msgstr ""
++
++#: builtins/enable.def:128
++#: builtins/enable.def:136
++msgid "dynamic loading not available"
++msgstr ""
++
++#: builtins/enable.def:303
++#, c-format
++msgid "cannot open shared object %s: %s"
++msgstr ""
++
++#: builtins/enable.def:326
++#, c-format
++msgid "cannot find %s in shared object %s: %s"
++msgstr ""
++
++#: builtins/enable.def:450
++#, c-format
++msgid "%s: not dynamically loaded"
++msgstr "%s: inte dynamiskt inläst"
++
++#: builtins/enable.def:465
++#, c-format
++msgid "%s: cannot delete: %s"
++msgstr "%s: kan inte ta bort: %s"
++
++#: builtins/evalfile.c:128
++#: execute_cmd.c:3821
++#: shell.c:1395
++#, c-format
++msgid "%s: is a directory"
++msgstr "%s: är en katalog"
++
++#: builtins/evalfile.c:133
++#, c-format
++msgid "%s: not a regular file"
++msgstr "%s: inte en vanlig fil"
++
++#: builtins/evalfile.c:141
++#, c-format
++msgid "%s: file is too large"
++msgstr "%s: fil är för stor"
++
++#: builtins/exec.def:205
++#, c-format
++msgid "%s: cannot execute: %s"
++msgstr "%s: kan inte starta: %s"
++
++#: builtins/exit.def:83
++msgid "not login shell: use `exit'"
++msgstr ""
++
++#: builtins/exit.def:111
++msgid "There are stopped jobs.\n"
++msgstr "Det finns stoppade jobb.\n"
++
++#: builtins/fc.def:252
++msgid "no command found"
++msgstr "inget kommando hittades"
++
++#: builtins/fc.def:317
++msgid "history specification"
++msgstr ""
++
++#: builtins/fc.def:338
++#, c-format
++msgid "%s: cannot open temp file: %s"
++msgstr "%s: kan inte öppna temporärfil: %s"
++
++#: builtins/fg_bg.def:133
++#, c-format
++msgid "job %d started without job control"
++msgstr "jobb %d startad utan jobbkontroll"
++
++#: builtins/getopt.c:109
++#, c-format
++msgid "%s: illegal option -- %c\n"
++msgstr "%s: ogiltig flagga -- %c\n"
++
++#: builtins/getopt.c:110
++#, c-format
++msgid "%s: option requires an argument -- %c\n"
++msgstr "%s: flagga kräver ett argument -- %c\n"
++
++#: builtins/hash.def:83
++msgid "hashing disabled"
++msgstr ""
++
++#: builtins/hash.def:128
++#, c-format
++msgid "%s: hash table empty\n"
++msgstr ""
++
++#: builtins/help.def:108
++msgid "Shell commands matching keywords `"
++msgstr ""
++
++#: builtins/help.def:110
++msgid "Shell commands matching keyword `"
++msgstr ""
++
++#: builtins/help.def:138
++#, c-format
++msgid "no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
++msgstr ""
++
++#: builtins/help.def:164
++#, c-format
++msgid "%s: cannot open: %s"
++msgstr "%s: kan inte öppna: %s"
++
++#: builtins/help.def:182
++msgid ""
++"These shell commands are defined internally. Type `help' to see this list.\n"
++"Type `help name' to find out more about the function `name'.\n"
++"Use `info bash' to find out more about the shell in general.\n"
++"Use `man -k' or `info' to find out more about commands not in this list.\n"
++"\n"
++"A star (*) next to a name means that the command is disabled.\n"
++"\n"
++msgstr ""
++
++#: builtins/history.def:148
++msgid "cannot use more than one of -anrw"
++msgstr "kan inte använda mer än en av -anrw"
++
++#: builtins/history.def:180
++msgid "history position"
++msgstr ""
++
++#: builtins/history.def:390
++#, c-format
++msgid "%s: history expansion failed"
++msgstr ""
++
++#: builtins/jobs.def:99
++msgid "no other options allowed with `-x'"
++msgstr ""
++
++#: builtins/kill.def:187
++#, c-format
++msgid "%s: arguments must be process or job IDs"
++msgstr ""
++
++#: builtins/kill.def:248
++msgid "Unknown error"
++msgstr "Okänt fel"
++
++#: builtins/let.def:94
++#: builtins/let.def:119
++#: expr.c:496
++#: expr.c:511
++#, fuzzy
++msgid "expression expected"
++msgstr "Förväntade uttryck"
++
++#: builtins/printf.def:249
++#, c-format
++msgid "`%s': missing format character"
++msgstr "\"%s\": formattecken saknas"
++
++#: builtins/printf.def:408
++#, c-format
++msgid "`%c': invalid format character"
++msgstr "\"%c\": ogiltigt formattecken"
++
++#: builtins/printf.def:601
++msgid "missing hex digit for \\x"
++msgstr ""
++
++#: builtins/pushd.def:168
++msgid "no other directory"
++msgstr "ingen annan katalog"
++
++#: builtins/pushd.def:435
++msgid "<no current directory>"
++msgstr "<ingen nuvarande katalog>"
++
++#: builtins/pushd.def:652
++#: builtins.c:1351
++msgid "Display the list of currently remembered directories. Directories"
++msgstr ""
++
++#: builtins/pushd.def:653
++#: builtins.c:1352
++msgid "find their way onto the list with the `pushd' command; you can get"
++msgstr ""
++
++#: builtins/pushd.def:654
++#: builtins.c:1353
++msgid "back up through the list with the `popd' command."
++msgstr ""
++
++#: builtins/pushd.def:656
++#: builtins.c:1355
++msgid "The -l flag specifies that `dirs' should not print shorthand versions"
++msgstr ""
++
++#: builtins/pushd.def:657
++#: builtins.c:1356
++msgid "of directories which are relative to your home directory. This means"
++msgstr ""
++
++#: builtins/pushd.def:658
++#: builtins.c:1357
++msgid "that `~/bin' might be displayed as `/homes/bfox/bin'. The -v flag"
++msgstr ""
++
++#: builtins/pushd.def:659
++#: builtins.c:1358
++msgid "causes `dirs' to print the directory stack with one entry per line,"
++msgstr ""
++
++#: builtins/pushd.def:660
++#: builtins.c:1359
++msgid "prepending the directory name with its position in the stack. The -p"
++msgstr ""
++
++#: builtins/pushd.def:661
++#: builtins.c:1360
++msgid "flag does the same thing, but the stack position is not prepended."
++msgstr ""
++
++#: builtins/pushd.def:662
++#: builtins.c:1361
++msgid "The -c flag clears the directory stack by deleting all of the elements."
++msgstr ""
++
++#: builtins/pushd.def:664
++msgid "+N displays the Nth entry counting from the left of the list shown by"
++msgstr ""
++
++#: builtins/pushd.def:665
++#: builtins/pushd.def:668
++msgid " dirs when invoked without options, starting with zero."
++msgstr ""
++
++#: builtins/pushd.def:667
++msgid "-N displays the Nth entry counting from the right of the list shown by"
++msgstr ""
++
++#: builtins/pushd.def:673
++#: builtins.c:1302
++msgid "Adds a directory to the top of the directory stack, or rotates"
++msgstr ""
++
++#: builtins/pushd.def:674
++#: builtins.c:1303
++msgid "the stack, making the new top of the stack the current working"
++msgstr ""
++
++#: builtins/pushd.def:675
++#: builtins.c:1304
++msgid "directory. With no arguments, exchanges the top two directories."
++msgstr ""
++
++#: builtins/pushd.def:677
++msgid "+N Rotates the stack so that the Nth directory (counting"
++msgstr ""
++
++#: builtins/pushd.def:678
++msgid " from the left of the list shown by `dirs', starting with"
++msgstr ""
++
++#: builtins/pushd.def:679
++#: builtins/pushd.def:683
++msgid " zero) is at the top."
++msgstr ""
++
++#: builtins/pushd.def:681
++msgid "-N Rotates the stack so that the Nth directory (counting"
++msgstr ""
++
++#: builtins/pushd.def:682
++msgid " from the right of the list shown by `dirs', starting with"
++msgstr ""
++
++#: builtins/pushd.def:685
++msgid "-n suppress the normal change of directory when adding directories"
++msgstr ""
++
++#: builtins/pushd.def:686
++msgid " to the stack, so only the stack is manipulated."
++msgstr ""
++
++#: builtins/pushd.def:688
++msgid "dir adds DIR to the directory stack at the top, making it the"
++msgstr ""
++
++#: builtins/pushd.def:689
++msgid " new current working directory."
++msgstr ""
++
++#: builtins/pushd.def:691
++#: builtins/pushd.def:711
++#: builtins.c:1320
++#: builtins.c:1343
++msgid "You can see the directory stack with the `dirs' command."
++msgstr ""
++
++#: builtins/pushd.def:696
++#: builtins.c:1328
++msgid "Removes entries from the directory stack. With no arguments,"
++msgstr ""
++
++#: builtins/pushd.def:697
++#: builtins.c:1329
++msgid "removes the top directory from the stack, and cd's to the new"
++msgstr ""
++
++#: builtins/pushd.def:698
++#: builtins.c:1330
++msgid "top directory."
++msgstr ""
++
++#: builtins/pushd.def:700
++msgid "+N removes the Nth entry counting from the left of the list"
++msgstr ""
++
++#: builtins/pushd.def:701
++msgid " shown by `dirs', starting with zero. For example: `popd +0'"
++msgstr ""
++
++#: builtins/pushd.def:702
++msgid " removes the first directory, `popd +1' the second."
++msgstr ""
++
++#: builtins/pushd.def:704
++msgid "-N removes the Nth entry counting from the right of the list"
++msgstr ""
++
++#: builtins/pushd.def:705
++msgid " shown by `dirs', starting with zero. For example: `popd -0'"
++msgstr ""
++
++#: builtins/pushd.def:706
++msgid " removes the last directory, `popd -1' the next to last."
++msgstr ""
++
++#: builtins/pushd.def:708
++msgid "-n suppress the normal change of directory when removing directories"
++msgstr ""
++
++#: builtins/pushd.def:709
++msgid " from the stack, so only the stack is manipulated."
++msgstr ""
++
++#: builtins/read.def:207
++#, c-format
++msgid "%s: invalid timeout specification"
++msgstr ""
++
++#: builtins/read.def:230
++#, c-format
++msgid "%s: invalid file descriptor specification"
++msgstr ""
++
++#: builtins/read.def:237
++#, c-format
++msgid "%d: invalid file descriptor: %s"
++msgstr ""
++
++#: builtins/read.def:463
++#, c-format
++msgid "read error: %d: %s"
++msgstr "läsfel: %d: %s"
++
++#: builtins/return.def:63
++msgid "can only `return' from a function or sourced script"
++msgstr ""
++
++#: builtins/set.def:743
++msgid "cannot simultaneously unset a function and a variable"
++msgstr ""
++
++#: builtins/set.def:780
++#, c-format
++msgid "%s: cannot unset"
++msgstr ""
++
++#: builtins/set.def:787
++#, c-format
++msgid "%s: cannot unset: readonly %s"
++msgstr ""
++
++#: builtins/set.def:798
++#, c-format
++msgid "%s: not an array variable"
++msgstr ""
++
++#: builtins/setattr.def:165
++#, c-format
++msgid "%s: not a function"
++msgstr "%s: inte en funktion"
++
++#: builtins/shift.def:66
++#: builtins/shift.def:72
++msgid "shift count"
++msgstr ""
++
++#: builtins/shopt.def:226
++msgid "cannot set and unset shell options simultaneously"
++msgstr ""
++
++#: builtins/shopt.def:291
++#, c-format
++msgid "%s: invalid shell option name"
++msgstr ""
++
++#: builtins/source.def:117
++msgid "filename argument required"
++msgstr ""
++
++#: builtins/source.def:137
++#, c-format
++msgid "%s: file not found"
++msgstr "%s: fil inte hittad"
++
++#: builtins/suspend.def:93
++msgid "cannot suspend"
++msgstr ""
++
++#: builtins/suspend.def:103
++msgid "cannot suspend a login shell"
++msgstr ""
++
++#: builtins/type.def:231
++#, c-format
++msgid "%s is aliased to `%s'\n"
++msgstr ""
++
++#: builtins/type.def:252
++#, c-format
++msgid "%s is a shell keyword\n"
++msgstr ""
++
++#: builtins/type.def:272
++#, c-format
++msgid "%s is a function\n"
++msgstr "%s är en funktion\n"
++
++#: builtins/type.def:297
++#, c-format
++msgid "%s is a shell builtin\n"
++msgstr ""
++
++#: builtins/type.def:318
++#, c-format
++msgid "%s is %s\n"
++msgstr "%s är %s\n"
++
++#: builtins/type.def:338
++#, c-format
++msgid "%s is hashed (%s)\n"
++msgstr ""
++
++#: builtins/ulimit.def:332
++#, c-format
++msgid "%s: invalid limit argument"
++msgstr ""
++
++#: builtins/ulimit.def:358
++#, c-format
++msgid "`%c': bad command"
++msgstr "\"%c\": felaktigt kommando"
++
++#: builtins/ulimit.def:387
++#, c-format
++msgid "%s: cannot get limit: %s"
++msgstr ""
++
++#: builtins/ulimit.def:425
++#, c-format
++msgid "%s: cannot modify limit: %s"
++msgstr ""
++
++#: builtins/umask.def:112
++msgid "octal number"
++msgstr "oktalt nummer"
++
++#: builtins/umask.def:226
++#, c-format
++msgid "`%c': invalid symbolic mode operator"
++msgstr ""
++
++#: builtins/umask.def:279
++#, c-format
++msgid "`%c': invalid symbolic mode character"
++msgstr ""
++
++#: error.c:165
++#, c-format
++msgid "last command: %s\n"
++msgstr "senaste kommando: %s\n"
++
++#: error.c:173
++msgid "Aborting..."
++msgstr "Avbryter..."
++
++#: error.c:260
++#, c-format
++msgid "%s: warning: "
++msgstr "%s: varning: "
++
++#: error.c:405
++msgid "unknown command error"
++msgstr "okänt kommandofel"
++
++#: error.c:406
++msgid "bad command type"
++msgstr ""
++
++#: error.c:407
++msgid "bad connector"
++msgstr ""
++
++#: error.c:408
++msgid "bad jump"
++msgstr ""
++
++#: error.c:446
++#, c-format
++msgid "%s: unbound variable"
++msgstr ""
++
++#: eval.c:175
++msgid "timed out waiting for input: auto-logout\n"
++msgstr ""
++
++#: execute_cmd.c:466
++#, c-format
++msgid "cannot redirect standard input from /dev/null: %s"
++msgstr ""
++
++#: execute_cmd.c:1036
++#, c-format
++msgid "TIMEFORMAT: `%c': invalid format character"
++msgstr "TIDSFORMAT: \"%c\": ogiltigt formattecken"
++
++#: execute_cmd.c:3521
++#, c-format
++msgid "%s: restricted: cannot specify `/' in command names"
++msgstr ""
++
++#: execute_cmd.c:3609
++#, c-format
++msgid "%s: command not found"
++msgstr "%s: kommando hittades inte"
++
++#: execute_cmd.c:3839
++#, c-format
++msgid "%s: %s: bad interpreter"
++msgstr "%s: %s: felaktig tolk"
++
++#: execute_cmd.c:3876
++#, c-format
++msgid "%s: cannot execute binary file"
++msgstr "%s: kan inte starta binärfil"
++
++#: execute_cmd.c:3988
++#, c-format
++msgid "cannot duplicate fd %d to fd %d"
++msgstr ""
++
++#: expr.c:239
++msgid "expression recursion level exceeded"
++msgstr ""
++
++#: expr.c:263
++msgid "recursion stack underflow"
++msgstr ""
++
++#: expr.c:374
++msgid "syntax error in expression"
++msgstr "syntaxfel i uttryck"
++
++#: expr.c:414
++msgid "attempted assignment to non-variable"
++msgstr ""
++
++#: expr.c:435
++#: expr.c:440
++#: expr.c:750
++msgid "division by 0"
++msgstr "delning med 0"
++
++#: expr.c:466
++msgid "bug: bad expassign token"
++msgstr ""
++
++#: expr.c:508
++msgid "`:' expected for conditional expression"
++msgstr ""
++
++#: expr.c:775
++msgid "exponent less than 0"
++msgstr ""
++
++#: expr.c:819
++msgid "identifier expected after pre-increment or pre-decrement"
++msgstr ""
++
++#: expr.c:847
++msgid "missing `)'"
++msgstr "saknar `)'"
++
++#: expr.c:871
++msgid "syntax error: operand expected"
++msgstr ""
++
++#: expr.c:1146
++msgid "invalid number"
++msgstr "ogiltigt nummer"
++
++#: expr.c:1150
++msgid "invalid arithmetic base"
++msgstr ""
++
++#: expr.c:1170
++msgid "value too great for base"
++msgstr ""
++
++#: general.c:60
++msgid "getcwd: cannot access parent directories"
++msgstr ""
++
++#: input.c:231
++#, c-format
++msgid "cannot allocate new file descriptor for bash input from fd %d"
++msgstr ""
++
++#: input.c:239
++#, c-format
++msgid "save_bash_input: buffer already exists for new fd %d"
++msgstr ""
++
++#: jobs.c:693
++#, c-format
++msgid "deleting stopped job %d with process group %ld"
++msgstr ""
++
++#: jobs.c:1001
++#, c-format
++msgid "describe_pid: %ld: no such pid"
++msgstr ""
++
++#: jobs.c:1632
++#: nojobs.c:648
++#, c-format
++msgid "wait: pid %ld is not a child of this shell"
++msgstr ""
++
++#: jobs.c:1815
++#, c-format
++msgid "wait_for: No record of process %ld"
++msgstr ""
++
++#: jobs.c:2062
++#, c-format
++msgid "wait_for_job: job %d is stopped"
++msgstr ""
++
++#: jobs.c:2284
++#, c-format
++msgid "%s: job has terminated"
++msgstr "%s: jobb har avslutats"
++
++#: jobs.c:2293
++#, c-format
++msgid "%s: job %d already in background"
++msgstr "%s: jobb %d redan i bakgrund"
++
++#: jobs.c:3037
++msgid "no job control in this shell"
++msgstr "ingen jobbkontroll i detta skal"
++
++#: lib/malloc/malloc.c:298
++#, c-format
++msgid "malloc: failed assertion: %s\n"
++msgstr ""
++
++#: lib/malloc/malloc.c:314
++#, c-format
++msgid ""
++"\r\n"
++"malloc: %s:%d: assertion botched\r\n"
++msgstr ""
++
++#: lib/malloc/malloc.c:740
++msgid "malloc: block on free list clobbered"
++msgstr ""
++
++#: lib/malloc/malloc.c:817
++msgid "free: called with already freed block argument"
++msgstr ""
++
++#: lib/malloc/malloc.c:820
++msgid "free: called with unallocated block argument"
++msgstr ""
++
++#: lib/malloc/malloc.c:839
++msgid "free: underflow detected; mh_nbytes out of range"
++msgstr ""
++
++#: lib/malloc/malloc.c:845
++msgid "free: start and end chunk sizes differ"
++msgstr ""
++
++#: lib/malloc/malloc.c:942
++msgid "realloc: called with unallocated block argument"
++msgstr ""
++
++#: lib/malloc/malloc.c:957
++msgid "realloc: underflow detected; mh_nbytes out of range"
++msgstr ""
++
++#: lib/malloc/malloc.c:963
++msgid "realloc: start and end chunk sizes differ"
++msgstr ""
++
++#: lib/malloc/table.c:175
++msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
++msgstr ""
++
++#: lib/malloc/table.c:182
++#, c-format
++msgid "register_alloc: %p already in table as allocated?\n"
++msgstr ""
++
++#: lib/malloc/table.c:218
++#, c-format
++msgid "register_free: %p already in table as free?\n"
++msgstr ""
++
++#: lib/malloc/watch.c:46
++msgid "allocated"
++msgstr "allokerat"
++
++#: lib/malloc/watch.c:48
++msgid "freed"
++msgstr ""
++
++#: lib/malloc/watch.c:50
++msgid "requesting resize"
++msgstr ""
++
++#: lib/malloc/watch.c:52
++msgid "just resized"
++msgstr ""
++
++#: lib/malloc/watch.c:54
++msgid "bug: unknown operation"
++msgstr "bugg: okänd operation"
++
++#: lib/malloc/watch.c:56
++#, c-format
++msgid "malloc: watch alert: %p %s "
++msgstr ""
++
++#: lib/sh/fmtulong.c:101
++msgid "invalid base"
++msgstr ""
++
++#: lib/sh/netopen.c:158
++#, c-format
++msgid "%s: host unknown"
++msgstr "%s: okänd värd"
++
++#: lib/sh/netopen.c:165
++#, c-format
++msgid "%s: invalid service"
++msgstr "%s: ogiltig tjänst"
++
++#: lib/sh/netopen.c:296
++#, c-format
++msgid "%s: bad network path specification"
++msgstr ""
++
++#: lib/sh/netopen.c:336
++msgid "network operations not supported"
++msgstr ""
++
++#: mailcheck.c:382
++msgid "You have mail in $_"
++msgstr "Du har post i $_"
++
++#: mailcheck.c:407
++msgid "You have new mail in $_"
++msgstr "Du har ny post i $_"
++
++#: mailcheck.c:423
++#, c-format
++msgid "The mail in %s has been read\n"
++msgstr "Posten i %s har lästs\n"
++
++#: make_cmd.c:318
++msgid "syntax error: arithmetic expression required"
++msgstr ""
++
++#: make_cmd.c:320
++msgid "syntax error: `;' unexpected"
++msgstr "syntaxfel: \";\" oväntad"
++
++#: make_cmd.c:321
++#, c-format
++msgid "syntax error: `((%s))'"
++msgstr "syntaxfel: \"((%s))\""
++
++#: make_cmd.c:560
++#, c-format
++msgid "make_here_document: bad instruction type %d"
++msgstr ""
++
++#: make_cmd.c:730
++#, c-format
++msgid "make_redirection: redirection instruction `%d' out of range"
++msgstr ""
++
++#: parse.y:2726
++#, c-format
++msgid "unexpected EOF while looking for matching `%c'"
++msgstr ""
++
++#: parse.y:3011
++msgid "unexpected EOF while looking for `]]'"
++msgstr ""
++
++#: parse.y:3016
++#, c-format
++msgid "syntax error in conditional expression: unexpected token `%s'"
++msgstr ""
++
++#: parse.y:3020
++msgid "syntax error in conditional expression"
++msgstr ""
++
++#: parse.y:3098
++#, c-format
++msgid "unexpected token `%s', expected `)'"
++msgstr ""
++
++#: parse.y:3102
++msgid "expected `)'"
++msgstr "förväntade `)'"
++
++#: parse.y:3130
++#, c-format
++msgid "unexpected argument `%s' to conditional unary operator"
++msgstr ""
++
++#: parse.y:3134
++msgid "unexpected argument to conditional unary operator"
++msgstr ""
++
++#: parse.y:3171
++#, c-format
++msgid "unexpected token `%s', conditional binary operator expected"
++msgstr ""
++
++#: parse.y:3175
++msgid "conditional binary operator expected"
++msgstr ""
++
++#: parse.y:3191
++#, c-format
++msgid "unexpected argument `%s' to conditional binary operator"
++msgstr ""
++
++#: parse.y:3195
++msgid "unexpected argument to conditional binary operator"
++msgstr ""
++
++#: parse.y:3206
++#, c-format
++msgid "unexpected token `%c' in conditional command"
++msgstr ""
++
++#: parse.y:3209
++#, c-format
++msgid "unexpected token `%s' in conditional command"
++msgstr ""
++
++#: parse.y:3213
++#, c-format
++msgid "unexpected token %d in conditional command"
++msgstr ""
++
++#: parse.y:4400
++#, c-format
++msgid "syntax error near unexpected token `%s'"
++msgstr ""
++
++#: parse.y:4418
++#, fuzzy, c-format
++msgid "syntax error near `%s'"
++msgstr "Syntaxfel nära \"%1\""
++
++#: parse.y:4428
++msgid "syntax error: unexpected end of file"
++msgstr ""
++
++#: parse.y:4428
++msgid "syntax error"
++msgstr "syntaxfel"
++
++#: parse.y:4490
++#, c-format
++msgid "Use \"%s\" to leave the shell.\n"
++msgstr "Använd \"%s\" för att lämna skalet.\n"
++
++#: parse.y:4649
++msgid "unexpected EOF while looking for matching `)'"
++msgstr ""
++
++#: pcomplete.c:988
++#, c-format
++msgid "completion: function `%s' not found"
++msgstr ""
++
++#: pcomplib.c:179
++#, c-format
++msgid "progcomp_insert: %s: NULL COMPSPEC"
++msgstr ""
++
++#: print_cmd.c:260
++#, c-format
++msgid "print_command: bad connector `%d'"
++msgstr ""
++
++#: print_cmd.c:1172
++#, c-format
++msgid "cprintf: `%c': invalid format character"
++msgstr ""
++
++#: redir.c:99
++msgid "file descriptor out of range"
++msgstr ""
++
++#: redir.c:141
++#, c-format
++msgid "%s: ambiguous redirect"
++msgstr ""
++
++#: redir.c:145
++#, c-format
++msgid "%s: cannot overwrite existing file"
++msgstr ""
++
++#: redir.c:150
++#, c-format
++msgid "%s: restricted: cannot redirect output"
++msgstr ""
++
++#: redir.c:155
++#, c-format
++msgid "cannot create temp file for here document: %s"
++msgstr ""
++
++#: redir.c:509
++msgid "/dev/(tcp|udp)/host/port not supported without networking"
++msgstr "/dev/(tcp|udp)/host/port stöds inte utan nätverk"
++
++#: redir.c:949
++msgid "redirection error: cannot duplicate fd"
++msgstr ""
++
++#: shell.c:302
++msgid "could not find /tmp, please create!"
++msgstr "kunde inte hitta /tmp, vänligen skapa den!"
++
++#: shell.c:306
++msgid "/tmp must be a valid directory name"
++msgstr "/tmp måste vara ett giltigt katalognamn"
++
++#: shell.c:839
++#, c-format
++msgid "%c%c: invalid option"
++msgstr "%c%c: ogiltig flagga"
++
++#: shell.c:1590
++msgid "I have no name!"
++msgstr "Jag har inget namn!"
++
++#: shell.c:1725
++#, c-format
++msgid ""
++"Usage:\t%s [GNU long option] [option] ...\n"
++"\t%s [GNU long option] [option] script-file ...\n"
++msgstr ""
++"Användning:\t%s [GNU lång flagga] [flagga] ...\n"
++"\t%s [GNU lång flagga] [flagga] skriptfil ...\n"
++
++#: shell.c:1727
++msgid "GNU long options:\n"
++msgstr "GNU långa flaggor:\n"
++
++#: shell.c:1731
++msgid "Shell options:\n"
++msgstr "Skalflaggor:\n"
++
++#: shell.c:1732
++msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
++msgstr "\t-irsD eller -c kommando eller -O shopt_option\t\t(endast anrop)\n"
++
++#: shell.c:1747
++#, c-format
++msgid "\t-%s or -o option\n"
++msgstr "\t-%s eller -o flagga\n"
++
++#: shell.c:1753
++#, c-format
++msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
++msgstr "Skriv \"%s -c \"help set\"\" för mer information om skalflaggor.\n"
++
++#: shell.c:1754
++#, c-format
++msgid "Type `%s -c help' for more information about shell builtin commands.\n"
++msgstr "Skriv \"%s -c help\" för mer information om skalets inbyggda kommandon.\n"
++
++#: shell.c:1755
++msgid "Use the `bashbug' command to report bugs.\n"
++msgstr "Använd kommandot \"bashbug\" för att rapportera buggar.\n"
++
++#: sig.c:485
++#, c-format
++msgid "sigprocmask: %d: invalid operation"
++msgstr ""
++
++#: subst.c:1011
++#, c-format
++msgid "bad substitution: no closing `%s' in %s"
++msgstr ""
++
++#: subst.c:2020
++#, c-format
++msgid "%s: cannot assign list to array member"
++msgstr ""
++
++#: subst.c:3516
++#: subst.c:3532
++msgid "cannot make pipe for process substitution"
++msgstr ""
++
++#: subst.c:3563
++msgid "cannot make child for process substitution"
++msgstr ""
++
++#: subst.c:3608
++#, c-format
++msgid "cannot open named pipe %s for reading"
++msgstr ""
++
++#: subst.c:3610
++#, c-format
++msgid "cannot open named pipe %s for writing"
++msgstr ""
++
++#: subst.c:3618
++#, c-format
++msgid "cannout reset nodelay mode for fd %d"
++msgstr ""
++
++#: subst.c:3628
++#, c-format
++msgid "cannot duplicate named pipe %s as fd %d"
++msgstr ""
++
++#: subst.c:3803
++msgid "cannot make pipe for command substitution"
++msgstr ""
++
++#: subst.c:3832
++msgid "cannot make child for command substitution"
++msgstr ""
++
++#: subst.c:3849
++msgid "command_substitute: cannot duplicate pipe as fd 1"
++msgstr ""
++
++#: subst.c:4284
++#, fuzzy, c-format
++msgid "%s: parameter null or not set"
++msgstr "parameter är tom eller inte satt"
++
++#: subst.c:4529
++#, c-format
++msgid "%s: substring expression < 0"
++msgstr ""
++
++#: subst.c:5209
++#, c-format
++msgid "%s: bad substitution"
++msgstr ""
++
++#: subst.c:5283
++#, c-format
++msgid "$%s: cannot assign in this way"
++msgstr ""
++
++#: subst.c:6652
++#, c-format
++msgid "no match: %s"
++msgstr "ingen match: %s"
++
++#: test.c:154
++#, fuzzy
++msgid "argument expected"
++msgstr "(argument förväntades)"
++
++#: test.c:163
++#, c-format
++msgid "%s: integer expression expected"
++msgstr ""
++
++#: test.c:361
++#, fuzzy
++msgid "`)' expected"
++msgstr "\")\" förväntas\n"
++
++#: test.c:363
++#, fuzzy, c-format
++msgid "`)' expected, found %s"
++msgstr "\")\" förväntades, fann %s\n"
++
++#: test.c:378
++#: test.c:787
++#: test.c:790
++#, fuzzy, c-format
++msgid "%s: unary operator expected"
++msgstr "%s: unär operator förväntas\n"
++
++#: test.c:543
++#: test.c:830
++#, fuzzy, c-format
++msgid "%s: binary operator expected"
++msgstr "%s: binär operator förväntas\n"
++
++#: test.c:905
++msgid "missing `]'"
++msgstr "saknar \"]\""
++
++#: trap.c:194
++msgid "invalid signal number"
++msgstr ""
++
++#: trap.c:309
++#, c-format
++msgid "run_pending_traps: bad value in trap_list[%d]: %p"
++msgstr ""
++
++#: trap.c:313
++#, c-format
++msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
++msgstr ""
++
++#: trap.c:349
++#, c-format
++msgid "trap_handler: bad signal %d"
++msgstr ""
++
++#: variables.c:310
++#, c-format
++msgid "error importing function definition for `%s'"
++msgstr ""
++
++#: variables.c:670
++#, c-format
++msgid "shell level (%d) too high, resetting to 1"
++msgstr ""
++
++#: variables.c:1610
++msgid "make_local_variable: no function context at current scope"
++msgstr ""
++
++#: variables.c:2709
++msgid "all_local_variables: no function context at current scope"
++msgstr ""
++
++#: variables.c:2923
++#: variables.c:2932
++#, c-format
++msgid "invalid character %d in exportstr for %s"
++msgstr ""
++
++#: variables.c:2938
++#, c-format
++msgid "no `=' in exportstr for %s"
++msgstr ""
++
++#: variables.c:3363
++msgid "pop_var_context: head of shell_variables not a function context"
++msgstr ""
++
++#: variables.c:3376
++msgid "pop_var_context: no global_variables context"
++msgstr ""
++
++#: variables.c:3442
++msgid "pop_scope: head of shell_variables not a temporary environment scope"
++msgstr ""
++
++#: version.c:82
++msgid "Copyright (C) 2004 Free Software Foundation, Inc.\n"
++msgstr "Copyright (C) 2004 Free Software Foundation, Inc.\n"
++
++#: xmalloc.c:93
++#, c-format
++msgid "xmalloc: cannot allocate %lu bytes (%lu bytes allocated)"
++msgstr ""
++
++#: xmalloc.c:95
++#, c-format
++msgid "xmalloc: cannot allocate %lu bytes"
++msgstr ""
++
++#: xmalloc.c:115
++#, c-format
++msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
++msgstr ""
++
++#: xmalloc.c:117
++#, c-format
++msgid "xrealloc: cannot allocate %lu bytes"
++msgstr ""
++
++#: xmalloc.c:151
++#, c-format
++msgid "xmalloc: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
++msgstr ""
++
++#: xmalloc.c:153
++#, c-format
++msgid "xmalloc: %s:%d: cannot allocate %lu bytes"
++msgstr ""
++
++#: xmalloc.c:175
++#, c-format
++msgid "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"
++msgstr ""
++
++#: xmalloc.c:177
++#, c-format
++msgid "xrealloc: %s:%d: cannot allocate %lu bytes"
++msgstr ""
++
++#: builtins.c:244
++msgid "`alias' with no arguments or with the -p option prints the list"
++msgstr ""
++
++#: builtins.c:245
++msgid "of aliases in the form alias NAME=VALUE on standard output."
++msgstr ""
++
++#: builtins.c:246
++msgid "Otherwise, an alias is defined for each NAME whose VALUE is given."
++msgstr ""
++
++#: builtins.c:247
++msgid "A trailing space in VALUE causes the next word to be checked for"
++msgstr ""
++
++#: builtins.c:248
++msgid "alias substitution when the alias is expanded. Alias returns"
++msgstr ""
++
++#: builtins.c:249
++msgid "true unless a NAME is given for which no alias has been defined."
++msgstr ""
++
++#: builtins.c:257
++msgid "Remove NAMEs from the list of defined aliases. If the -a option is given,"
++msgstr ""
++
++#: builtins.c:258
++msgid "then remove all alias definitions."
++msgstr ""
++
++#: builtins.c:266
++msgid "Bind a key sequence to a Readline function or a macro, or set"
++msgstr ""
++
++#: builtins.c:267
++msgid "a Readline variable. The non-option argument syntax is equivalent"
++msgstr ""
++
++#: builtins.c:268
++msgid "to that found in ~/.inputrc, but must be passed as a single argument:"
++msgstr ""
++
++#: builtins.c:269
++msgid "bind '\"\\C-x\\C-r\": re-read-init-file'."
++msgstr "bind '\"\\C-x\\C-r\": re-read-init-file'."
++
++#: builtins.c:270
++msgid "bind accepts the following options:"
++msgstr ""
++
++#: builtins.c:271
++msgid " -m keymap Use `keymap' as the keymap for the duration of this"
++msgstr ""
++
++#: builtins.c:272
++msgid " command. Acceptable keymap names are emacs,"
++msgstr ""
++
++#: builtins.c:273
++msgid " emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
++msgstr ""
++
++#: builtins.c:274
++msgid " vi-command, and vi-insert."
++msgstr ""
++
++#: builtins.c:275
++msgid " -l List names of functions."
++msgstr " -l Lista namn på funktioner."
++
++#: builtins.c:276
++msgid " -P List function names and bindings."
++msgstr ""
++
++#: builtins.c:277
++msgid " -p List functions and bindings in a form that can be"
++msgstr ""
++
++#: builtins.c:278
++msgid " reused as input."
++msgstr ""
++
++#: builtins.c:279
++msgid " -r keyseq Remove the binding for KEYSEQ."
++msgstr ""
++
++#: builtins.c:280
++msgid " -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when"
++msgstr ""
++
++#: builtins.c:281
++msgid "\t\t\t\tKEYSEQ is entered."
++msgstr ""
++
++#: builtins.c:282
++msgid " -f filename Read key bindings from FILENAME."
++msgstr ""
++
++#: builtins.c:283
++msgid " -q function-name Query about which keys invoke the named function."
++msgstr ""
++
++#: builtins.c:284
++msgid " -u function-name Unbind all keys which are bound to the named function."
++msgstr ""
++
++#: builtins.c:285
++msgid " -V List variable names and values"
++msgstr ""
++
++#: builtins.c:286
++msgid " -v List variable names and values in a form that can"
++msgstr ""
++
++#: builtins.c:287
++msgid " be reused as input."
++msgstr ""
++
++#: builtins.c:288
++msgid " -S List key sequences that invoke macros and their values"
++msgstr ""
++
++#: builtins.c:289
++msgid " -s List key sequences that invoke macros and their values"
++msgstr ""
++
++#: builtins.c:290
++msgid " in a form that can be reused as input."
++msgstr ""
++
++#: builtins.c:297
++msgid "Exit from within a FOR, WHILE or UNTIL loop. If N is specified,"
++msgstr ""
++
++#: builtins.c:298
++msgid "break N levels."
++msgstr ""
++
++#: builtins.c:304
++msgid "Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop."
++msgstr ""
++
++#: builtins.c:305
++msgid "If N is specified, resume at the N-th enclosing loop."
++msgstr ""
++
++#: builtins.c:311
++msgid "Run a shell builtin. This is useful when you wish to rename a"
++msgstr ""
++
++#: builtins.c:312
++msgid "shell builtin to be a function, but need the functionality of the"
++msgstr ""
++
++#: builtins.c:313
++msgid "builtin within the function itself."
++msgstr ""
++
++#: builtins.c:334
++msgid "Change the current directory to DIR. The variable $HOME is the"
++msgstr ""
++
++#: builtins.c:335
++msgid "default DIR. The variable CDPATH defines the search path for"
++msgstr ""
++
++#: builtins.c:336
++msgid "the directory containing DIR. Alternative directory names in CDPATH"
++msgstr ""
++
++#: builtins.c:337
++msgid "are separated by a colon (:). A null directory name is the same as"
++msgstr ""
++
++#: builtins.c:338
++msgid "the current directory, i.e. `.'. If DIR begins with a slash (/),"
++msgstr ""
++
++#: builtins.c:339
++msgid "then CDPATH is not used. If the directory is not found, and the"
++msgstr ""
++
++#: builtins.c:340
++msgid "shell option `cdable_vars' is set, then try the word as a variable"
++msgstr ""
++
++#: builtins.c:341
++msgid "name. If that variable has a value, then cd to the value of that"
++msgstr ""
++
++#: builtins.c:342
++msgid "variable. The -P option says to use the physical directory structure"
++msgstr ""
++
++#: builtins.c:343
++msgid "instead of following symbolic links; the -L option forces symbolic links"
++msgstr ""
++
++#: builtins.c:344
++msgid "to be followed."
++msgstr ""
++
++#: builtins.c:350
++msgid "Print the current working directory. With the -P option, pwd prints"
++msgstr ""
++
++#: builtins.c:351
++msgid "the physical directory, without any symbolic links; the -L option"
++msgstr ""
++
++#: builtins.c:352
++msgid "makes pwd follow symbolic links."
++msgstr ""
++
++#: builtins.c:358
++msgid "No effect; the command does nothing. A zero exit code is returned."
++msgstr ""
++
++#: builtins.c:364
++msgid "Return a successful result."
++msgstr ""
++
++#: builtins.c:370
++msgid "Return an unsuccessful result."
++msgstr ""
++
++#: builtins.c:376
++msgid "Runs COMMAND with ARGS ignoring shell functions. If you have a shell"
++msgstr ""
++
++#: builtins.c:377
++msgid "function called `ls', and you wish to call the command `ls', you can"
++msgstr ""
++
++#: builtins.c:378
++msgid "say \"command ls\". If the -p option is given, a default value is used"
++msgstr ""
++
++#: builtins.c:379
++msgid "for PATH that is guaranteed to find all of the standard utilities. If"
++msgstr ""
++
++#: builtins.c:380
++msgid "the -V or -v option is given, a string is printed describing COMMAND."
++msgstr ""
++
++#: builtins.c:381
++msgid "The -V option produces a more verbose description."
++msgstr ""
++
++#: builtins.c:387
++msgid "Declare variables and/or give them attributes. If no NAMEs are"
++msgstr ""
++
++#: builtins.c:388
++msgid "given, then display the values of variables instead. The -p option"
++msgstr ""
++
++#: builtins.c:389
++msgid "will display the attributes and values of each NAME."
++msgstr ""
++
++#: builtins.c:391
++msgid "The flags are:"
++msgstr "Flaggorna är:"
++
++#: builtins.c:393
++msgid " -a\tto make NAMEs arrays (if supported)"
++msgstr ""
++
++#: builtins.c:394
++msgid " -f\tto select from among function names only"
++msgstr ""
++
++#: builtins.c:395
++msgid " -F\tto display function names (and line number and source file name if"
++msgstr ""
++
++#: builtins.c:396
++msgid "\tdebugging) without definitions"
++msgstr ""
++
++#: builtins.c:397
++msgid " -i\tto make NAMEs have the `integer' attribute"
++msgstr ""
++
++#: builtins.c:398
++msgid " -r\tto make NAMEs readonly"
++msgstr ""
++
++#: builtins.c:399
++msgid " -t\tto make NAMEs have the `trace' attribute"
++msgstr ""
++
++#: builtins.c:400
++msgid " -x\tto make NAMEs export"
++msgstr ""
++
++#: builtins.c:402
++msgid "Variables with the integer attribute have arithmetic evaluation (see"
++msgstr ""
++
++#: builtins.c:403
++msgid "`let') done when the variable is assigned to."
++msgstr ""
++
++#: builtins.c:405
++msgid "When displaying values of variables, -f displays a function's name"
++msgstr ""
++
++#: builtins.c:406
++msgid "and definition. The -F option restricts the display to function"
++msgstr ""
++
++#: builtins.c:407
++#, fuzzy
++msgid "name only."
++msgstr "En&dast namn"
++
++#: builtins.c:409
++msgid "Using `+' instead of `-' turns off the given attribute instead. When"
++msgstr ""
++
++#: builtins.c:410
++msgid "used in a function, makes NAMEs local, as with the `local' command."
++msgstr ""
++
++#: builtins.c:416
++msgid "Obsolete. See `declare'."
++msgstr "Föråldrad. Se \"declare\"."
++
++#: builtins.c:422
++msgid "Create a local variable called NAME, and give it VALUE. LOCAL"
++msgstr ""
++
++#: builtins.c:423
++msgid "can only be used within a function; it makes the variable NAME"
++msgstr ""
++
++#: builtins.c:424
++msgid "have a visible scope restricted to that function and its children."
++msgstr ""
++
++#: builtins.c:431
++msgid "Output the ARGs. If -n is specified, the trailing newline is"
++msgstr ""
++
++#: builtins.c:432
++msgid "suppressed. If the -e option is given, interpretation of the"
++msgstr ""
++
++#: builtins.c:433
++msgid "following backslash-escaped characters is turned on:"
++msgstr ""
++
++#: builtins.c:434
++msgid "\t\\a\talert (bell)"
++msgstr ""
++
++#: builtins.c:435
++msgid "\t\\b\tbackspace"
++msgstr ""
++
++#: builtins.c:436
++msgid "\t\\c\tsuppress trailing newline"
++msgstr ""
++
++#: builtins.c:437
++msgid "\t\\E\tescape character"
++msgstr ""
++
++#: builtins.c:438
++msgid "\t\\f\tform feed"
++msgstr ""
++
++#: builtins.c:439
++msgid ""
++"\t\\n"
++"\tnew line"
++msgstr ""
++
++#: builtins.c:440
++msgid "\t\\r\tcarriage return"
++msgstr ""
++
++#: builtins.c:441
++msgid "\t\\t\thorizontal tab"
++msgstr ""
++
++#: builtins.c:442
++msgid "\t\\v\tvertical tab"
++msgstr ""
++
++#: builtins.c:443
++msgid "\t\\\\\tbackslash"
++msgstr ""
++
++#: builtins.c:444
++msgid ""
++"\t\\n"
++"um\tthe character whose ASCII code is NUM (octal)."
++msgstr ""
++
++#: builtins.c:446
++msgid "You can explicitly turn off the interpretation of the above characters"
++msgstr ""
++
++#: builtins.c:447
++msgid "with the -E option."
++msgstr ""
++
++#: builtins.c:455
++msgid "Output the ARGs. If -n is specified, the trailing newline is suppressed."
++msgstr ""
++
++#: builtins.c:462
++msgid "Enable and disable builtin shell commands. This allows"
++msgstr ""
++
++#: builtins.c:463
++msgid "you to use a disk command which has the same name as a shell"
++msgstr ""
++
++#: builtins.c:464
++msgid "builtin without specifying a full pathname. If -n is used, the"
++msgstr ""
++
++#: builtins.c:465
++msgid "NAMEs become disabled; otherwise NAMEs are enabled. For example,"
++msgstr ""
++
++#: builtins.c:466
++msgid "to use the `test' found in $PATH instead of the shell builtin"
++msgstr ""
++
++#: builtins.c:467
++msgid "version, type `enable -n test'. On systems supporting dynamic"
++msgstr ""
++
++#: builtins.c:468
++msgid "loading, the -f option may be used to load new builtins from the"
++msgstr ""
++
++#: builtins.c:469
++msgid "shared object FILENAME. The -d option will delete a builtin"
++msgstr ""
++
++#: builtins.c:470
++msgid "previously loaded with -f. If no non-option names are given, or"
++msgstr ""
++
++#: builtins.c:471
++msgid "the -p option is supplied, a list of builtins is printed. The"
++msgstr ""
++
++#: builtins.c:472
++msgid "-a option means to print every builtin with an indication of whether"
++msgstr ""
++
++#: builtins.c:473
++msgid "or not it is enabled. The -s option restricts the output to the POSIX.2"
++msgstr ""
++
++#: builtins.c:474
++msgid "`special' builtins. The -n option displays a list of all disabled builtins."
++msgstr ""
++
++#: builtins.c:480
++msgid "Read ARGs as input to the shell and execute the resulting command(s)."
++msgstr ""
++
++#: builtins.c:486
++msgid "Getopts is used by shell procedures to parse positional parameters."
++msgstr ""
++
++#: builtins.c:488
++msgid "OPTSTRING contains the option letters to be recognized; if a letter"
++msgstr ""
++
++#: builtins.c:489
++msgid "is followed by a colon, the option is expected to have an argument,"
++msgstr ""
++
++#: builtins.c:490
++msgid "which should be separated from it by white space."
++msgstr ""
++
++#: builtins.c:492
++msgid "Each time it is invoked, getopts will place the next option in the"
++msgstr ""
++
++#: builtins.c:493
++msgid "shell variable $name, initializing name if it does not exist, and"
++msgstr ""
++
++#: builtins.c:494
++msgid "the index of the next argument to be processed into the shell"
++msgstr ""
++
++#: builtins.c:495
++msgid "variable OPTIND. OPTIND is initialized to 1 each time the shell or"
++msgstr ""
++
++#: builtins.c:496
++msgid "a shell script is invoked. When an option requires an argument,"
++msgstr ""
++
++#: builtins.c:497
++msgid "getopts places that argument into the shell variable OPTARG."
++msgstr ""
++
++#: builtins.c:499
++msgid "getopts reports errors in one of two ways. If the first character"
++msgstr ""
++
++#: builtins.c:500
++msgid "of OPTSTRING is a colon, getopts uses silent error reporting. In"
++msgstr ""
++
++#: builtins.c:501
++msgid "this mode, no error messages are printed. If an invalid option is"
++msgstr ""
++
++#: builtins.c:502
++msgid "seen, getopts places the option character found into OPTARG. If a"
++msgstr ""
++
++#: builtins.c:503
++msgid "required argument is not found, getopts places a ':' into NAME and"
++msgstr ""
++
++#: builtins.c:504
++msgid "sets OPTARG to the option character found. If getopts is not in"
++msgstr ""
++
++#: builtins.c:505
++msgid "silent mode, and an invalid option is seen, getopts places '?' into"
++msgstr ""
++
++#: builtins.c:506
++msgid "NAME and unsets OPTARG. If a required argument is not found, a '?'"
++msgstr ""
++
++#: builtins.c:507
++msgid "is placed in NAME, OPTARG is unset, and a diagnostic message is"
++msgstr ""
++
++#: builtins.c:508
++#, fuzzy
++msgid "printed."
++msgstr "Utskrivet"
++
++#: builtins.c:510
++msgid "If the shell variable OPTERR has the value 0, getopts disables the"
++msgstr ""
++
++#: builtins.c:511
++msgid "printing of error messages, even if the first character of"
++msgstr ""
++
++#: builtins.c:512
++msgid "OPTSTRING is not a colon. OPTERR has the value 1 by default."
++msgstr ""
++
++#: builtins.c:514
++msgid "Getopts normally parses the positional parameters ($0 - $9), but if"
++msgstr ""
++
++#: builtins.c:515
++msgid "more arguments are given, they are parsed instead."
++msgstr ""
++
++#: builtins.c:521
++msgid "Exec FILE, replacing this shell with the specified program."
++msgstr ""
++
++#: builtins.c:522
++msgid "If FILE is not specified, the redirections take effect in this"
++msgstr ""
++
++#: builtins.c:523
++msgid "shell. If the first argument is `-l', then place a dash in the"
++msgstr ""
++
++#: builtins.c:524
++msgid "zeroth arg passed to FILE, as login does. If the `-c' option"
++msgstr ""
++
++#: builtins.c:525
++msgid "is supplied, FILE is executed with a null environment. The `-a'"
++msgstr ""
++
++#: builtins.c:526
++msgid "option means to make set argv[0] of the executed process to NAME."
++msgstr ""
++
++#: builtins.c:527
++msgid "If the file cannot be executed and the shell is not interactive,"
++msgstr ""
++
++#: builtins.c:528
++msgid "then the shell exits, unless the shell option `execfail' is set."
++msgstr ""
++
++#: builtins.c:534
++msgid "Exit the shell with a status of N. If N is omitted, the exit status"
++msgstr ""
++
++#: builtins.c:535
++msgid "is that of the last command executed."
++msgstr ""
++
++#: builtins.c:541
++msgid "Logout of a login shell."
++msgstr ""
++
++#: builtins.c:548
++msgid "fc is used to list or edit and re-execute commands from the history list."
++msgstr ""
++
++#: builtins.c:549
++msgid "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
++msgstr ""
++
++#: builtins.c:550
++msgid "string, which means the most recent command beginning with that"
++msgstr ""
++
++#: builtins.c:551
++#, fuzzy
++msgid "string."
++msgstr "STRÄNG"
++
++#: builtins.c:553
++msgid " -e ENAME selects which editor to use. Default is FCEDIT, then EDITOR,"
++msgstr ""
++
++#: builtins.c:554
++msgid " then vi."
++msgstr ""
++
++#: builtins.c:556
++msgid " -l means list lines instead of editing."
++msgstr ""
++
++#: builtins.c:557
++msgid " -n means no line numbers listed."
++msgstr ""
++
++#: builtins.c:558
++msgid " -r means reverse the order of the lines (making it newest listed first)."
++msgstr ""
++
++#: builtins.c:560
++msgid "With the `fc -s [pat=rep ...] [command]' format, the command is"
++msgstr ""
++
++#: builtins.c:561
++msgid "re-executed after the substitution OLD=NEW is performed."
++msgstr ""
++
++#: builtins.c:563
++msgid "A useful alias to use with this is r='fc -s', so that typing `r cc'"
++msgstr ""
++
++#: builtins.c:564
++msgid "runs the last command beginning with `cc' and typing `r' re-executes"
++msgstr ""
++
++#: builtins.c:565
++msgid "the last command."
++msgstr ""
++
++#: builtins.c:573
++msgid "Place JOB_SPEC in the foreground, and make it the current job. If"
++msgstr ""
++
++#: builtins.c:574
++msgid "JOB_SPEC is not present, the shell's notion of the current job is"
++msgstr ""
++
++#: builtins.c:575
++#, fuzzy
++msgid "used."
++msgstr "Anv_änt"
++
++#: builtins.c:583
++msgid "Place JOB_SPEC in the background, as if it had been started with"
++msgstr ""
++
++#: builtins.c:584
++msgid "`&'. If JOB_SPEC is not present, the shell's notion of the current"
++msgstr ""
++
++#: builtins.c:585
++msgid "job is used."
++msgstr ""
++
++#: builtins.c:592
++msgid "For each NAME, the full pathname of the command is determined and"
++msgstr ""
++
++#: builtins.c:593
++msgid "remembered. If the -p option is supplied, PATHNAME is used as the"
++msgstr ""
++
++#: builtins.c:594
++msgid "full pathname of NAME, and no path search is performed. The -r"
++msgstr ""
++
++#: builtins.c:595
++msgid "option causes the shell to forget all remembered locations. The -d"
++msgstr ""
++
++#: builtins.c:596
++msgid "option causes the shell to forget the remembered location of each NAME."
++msgstr ""
++
++#: builtins.c:597
++msgid "If the -t option is supplied the full pathname to which each NAME"
++msgstr ""
++
++#: builtins.c:598
++msgid "corresponds is printed. If multiple NAME arguments are supplied with"
++msgstr ""
++
++#: builtins.c:599
++msgid "-t, the NAME is printed before the hashed full pathname. The -l option"
++msgstr ""
++
++#: builtins.c:600
++msgid "causes output to be displayed in a format that may be reused as input."
++msgstr ""
++
++#: builtins.c:601
++msgid "If no arguments are given, information about remembered commands is displayed."
++msgstr ""
++
++#: builtins.c:608
++msgid "Display helpful information about builtin commands. If PATTERN is"
++msgstr ""
++
++#: builtins.c:609
++msgid "specified, gives detailed help on all commands matching PATTERN,"
++msgstr ""
++
++#: builtins.c:610
++msgid "otherwise a list of the builtins is printed. The -s option"
++msgstr ""
++
++#: builtins.c:611
++msgid "restricts the output for each builtin command matching PATTERN to"
++msgstr ""
++
++#: builtins.c:612
++msgid "a short usage synopsis."
++msgstr ""
++
++#: builtins.c:620
++msgid "Display the history list with line numbers. Lines listed with"
++msgstr ""
++
++#: builtins.c:621
++msgid "with a `*' have been modified. Argument of N says to list only"
++msgstr ""
++
++#: builtins.c:622
++msgid "the last N lines. The `-c' option causes the history list to be"
++msgstr ""
++
++#: builtins.c:623
++msgid "cleared by deleting all of the entries. The `-d' option deletes"
++msgstr ""
++
++#: builtins.c:624
++msgid "the history entry at offset OFFSET. The `-w' option writes out the"
++msgstr ""
++
++#: builtins.c:625
++msgid "current history to the history file; `-r' means to read the file and"
++msgstr ""
++
++#: builtins.c:626
++msgid "append the contents to the history list instead. `-a' means"
++msgstr ""
++
++#: builtins.c:627
++msgid "to append history lines from this session to the history file."
++msgstr ""
++
++#: builtins.c:628
++msgid "Argument `-n' means to read all history lines not already read"
++msgstr ""
++
++#: builtins.c:629
++msgid "from the history file and append them to the history list."
++msgstr ""
++
++#: builtins.c:631
++msgid "If FILENAME is given, then that is used as the history file else"
++msgstr ""
++
++#: builtins.c:632
++msgid "if $HISTFILE has a value, that is used, else ~/.bash_history."
++msgstr ""
++
++#: builtins.c:633
++msgid "If the -s option is supplied, the non-option ARGs are appended to"
++msgstr ""
++
++#: builtins.c:634
++msgid "the history list as a single entry. The -p option means to perform"
++msgstr ""
++
++#: builtins.c:635
++msgid "history expansion on each ARG and display the result, without storing"
++msgstr ""
++
++#: builtins.c:636
++msgid "anything in the history list."
++msgstr ""
++
++#: builtins.c:638
++msgid "If the $HISTTIMEFORMAT variable is set and not null, its value is used"
++msgstr ""
++
++#: builtins.c:639
++msgid "as a format string for strftime(3) to print the time stamp associated"
++msgstr ""
++
++#: builtins.c:640
++msgid "with each displayed history entry. No time stamps are printed otherwise."
++msgstr ""
++
++#: builtins.c:648
++msgid "Lists the active jobs. The -l option lists process id's in addition"
++msgstr ""
++
++#: builtins.c:649
++msgid "to the normal information; the -p option lists process id's only."
++msgstr ""
++
++#: builtins.c:650
++msgid "If -n is given, only processes that have changed status since the last"
++msgstr ""
++
++#: builtins.c:651
++msgid "notification are printed. JOBSPEC restricts output to that job. The"
++msgstr ""
++
++#: builtins.c:652
++msgid "-r and -s options restrict output to running and stopped jobs only,"
++msgstr ""
++
++#: builtins.c:653
++msgid "respectively. Without options, the status of all active jobs is"
++msgstr ""
++
++#: builtins.c:654
++msgid "printed. If -x is given, COMMAND is run after all job specifications"
++msgstr ""
++
++#: builtins.c:655
++msgid "that appear in ARGS have been replaced with the process ID of that job's"
++msgstr ""
++
++#: builtins.c:656
++msgid "process group leader."
++msgstr ""
++
++#: builtins.c:664
++msgid "By default, removes each JOBSPEC argument from the table of active jobs."
++msgstr ""
++
++#: builtins.c:665
++msgid "If the -h option is given, the job is not removed from the table, but is"
++msgstr ""
++
++#: builtins.c:666
++msgid "marked so that SIGHUP is not sent to the job if the shell receives a"
++msgstr ""
++
++#: builtins.c:667
++msgid "SIGHUP. The -a option, when JOBSPEC is not supplied, means to remove all"
++msgstr ""
++
++#: builtins.c:668
++msgid "jobs from the job table; the -r option means to remove only running jobs."
++msgstr ""
++
++#: builtins.c:675
++msgid "Send the processes named by PID (or JOB) the signal SIGSPEC. If"
++msgstr ""
++
++#: builtins.c:676
++msgid "SIGSPEC is not present, then SIGTERM is assumed. An argument of `-l'"
++msgstr ""
++
++#: builtins.c:677
++msgid "lists the signal names; if arguments follow `-l' they are assumed to"
++msgstr ""
++
++#: builtins.c:678
++msgid "be signal numbers for which names should be listed. Kill is a shell"
++msgstr ""
++
++#: builtins.c:679
++msgid "builtin for two reasons: it allows job IDs to be used instead of"
++msgstr ""
++
++#: builtins.c:680
++msgid "process IDs, and, if you have reached the limit on processes that"
++msgstr ""
++
++#: builtins.c:681
++msgid "you can create, you don't have to start a process to kill another one."
++msgstr ""
++
++#: builtins.c:687
++msgid "Each ARG is an arithmetic expression to be evaluated. Evaluation"
++msgstr ""
++
++#: builtins.c:688
++msgid "is done in fixed-width integers with no check for overflow, though"
++msgstr ""
++
++#: builtins.c:689
++msgid "division by 0 is trapped and flagged as an error. The following"
++msgstr ""
++
++#: builtins.c:690
++msgid "list of operators is grouped into levels of equal-precedence operators."
++msgstr ""
++
++#: builtins.c:691
++msgid "The levels are listed in order of decreasing precedence."
++msgstr ""
++
++#: builtins.c:693
++msgid "\tid++, id--\tvariable post-increment, post-decrement"
++msgstr ""
++
++#: builtins.c:694
++msgid "\t++id, --id\tvariable pre-increment, pre-decrement"
++msgstr ""
++
++#: builtins.c:695
++msgid "\t-, +\t\tunary minus, plus"
++msgstr ""
++
++#: builtins.c:696
++msgid "\t!, ~\t\tlogical and bitwise negation"
++msgstr ""
++
++#: builtins.c:697
++msgid "\t**\t\texponentiation"
++msgstr ""
++
++#: builtins.c:698
++msgid "\t*, /, %\t\tmultiplication, division, remainder"
++msgstr ""
++
++#: builtins.c:699
++msgid "\t+, -\t\taddition, subtraction"
++msgstr ""
++
++#: builtins.c:700
++msgid "\t<<, >>\t\tleft and right bitwise shifts"
++msgstr ""
++
++#: builtins.c:701
++msgid "\t<=, >=, <, >\tcomparison"
++msgstr ""
++
++#: builtins.c:702
++msgid "\t==, !=\t\tequality, inequality"
++msgstr ""
++
++#: builtins.c:703
++msgid "\t&\t\tbitwise AND"
++msgstr ""
++
++#: builtins.c:704
++msgid "\t^\t\tbitwise XOR"
++msgstr ""
++
++#: builtins.c:705
++msgid "\t|\t\tbitwise OR"
++msgstr ""
++
++#: builtins.c:706
++msgid "\t&&\t\tlogical AND"
++msgstr ""
++
++#: builtins.c:707
++msgid "\t||\t\tlogical OR"
++msgstr ""
++
++#: builtins.c:708
++msgid "\texpr ? expr : expr"
++msgstr ""
++
++#: builtins.c:709
++msgid "\t\t\tconditional operator"
++msgstr ""
++
++#: builtins.c:710
++msgid "\t=, *=, /=, %=,"
++msgstr "\t=, *=, /=, %=,"
++
++#: builtins.c:711
++msgid "\t+=, -=, <<=, >>=,"
++msgstr "\t+=, -=, <<=, >>=,"
++
++#: builtins.c:712
++msgid "\t&=, ^=, |=\tassignment"
++msgstr ""
++
++#: builtins.c:714
++msgid "Shell variables are allowed as operands. The name of the variable"
++msgstr ""
++
++#: builtins.c:715
++msgid "is replaced by its value (coerced to a fixed-width integer) within"
++msgstr ""
++
++#: builtins.c:716
++msgid "an expression. The variable need not have its integer attribute"
++msgstr ""
++
++#: builtins.c:717
++msgid "turned on to be used in an expression."
++msgstr ""
++
++#: builtins.c:719
++msgid "Operators are evaluated in order of precedence. Sub-expressions in"
++msgstr ""
++
++#: builtins.c:720
++msgid "parentheses are evaluated first and may override the precedence"
++msgstr ""
++
++#: builtins.c:721
++msgid "rules above."
++msgstr ""
++
++#: builtins.c:723
++msgid "If the last ARG evaluates to 0, let returns 1; 0 is returned"
++msgstr ""
++
++#: builtins.c:724
++msgid "otherwise."
++msgstr ""
++
++#: builtins.c:730
++msgid "One line is read from the standard input, or from file descriptor FD if the"
++msgstr ""
++
++#: builtins.c:731
++msgid "-u option is supplied, and the first word is assigned to the first NAME,"
++msgstr ""
++
++#: builtins.c:732
++msgid "the second word to the second NAME, and so on, with leftover words assigned"
++msgstr ""
++
++#: builtins.c:733
++msgid "to the last NAME. Only the characters found in $IFS are recognized as word"
++msgstr ""
++
++#: builtins.c:734
++msgid "delimiters. If no NAMEs are supplied, the line read is stored in the REPLY"
++msgstr ""
++
++#: builtins.c:735
++msgid "variable. If the -r option is given, this signifies `raw' input, and"
++msgstr ""
++
++#: builtins.c:736
++msgid "backslash escaping is disabled. The -d option causes read to continue"
++msgstr ""
++
++#: builtins.c:737
++msgid "until the first character of DELIM is read, rather than newline. If the -p"
++msgstr ""
++
++#: builtins.c:738
++msgid "option is supplied, the string PROMPT is output without a trailing newline"
++msgstr ""
++
++#: builtins.c:739
++msgid "before attempting to read. If -a is supplied, the words read are assigned"
++msgstr ""
++
++#: builtins.c:740
++msgid "to sequential indices of ARRAY, starting at zero. If -e is supplied and"
++msgstr ""
++
++#: builtins.c:741
++msgid "the shell is interactive, readline is used to obtain the line. If -n is"
++msgstr ""
++
++#: builtins.c:742
++msgid "supplied with a non-zero NCHARS argument, read returns after NCHARS"
++msgstr ""
++
++#: builtins.c:743
++msgid "characters have been read. The -s option causes input coming from a"
++msgstr ""
++
++#: builtins.c:744
++msgid "terminal to not be echoed."
++msgstr ""
++
++#: builtins.c:746
++msgid "The -t option causes read to time out and return failure if a complete line"
++msgstr ""
++
++#: builtins.c:747
++msgid "of input is not read within TIMEOUT seconds. If the TMOUT variable is set,"
++msgstr ""
++
++#: builtins.c:748
++msgid "its value is the default timeout. The return code is zero, unless end-of-file"
++msgstr ""
++
++#: builtins.c:749
++msgid "is encountered, read times out, or an invalid file descriptor is supplied as"
++msgstr ""
++
++#: builtins.c:750
++msgid "the argument to -u."
++msgstr ""
++
++#: builtins.c:756
++msgid "Causes a function to exit with the return value specified by N. If N"
++msgstr ""
++
++#: builtins.c:757
++msgid "is omitted, the return status is that of the last command."
++msgstr ""
++
++#: builtins.c:763
++msgid " -a Mark variables which are modified or created for export."
++msgstr ""
++
++#: builtins.c:764
++msgid " -b Notify of job termination immediately."
++msgstr ""
++
++#: builtins.c:765
++msgid " -e Exit immediately if a command exits with a non-zero status."
++msgstr ""
++
++#: builtins.c:766
++msgid " -f Disable file name generation (globbing)."
++msgstr ""
++
++#: builtins.c:767
++msgid " -h Remember the location of commands as they are looked up."
++msgstr ""
++
++#: builtins.c:768
++msgid " -k All assignment arguments are placed in the environment for a"
++msgstr ""
++
++#: builtins.c:769
++msgid " command, not just those that precede the command name."
++msgstr ""
++
++#: builtins.c:770
++msgid " -m Job control is enabled."
++msgstr ""
++
++#: builtins.c:771
++msgid " -n Read commands but do not execute them."
++msgstr ""
++
++#: builtins.c:772
++#, fuzzy
++msgid " -o option-name"
++msgstr "Inställningsnamn"
++
++#: builtins.c:773
++msgid " Set the variable corresponding to option-name:"
++msgstr ""
++
++#: builtins.c:774
++msgid " allexport same as -a"
++msgstr " allexport samma som -a"
++
++#: builtins.c:775
++msgid " braceexpand same as -B"
++msgstr " braceexpand samma som -B"
++
++#: builtins.c:777
++msgid " emacs use an emacs-style line editing interface"
++msgstr ""
++
++#: builtins.c:779
++msgid " errexit same as -e"
++msgstr " errexit samma som -e"
++
++#: builtins.c:780
++msgid " errtrace same as -E"
++msgstr " errtrace samma som -E"
++
++#: builtins.c:781
++msgid " functrace same as -T"
++msgstr " functrace samma som -T"
++
++#: builtins.c:782
++msgid " hashall same as -h"
++msgstr " hashall samma som -h"
++
++#: builtins.c:784
++msgid " histexpand same as -H"
++msgstr " histexpand samma som -H"
++
++#: builtins.c:787
++msgid " history enable command history"
++msgstr ""
++
++#: builtins.c:789
++msgid " ignoreeof the shell will not exit upon reading EOF"
++msgstr ""
++
++#: builtins.c:790
++msgid " interactive-comments"
++msgstr ""
++
++#: builtins.c:791
++msgid " allow comments to appear in interactive commands"
++msgstr ""
++
++#: builtins.c:792
++msgid " keyword same as -k"
++msgstr " keyword samma som -k"
++
++#: builtins.c:793
++msgid " monitor same as -m"
++msgstr " monitor samma som -m"
++
++#: builtins.c:794
++msgid " noclobber same as -C"
++msgstr " noclobber samma som -C"
++
++#: builtins.c:795
++msgid " noexec same as -n"
++msgstr " noexec samma som -n"
++
++#: builtins.c:796
++msgid " noglob same as -f"
++msgstr " noglob samma som -f"
++
++#: builtins.c:797
++msgid " nolog currently accepted but ignored"
++msgstr ""
++
++#: builtins.c:798
++msgid " notify same as -b"
++msgstr " notify samma som -b"
++
++#: builtins.c:799
++msgid " nounset same as -u"
++msgstr " nounset samma som -u"
++
++#: builtins.c:800
++msgid " onecmd same as -t"
++msgstr " onecmd samma som -t"
++
++#: builtins.c:801
++msgid " physical same as -P"
++msgstr " physical samma som -P"
++
++#: builtins.c:802
++msgid " pipefail the return value of a pipeline is the status of"
++msgstr ""
++
++#: builtins.c:803
++msgid " the last command to exit with a non-zero status,"
++msgstr ""
++
++#: builtins.c:804
++msgid " or zero if no command exited with a non-zero status"
++msgstr ""
++
++#: builtins.c:805
++msgid " posix change the behavior of bash where the default"
++msgstr ""
++
++#: builtins.c:806
++msgid " operation differs from the 1003.2 standard to"
++msgstr ""
++
++#: builtins.c:807
++msgid " match the standard"
++msgstr ""
++
++#: builtins.c:808
++msgid " privileged same as -p"
++msgstr " privileged samma som -p"
++
++#: builtins.c:809
++msgid " verbose same as -v"
++msgstr " verbose samma som -v"
++
++#: builtins.c:811
++msgid " vi use a vi-style line editing interface"
++msgstr ""
++
++#: builtins.c:813
++msgid " xtrace same as -x"
++msgstr " xtrace samma som -x"
++
++#: builtins.c:814
++msgid " -p Turned on whenever the real and effective user ids do not match."
++msgstr ""
++
++#: builtins.c:815
++msgid " Disables processing of the $ENV file and importing of shell"
++msgstr ""
++
++#: builtins.c:816
++msgid " functions. Turning this option off causes the effective uid and"
++msgstr ""
++
++#: builtins.c:817
++msgid " gid to be set to the real uid and gid."
++msgstr ""
++
++#: builtins.c:818
++msgid " -t Exit after reading and executing one command."
++msgstr ""
++
++#: builtins.c:819
++msgid " -u Treat unset variables as an error when substituting."
++msgstr ""
++
++#: builtins.c:820
++msgid " -v Print shell input lines as they are read."
++msgstr ""
++
++#: builtins.c:821
++msgid " -x Print commands and their arguments as they are executed."
++msgstr ""
++
++#: builtins.c:823
++msgid " -B the shell will perform brace expansion"
++msgstr ""
++
++#: builtins.c:825
++msgid " -C If set, disallow existing regular files to be overwritten"
++msgstr ""
++
++#: builtins.c:826
++msgid " by redirection of output."
++msgstr ""
++
++#: builtins.c:827
++msgid " -E If set, the ERR trap is inherited by shell functions."
++msgstr ""
++
++#: builtins.c:829
++msgid " -H Enable ! style history substitution. This flag is on"
++msgstr ""
++
++#: builtins.c:830
++msgid " by default."
++msgstr ""
++
++#: builtins.c:832
++msgid " -P If set, do not follow symbolic links when executing commands"
++msgstr ""
++
++#: builtins.c:833
++msgid " such as cd which change the current directory."
++msgstr ""
++
++#: builtins.c:834
++msgid " -T If set, the DEBUG trap is inherited by shell functions."
++msgstr ""
++
++#: builtins.c:836
++msgid "Using + rather than - causes these flags to be turned off. The"
++msgstr ""
++
++#: builtins.c:837
++msgid "flags can also be used upon invocation of the shell. The current"
++msgstr ""
++
++#: builtins.c:838
++msgid "set of flags may be found in $-. The remaining n ARGs are positional"
++msgstr ""
++
++#: builtins.c:839
++msgid "parameters and are assigned, in order, to $1, $2, .. $n. If no"
++msgstr ""
++
++#: builtins.c:840
++msgid "ARGs are given, all shell variables are printed."
++msgstr ""
++
++#: builtins.c:846
++msgid "For each NAME, remove the corresponding variable or function. Given"
++msgstr ""
++
++#: builtins.c:847
++msgid "the `-v', unset will only act on variables. Given the `-f' flag,"
++msgstr ""
++
++#: builtins.c:848
++msgid "unset will only act on functions. With neither flag, unset first"
++msgstr ""
++
++#: builtins.c:849
++msgid "tries to unset a variable, and if that fails, then tries to unset a"
++msgstr ""
++
++#: builtins.c:850
++msgid "function. Some variables cannot be unset; also see readonly."
++msgstr ""
++
++#: builtins.c:856
++msgid "NAMEs are marked for automatic export to the environment of"
++msgstr ""
++
++#: builtins.c:857
++msgid "subsequently executed commands. If the -f option is given,"
++msgstr ""
++
++#: builtins.c:858
++msgid "the NAMEs refer to functions. If no NAMEs are given, or if `-p'"
++msgstr ""
++
++#: builtins.c:859
++msgid "is given, a list of all names that are exported in this shell is"
++msgstr ""
++
++#: builtins.c:860
++msgid "printed. An argument of `-n' says to remove the export property"
++msgstr ""
++
++#: builtins.c:861
++msgid "from subsequent NAMEs. An argument of `--' disables further option"
++msgstr ""
++
++#: builtins.c:862
++#: builtins.c:874
++#, fuzzy
++msgid "processing."
++msgstr "Bearbetar..."
++
++#: builtins.c:868
++msgid "The given NAMEs are marked readonly and the values of these NAMEs may"
++msgstr ""
++
++#: builtins.c:869
++msgid "not be changed by subsequent assignment. If the -f option is given,"
++msgstr ""
++
++#: builtins.c:870
++msgid "then functions corresponding to the NAMEs are so marked. If no"
++msgstr ""
++
++#: builtins.c:871
++msgid "arguments are given, or if `-p' is given, a list of all readonly names"
++msgstr ""
++
++#: builtins.c:872
++msgid "is printed. The `-a' option means to treat each NAME as"
++msgstr ""
++
++#: builtins.c:873
++msgid "an array variable. An argument of `--' disables further option"
++msgstr ""
++
++#: builtins.c:880
++msgid "The positional parameters from $N+1 ... are renamed to $1 ... If N is"
++msgstr ""
++
++#: builtins.c:881
++msgid "not given, it is assumed to be 1."
++msgstr ""
++
++#: builtins.c:887
++#: builtins.c:896
++msgid "Read and execute commands from FILENAME and return. The pathnames"
++msgstr ""
++
++#: builtins.c:888
++#: builtins.c:897
++msgid "in $PATH are used to find the directory containing FILENAME. If any"
++msgstr ""
++
++#: builtins.c:889
++#: builtins.c:898
++msgid "ARGUMENTS are supplied, they become the positional parameters when"
++msgstr ""
++
++#: builtins.c:890
++#: builtins.c:899
++msgid "FILENAME is executed."
++msgstr ""
++
++#: builtins.c:906
++msgid "Suspend the execution of this shell until it receives a SIGCONT"
++msgstr ""
++
++#: builtins.c:907
++msgid "signal. The `-f' if specified says not to complain about this"
++msgstr ""
++
++#: builtins.c:908
++msgid "being a login shell if it is; just suspend anyway."
++msgstr ""
++
++#: builtins.c:915
++msgid "Exits with a status of 0 (true) or 1 (false) depending on"
++msgstr ""
++
++#: builtins.c:916
++msgid "the evaluation of EXPR. Expressions may be unary or binary. Unary"
++msgstr ""
++
++#: builtins.c:917
++msgid "expressions are often used to examine the status of a file. There"
++msgstr ""
++
++#: builtins.c:918
++msgid "are string operators as well, and numeric comparison operators."
++msgstr ""
++
++#: builtins.c:920
++msgid "File operators:"
++msgstr ""
++
++#: builtins.c:922
++msgid " -a FILE True if file exists."
++msgstr ""
++
++#: builtins.c:923
++msgid " -b FILE True if file is block special."
++msgstr ""
++
++#: builtins.c:924
++msgid " -c FILE True if file is character special."
++msgstr ""
++
++#: builtins.c:925
++msgid " -d FILE True if file is a directory."
++msgstr ""
++
++#: builtins.c:926
++msgid " -e FILE True if file exists."
++msgstr ""
++
++#: builtins.c:927
++msgid " -f FILE True if file exists and is a regular file."
++msgstr ""
++
++#: builtins.c:928
++msgid " -g FILE True if file is set-group-id."
++msgstr ""
++
++#: builtins.c:929
++msgid " -h FILE True if file is a symbolic link."
++msgstr ""
++
++#: builtins.c:930
++msgid " -L FILE True if file is a symbolic link."
++msgstr ""
++
++#: builtins.c:931
++msgid " -k FILE True if file has its `sticky' bit set."
++msgstr ""
++
++#: builtins.c:932
++msgid " -p FILE True if file is a named pipe."
++msgstr ""
++
++#: builtins.c:933
++msgid " -r FILE True if file is readable by you."
++msgstr ""
++
++#: builtins.c:934
++msgid " -s FILE True if file exists and is not empty."
++msgstr ""
++
++#: builtins.c:935
++msgid " -S FILE True if file is a socket."
++msgstr ""
++
++#: builtins.c:936
++msgid " -t FD True if FD is opened on a terminal."
++msgstr ""
++
++#: builtins.c:937
++msgid " -u FILE True if the file is set-user-id."
++msgstr ""
++
++#: builtins.c:938
++msgid " -w FILE True if the file is writable by you."
++msgstr ""
++
++#: builtins.c:939
++msgid " -x FILE True if the file is executable by you."
++msgstr ""
++
++#: builtins.c:940
++msgid " -O FILE True if the file is effectively owned by you."
++msgstr ""
++
++#: builtins.c:941
++msgid " -G FILE True if the file is effectively owned by your group."
++msgstr ""
++
++#: builtins.c:942
++msgid " -N FILE True if the file has been modified since it was last read."
++msgstr ""
++
++#: builtins.c:944
++msgid " FILE1 -nt FILE2 True if file1 is newer than file2 (according to"
++msgstr ""
++
++#: builtins.c:945
++#, fuzzy
++msgid " modification date)."
++msgstr "Ändrad datum"
++
++#: builtins.c:947
++msgid " FILE1 -ot FILE2 True if file1 is older than file2."
++msgstr ""
++
++#: builtins.c:949
++msgid " FILE1 -ef FILE2 True if file1 is a hard link to file2."
++msgstr ""
++
++# Operander?
++#: builtins.c:951
++msgid "String operators:"
++msgstr "Strängoperatörer:"
++
++#: builtins.c:953
++msgid " -z STRING True if string is empty."
++msgstr ""
++
++#: builtins.c:955
++#, fuzzy
++msgid " -n STRING"
++msgstr "STRÄNG"
++
++#: builtins.c:956
++msgid " STRING True if string is not empty."
++msgstr ""
++
++#: builtins.c:958
++msgid " STRING1 = STRING2"
++msgstr ""
++
++#: builtins.c:959
++msgid " True if the strings are equal."
++msgstr ""
++
++#: builtins.c:960
++msgid " STRING1 != STRING2"
++msgstr ""
++
++#: builtins.c:961
++msgid " True if the strings are not equal."
++msgstr ""
++
++#: builtins.c:962
++msgid " STRING1 < STRING2"
++msgstr ""
++
++#: builtins.c:963
++msgid " True if STRING1 sorts before STRING2 lexicographically."
++msgstr ""
++
++#: builtins.c:964
++msgid " STRING1 > STRING2"
++msgstr ""
++
++#: builtins.c:965
++msgid " True if STRING1 sorts after STRING2 lexicographically."
++msgstr ""
++
++# Operander?
++#: builtins.c:967
++msgid "Other operators:"
++msgstr "Övriga operatörer:"
++
++#: builtins.c:969
++msgid " -o OPTION True if the shell option OPTION is enabled."
++msgstr ""
++
++#: builtins.c:970
++msgid " ! EXPR True if expr is false."
++msgstr ""
++
++#: builtins.c:971
++msgid " EXPR1 -a EXPR2 True if both expr1 AND expr2 are true."
++msgstr ""
++
++#: builtins.c:972
++msgid " EXPR1 -o EXPR2 True if either expr1 OR expr2 is true."
++msgstr ""
++
++#: builtins.c:974
++msgid " arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,"
++msgstr ""
++
++#: builtins.c:975
++msgid " -lt, -le, -gt, or -ge."
++msgstr ""
++
++#: builtins.c:977
++msgid "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
++msgstr ""
++
++#: builtins.c:978
++msgid "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
++msgstr ""
++
++#: builtins.c:979
++msgid "than ARG2."
++msgstr ""
++
++#: builtins.c:985
++msgid "This is a synonym for the \"test\" builtin, but the last"
++msgstr ""
++
++#: builtins.c:986
++msgid "argument must be a literal `]', to match the opening `['."
++msgstr ""
++
++#: builtins.c:992
++msgid "Print the accumulated user and system times for processes run from"
++msgstr ""
++
++#: builtins.c:993
++#, fuzzy
++msgid "the shell."
++msgstr "Skal: "
++
++#: builtins.c:999
++msgid "The command ARG is to be read and executed when the shell receives"
++msgstr ""
++
++#: builtins.c:1000
++msgid "signal(s) SIGNAL_SPEC. If ARG is absent all specified signals are"
++msgstr ""
++
++#: builtins.c:1001
++msgid "reset to their original values. If ARG is the null string each"
++msgstr ""
++
++#: builtins.c:1002
++msgid "SIGNAL_SPEC is ignored by the shell and by the commands it invokes."
++msgstr ""
++
++#: builtins.c:1003
++msgid "If a SIGNAL_SPEC is EXIT (0) the command ARG is executed on exit from"
++msgstr ""
++
++#: builtins.c:1004
++msgid "the shell. If a SIGNAL_SPEC is DEBUG, ARG is executed after every"
++msgstr ""
++
++#: builtins.c:1005
++msgid "command. If ARG is `-p' then the trap commands associated with"
++msgstr ""
++
++#: builtins.c:1006
++msgid "each SIGNAL_SPEC are displayed. If no arguments are supplied or if"
++msgstr ""
++
++#: builtins.c:1007
++msgid "only `-p' is given, trap prints the list of commands associated with"
++msgstr ""
++
++#: builtins.c:1008
++msgid "each signal number. Each SIGNAL_SPEC is either a signal name in <signal.h>"
++msgstr ""
++
++#: builtins.c:1009
++msgid "or a signal number. `trap -l' prints a list of signal names and their"
++msgstr ""
++
++#: builtins.c:1010
++msgid "corresponding numbers. Note that a signal can be sent to the shell"
++msgstr ""
++
++#: builtins.c:1011
++msgid "with \"kill -signal $$\"."
++msgstr ""
++
++#: builtins.c:1017
++msgid "For each NAME, indicate how it would be interpreted if used as a"
++msgstr ""
++
++#: builtins.c:1018
++#, fuzzy
++msgid "command name."
++msgstr "Kommandonamn"
++
++#: builtins.c:1020
++msgid "If the -t option is used, `type' outputs a single word which is one of"
++msgstr ""
++
++#: builtins.c:1021
++msgid "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
++msgstr ""
++
++#: builtins.c:1022
++msgid "alias, shell reserved word, shell function, shell builtin, disk file,"
++msgstr ""
++
++#: builtins.c:1023
++msgid "or unfound, respectively."
++msgstr ""
++
++#: builtins.c:1025
++msgid "If the -p flag is used, `type' either returns the name of the disk"
++msgstr ""
++
++#: builtins.c:1026
++msgid "file that would be executed, or nothing if `type -t NAME' would not"
++msgstr ""
++
++#: builtins.c:1027
++msgid "return `file'."
++msgstr ""
++
++#: builtins.c:1029
++msgid "If the -a flag is used, `type' displays all of the places that contain"
++msgstr ""
++
++#: builtins.c:1030
++msgid "an executable named `file'. This includes aliases, builtins, and"
++msgstr ""
++
++#: builtins.c:1031
++msgid "functions, if and only if the -p flag is not also used."
++msgstr ""
++
++#: builtins.c:1033
++msgid "The -f flag suppresses shell function lookup."
++msgstr ""
++
++#: builtins.c:1035
++msgid "The -P flag forces a PATH search for each NAME, even if it is an alias,"
++msgstr ""
++
++#: builtins.c:1036
++msgid "builtin, or function, and returns the name of the disk file that would"
++msgstr ""
++
++#: builtins.c:1037
++msgid "be executed."
++msgstr ""
++
++#: builtins.c:1044
++msgid "Ulimit provides control over the resources available to processes"
++msgstr ""
++
++#: builtins.c:1045
++msgid "started by the shell, on systems that allow such control. If an"
++msgstr ""
++
++#: builtins.c:1046
++msgid "option is given, it is interpreted as follows:"
++msgstr ""
++
++#: builtins.c:1048
++msgid " -S\tuse the `soft' resource limit"
++msgstr ""
++
++#: builtins.c:1049
++msgid " -H\tuse the `hard' resource limit"
++msgstr ""
++
++#: builtins.c:1050
++msgid " -a\tall current limits are reported"
++msgstr ""
++
++#: builtins.c:1051
++msgid " -c\tthe maximum size of core files created"
++msgstr ""
++
++#: builtins.c:1052
++msgid " -d\tthe maximum size of a process's data segment"
++msgstr ""
++
++#: builtins.c:1053
++msgid " -f\tthe maximum size of files created by the shell"
++msgstr ""
++
++#: builtins.c:1054
++msgid " -l\tthe maximum size a process may lock into memory"
++msgstr ""
++
++#: builtins.c:1055
++msgid " -m\tthe maximum resident set size"
++msgstr ""
++
++#: builtins.c:1056
++msgid " -n\tthe maximum number of open file descriptors"
++msgstr ""
++
++#: builtins.c:1057
++msgid " -p\tthe pipe buffer size"
++msgstr ""
++
++#: builtins.c:1058
++msgid " -s\tthe maximum stack size"
++msgstr ""
++
++#: builtins.c:1059
++msgid " -t\tthe maximum amount of cpu time in seconds"
++msgstr ""
++
++#: builtins.c:1060
++msgid " -u\tthe maximum number of user processes"
++msgstr ""
++
++#: builtins.c:1061
++msgid " -v\tthe size of virtual memory"
++msgstr ""
++
++#: builtins.c:1063
++msgid "If LIMIT is given, it is the new value of the specified resource;"
++msgstr ""
++
++#: builtins.c:1064
++msgid "the special LIMIT values `soft', `hard', and `unlimited' stand for"
++msgstr ""
++
++#: builtins.c:1065
++msgid "the current soft limit, the current hard limit, and no limit, respectively."
++msgstr ""
++
++#: builtins.c:1066
++msgid "Otherwise, the current value of the specified resource is printed."
++msgstr ""
++
++#: builtins.c:1067
++msgid "If no option is given, then -f is assumed. Values are in 1024-byte"
++msgstr ""
++
++#: builtins.c:1068
++msgid "increments, except for -t, which is in seconds, -p, which is in"
++msgstr ""
++
++#: builtins.c:1069
++msgid "increments of 512 bytes, and -u, which is an unscaled number of"
++msgstr ""
++
++#: builtins.c:1070
++#, fuzzy
++msgid "processes."
++msgstr "Processer"
++
++#: builtins.c:1077
++msgid "The user file-creation mask is set to MODE. If MODE is omitted, or if"
++msgstr ""
++
++#: builtins.c:1078
++msgid "`-S' is supplied, the current value of the mask is printed. The `-S'"
++msgstr ""
++
++#: builtins.c:1079
++msgid "option makes the output symbolic; otherwise an octal number is output."
++msgstr ""
++
++#: builtins.c:1080
++msgid "If `-p' is supplied, and MODE is omitted, the output is in a form"
++msgstr ""
++
++#: builtins.c:1081
++msgid "that may be used as input. If MODE begins with a digit, it is"
++msgstr ""
++
++#: builtins.c:1082
++msgid "interpreted as an octal number, otherwise it is a symbolic mode string"
++msgstr ""
++
++#: builtins.c:1083
++msgid "like that accepted by chmod(1)."
++msgstr ""
++
++#: builtins.c:1090
++#: builtins.c:1102
++msgid "Wait for the specified process and report its termination status. If"
++msgstr ""
++
++#: builtins.c:1091
++#: builtins.c:1103
++msgid "N is not given, all currently active child processes are waited for,"
++msgstr ""
++
++#: builtins.c:1092
++msgid "and the return code is zero. N may be a process ID or a job"
++msgstr ""
++
++#: builtins.c:1093
++msgid "specification; if a job spec is given, all processes in the job's"
++msgstr ""
++
++#: builtins.c:1094
++msgid "pipeline are waited for."
++msgstr ""
++
++#: builtins.c:1104
++msgid "and the return code is zero. N is a process ID; if it is not given,"
++msgstr ""
++
++#: builtins.c:1105
++msgid "all child processes of the shell are waited for."
++msgstr ""
++
++#: builtins.c:1112
++msgid "The `for' loop executes a sequence of commands for each member in a"
++msgstr ""
++
++#: builtins.c:1113
++msgid "list of items. If `in WORDS ...;' is not present, then `in \"$@\"' is"
++msgstr ""
++
++#: builtins.c:1114
++msgid "assumed. For each element in WORDS, NAME is set to that element, and"
++msgstr ""
++
++#: builtins.c:1115
++msgid "the COMMANDS are executed."
++msgstr ""
++
++#: builtins.c:1121
++msgid "Equivalent to"
++msgstr ""
++
++#: builtins.c:1122
++msgid "\t(( EXP1 ))"
++msgstr ""
++
++#: builtins.c:1123
++msgid "\twhile (( EXP2 )); do"
++msgstr ""
++
++#: builtins.c:1124
++msgid "\t\tCOMMANDS"
++msgstr ""
++
++#: builtins.c:1125
++msgid "\t\t(( EXP3 ))"
++msgstr ""
++
++#: builtins.c:1126
++msgid "\tdone"
++msgstr ""
++
++#: builtins.c:1127
++msgid "EXP1, EXP2, and EXP3 are arithmetic expressions. If any expression is"
++msgstr ""
++
++#: builtins.c:1128
++msgid "omitted, it behaves as if it evaluates to 1."
++msgstr ""
++
++#: builtins.c:1134
++msgid "The WORDS are expanded, generating a list of words. The"
++msgstr ""
++
++#: builtins.c:1135
++msgid "set of expanded words is printed on the standard error, each"
++msgstr ""
++
++#: builtins.c:1136
++msgid "preceded by a number. If `in WORDS' is not present, `in \"$@\"'"
++msgstr ""
++
++#: builtins.c:1137
++msgid "is assumed. The PS3 prompt is then displayed and a line read"
++msgstr ""
++
++#: builtins.c:1138
++msgid "from the standard input. If the line consists of the number"
++msgstr ""
++
++#: builtins.c:1139
++msgid "corresponding to one of the displayed words, then NAME is set"
++msgstr ""
++
++#: builtins.c:1140
++msgid "to that word. If the line is empty, WORDS and the prompt are"
++msgstr ""
++
++#: builtins.c:1141
++msgid "redisplayed. If EOF is read, the command completes. Any other"
++msgstr ""
++
++#: builtins.c:1142
++msgid "value read causes NAME to be set to null. The line read is saved"
++msgstr ""
++
++#: builtins.c:1143
++msgid "in the variable REPLY. COMMANDS are executed after each selection"
++msgstr ""
++
++#: builtins.c:1144
++msgid "until a break command is executed."
++msgstr ""
++
++#: builtins.c:1150
++msgid "Execute PIPELINE and print a summary of the real time, user CPU time,"
++msgstr ""
++
++#: builtins.c:1151
++msgid "and system CPU time spent executing PIPELINE when it terminates."
++msgstr ""
++
++#: builtins.c:1152
++msgid "The return status is the return status of PIPELINE. The `-p' option"
++msgstr ""
++
++#: builtins.c:1153
++msgid "prints the timing summary in a slightly different format. This uses"
++msgstr ""
++
++#: builtins.c:1154
++msgid "the value of the TIMEFORMAT variable as the output format."
++msgstr ""
++
++#: builtins.c:1160
++msgid "Selectively execute COMMANDS based upon WORD matching PATTERN. The"
++msgstr ""
++
++#: builtins.c:1161
++msgid "`|' is used to separate multiple patterns."
++msgstr ""
++
++#: builtins.c:1167
++msgid "The if COMMANDS are executed. If the exit status is zero, then the then"
++msgstr ""
++
++#: builtins.c:1168
++msgid "COMMANDS are executed. Otherwise, each of the elif COMMANDS are executed"
++msgstr ""
++
++#: builtins.c:1169
++msgid "in turn, and if the exit status is zero, the corresponding then COMMANDS"
++msgstr ""
++
++#: builtins.c:1170
++msgid "are executed and the if command completes. Otherwise, the else COMMANDS"
++msgstr ""
++
++#: builtins.c:1171
++msgid "are executed, if present. The exit status is the exit status of the last"
++msgstr ""
++
++#: builtins.c:1172
++msgid "command executed, or zero if no condition tested true."
++msgstr ""
++
++#: builtins.c:1178
++#: builtins.c:1185
++msgid "Expand and execute COMMANDS as long as the final command in the"
++msgstr ""
++
++#: builtins.c:1179
++msgid "`while' COMMANDS has an exit status of zero."
++msgstr ""
++
++#: builtins.c:1186
++msgid "`until' COMMANDS has an exit status which is not zero."
++msgstr ""
++
++#: builtins.c:1192
++msgid "Create a simple command invoked by NAME which runs COMMANDS."
++msgstr ""
++
++#: builtins.c:1193
++msgid "Arguments on the command line along with NAME are passed to the"
++msgstr ""
++
++#: builtins.c:1194
++msgid "function as $0 .. $n."
++msgstr ""
++
++#: builtins.c:1200
++msgid "Run a set of commands in a group. This is one way to redirect an"
++msgstr ""
++
++#: builtins.c:1201
++msgid "entire set of commands."
++msgstr ""
++
++#: builtins.c:1207
++msgid "This is similar to the `fg' command. Resume a stopped or background"
++msgstr ""
++
++#: builtins.c:1208
++msgid "job. If you specifiy DIGITS, then that job is used. If you specify"
++msgstr ""
++
++#: builtins.c:1209
++msgid "WORD, then the job whose name begins with WORD is used. Following the"
++msgstr ""
++
++#: builtins.c:1210
++msgid "job specification with a `&' places the job in the background."
++msgstr ""
++
++#: builtins.c:1216
++msgid "The EXPRESSION is evaluated according to the rules for arithmetic"
++msgstr ""
++
++#: builtins.c:1217
++msgid "evaluation. Equivalent to \"let EXPRESSION\"."
++msgstr ""
++
++#: builtins.c:1223
++msgid "Returns a status of 0 or 1 depending on the evaluation of the conditional"
++msgstr ""
++
++#: builtins.c:1224
++msgid "expression EXPRESSION. Expressions are composed of the same primaries used"
++msgstr ""
++
++#: builtins.c:1225
++msgid "by the `test' builtin, and may be combined using the following operators"
++msgstr ""
++
++#: builtins.c:1227
++msgid "\t( EXPRESSION )\tReturns the value of EXPRESSION"
++msgstr ""
++
++#: builtins.c:1228
++msgid "\t! EXPRESSION\tTrue if EXPRESSION is false; else false"
++msgstr ""
++
++#: builtins.c:1229
++msgid "\tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false"
++msgstr ""
++
++#: builtins.c:1230
++msgid "\tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false"
++msgstr ""
++
++#: builtins.c:1232
++msgid "When the `==' and `!=' operators are used, the string to the right of the"
++msgstr ""
++
++#: builtins.c:1233
++msgid "operator is used as a pattern and pattern matching is performed. The"
++msgstr ""
++
++#: builtins.c:1234
++msgid "&& and || operators do not evaluate EXPR2 if EXPR1 is sufficient to"
++msgstr ""
++
++#: builtins.c:1235
++msgid "determine the expression's value."
++msgstr ""
++
++#: builtins.c:1241
++msgid "BASH_VERSION Version information for this Bash."
++msgstr ""
++
++#: builtins.c:1242
++msgid "CDPATH A colon separated list of directories to search"
++msgstr ""
++
++#: builtins.c:1243
++msgid "\t\twhen the argument to `cd' is not found in the current"
++msgstr ""
++
++#: builtins.c:1244
++msgid "\t\tdirectory."
++msgstr ""
++
++#: builtins.c:1245
++msgid "GLOBIGNORE\tA colon-separated list of patterns describing filenames to"
++msgstr ""
++
++#: builtins.c:1246
++msgid "\t\tbe ignored by pathname expansion."
++msgstr ""
++
++#: builtins.c:1248
++msgid "HISTFILE The name of the file where your command history is stored."
++msgstr ""
++
++#: builtins.c:1249
++msgid "HISTFILESIZE The maximum number of lines this file can contain."
++msgstr ""
++
++#: builtins.c:1250
++msgid "HISTSIZE The maximum number of history lines that a running"
++msgstr ""
++
++#: builtins.c:1251
++msgid "\t\tshell can access."
++msgstr ""
++
++#: builtins.c:1253
++msgid "HOME The complete pathname to your login directory."
++msgstr ""
++
++#: builtins.c:1254
++msgid "HOSTNAME\tThe name of the current host."
++msgstr ""
++
++#: builtins.c:1255
++msgid "HOSTTYPE The type of CPU this version of Bash is running under."
++msgstr ""
++
++#: builtins.c:1256
++msgid "IGNOREEOF Controls the action of the shell on receipt of an EOF"
++msgstr ""
++
++#: builtins.c:1257
++msgid "\t\tcharacter as the sole input. If set, then the value"
++msgstr ""
++
++#: builtins.c:1258
++msgid "\t\tof it is the number of EOF characters that can be seen"
++msgstr ""
++
++#: builtins.c:1259
++msgid "\t\tin a row on an empty line before the shell will exit"
++msgstr ""
++
++#: builtins.c:1260
++msgid "\t\t(default 10). When unset, EOF signifies the end of input."
++msgstr ""
++
++#: builtins.c:1261
++msgid "MACHTYPE\tA string describing the current system Bash is running on."
++msgstr ""
++
++#: builtins.c:1262
++msgid "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
++msgstr ""
++
++#: builtins.c:1263
++msgid "MAILPATH\tA colon-separated list of filenames which Bash checks"
++msgstr ""
++
++#: builtins.c:1264
++msgid "\t\tfor new mail."
++msgstr ""
++
++#: builtins.c:1265
++msgid "OSTYPE\t\tThe version of Unix this version of Bash is running on."
++msgstr ""
++
++#: builtins.c:1266
++msgid "PATH A colon-separated list of directories to search when"
++msgstr ""
++
++#: builtins.c:1267
++msgid "\t\tlooking for commands."
++msgstr ""
++
++#: builtins.c:1268
++msgid "PROMPT_COMMAND A command to be executed before the printing of each"
++msgstr ""
++
++#: builtins.c:1269
++msgid "\t\tprimary prompt."
++msgstr ""
++
++#: builtins.c:1270
++msgid "PS1 The primary prompt string."
++msgstr ""
++
++#: builtins.c:1271
++msgid "PS2 The secondary prompt string."
++msgstr ""
++
++#: builtins.c:1272
++msgid "PWD\t\tThe full pathname of the current directory."
++msgstr ""
++
++#: builtins.c:1273
++msgid "SHELLOPTS\tA colon-separated list of enabled shell options."
++msgstr ""
++
++#: builtins.c:1274
++msgid "TERM The name of the current terminal type."
++msgstr ""
++
++#: builtins.c:1275
++msgid "TIMEFORMAT\tThe output format for timing statistics displayed by the"
++msgstr ""
++
++#: builtins.c:1276
++msgid "\t\t`time' reserved word."
++msgstr ""
++
++#: builtins.c:1277
++msgid "auto_resume Non-null means a command word appearing on a line by"
++msgstr ""
++
++#: builtins.c:1278
++msgid "\t\titself is first looked for in the list of currently"
++msgstr ""
++
++#: builtins.c:1279
++msgid "\t\tstopped jobs. If found there, that job is foregrounded."
++msgstr ""
++
++#: builtins.c:1280
++msgid "\t\tA value of `exact' means that the command word must"
++msgstr ""
++
++#: builtins.c:1281
++msgid "\t\texactly match a command in the list of stopped jobs. A"
++msgstr ""
++
++#: builtins.c:1282
++msgid "\t\tvalue of `substring' means that the command word must"
++msgstr ""
++
++#: builtins.c:1283
++msgid "\t\tmatch a substring of the job. Any other value means that"
++msgstr ""
++
++#: builtins.c:1284
++msgid "\t\tthe command must be a prefix of a stopped job."
++msgstr ""
++
++#: builtins.c:1287
++msgid "histchars Characters controlling history expansion and quick"
++msgstr ""
++
++#: builtins.c:1288
++msgid "\t\tsubstitution. The first character is the history"
++msgstr ""
++
++#: builtins.c:1289
++msgid "\t\tsubstitution character, usually `!'. The second is"
++msgstr ""
++
++#: builtins.c:1290
++msgid "\t\tthe `quick substitution' character, usually `^'. The"
++msgstr ""
++
++#: builtins.c:1291
++msgid "\t\tthird is the `history comment' character, usually `#'."
++msgstr ""
++
++#: builtins.c:1293
++msgid "HISTIGNORE\tA colon-separated list of patterns used to decide which"
++msgstr ""
++
++#: builtins.c:1294
++msgid "\t\tcommands should be saved on the history list."
++msgstr ""
++
++#: builtins.c:1306
++msgid "+N\tRotates the stack so that the Nth directory (counting"
++msgstr ""
++
++#: builtins.c:1307
++msgid "\tfrom the left of the list shown by `dirs', starting with"
++msgstr ""
++
++#: builtins.c:1308
++#: builtins.c:1312
++msgid "\tzero) is at the top."
++msgstr ""
++
++#: builtins.c:1310
++msgid "-N\tRotates the stack so that the Nth directory (counting"
++msgstr ""
++
++#: builtins.c:1311
++msgid "\tfrom the right of the list shown by `dirs', starting with"
++msgstr ""
++
++#: builtins.c:1314
++msgid "-n\tsuppress the normal change of directory when adding directories"
++msgstr ""
++
++#: builtins.c:1315
++msgid "\tto the stack, so only the stack is manipulated."
++msgstr ""
++
++#: builtins.c:1317
++msgid "dir\tadds DIR to the directory stack at the top, making it the"
++msgstr ""
++
++#: builtins.c:1318
++msgid "\tnew current working directory."
++msgstr ""
++
++#: builtins.c:1332
++msgid "+N\tremoves the Nth entry counting from the left of the list"
++msgstr ""
++
++#: builtins.c:1333
++msgid "\tshown by `dirs', starting with zero. For example: `popd +0'"
++msgstr ""
++
++#: builtins.c:1334
++msgid "\tremoves the first directory, `popd +1' the second."
++msgstr ""
++
++#: builtins.c:1336
++msgid "-N\tremoves the Nth entry counting from the right of the list"
++msgstr ""
++
++#: builtins.c:1337
++msgid "\tshown by `dirs', starting with zero. For example: `popd -0'"
++msgstr ""
++
++#: builtins.c:1338
++msgid "\tremoves the last directory, `popd -1' the next to last."
++msgstr ""
++
++#: builtins.c:1340
++msgid "-n\tsuppress the normal change of directory when removing directories"
++msgstr ""
++
++#: builtins.c:1341
++msgid "\tfrom the stack, so only the stack is manipulated."
++msgstr ""
++
++#: builtins.c:1363
++msgid "+N\tdisplays the Nth entry counting from the left of the list shown by"
++msgstr ""
++
++#: builtins.c:1364
++#: builtins.c:1367
++msgid "\tdirs when invoked without options, starting with zero."
++msgstr ""
++
++#: builtins.c:1366
++msgid "-N\tdisplays the Nth entry counting from the right of the list shown by"
++msgstr ""
++
++#: builtins.c:1374
++msgid "Toggle the values of variables controlling optional behavior."
++msgstr ""
++
++#: builtins.c:1375
++msgid "The -s flag means to enable (set) each OPTNAME; the -u flag"
++msgstr ""
++
++#: builtins.c:1376
++msgid "unsets each OPTNAME. The -q flag suppresses output; the exit"
++msgstr ""
++
++#: builtins.c:1377
++msgid "status indicates whether each OPTNAME is set or unset. The -o"
++msgstr ""
++
++#: builtins.c:1378
++msgid "option restricts the OPTNAMEs to those defined for use with"
++msgstr ""
++
++#: builtins.c:1379
++msgid "`set -o'. With no options, or with the -p option, a list of all"
++msgstr ""
++
++#: builtins.c:1380
++msgid "settable options is displayed, with an indication of whether or"
++msgstr ""
++
++#: builtins.c:1381
++msgid "not each is set."
++msgstr ""
++
++#: builtins.c:1387
++msgid "printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT"
++msgstr ""
++
++#: builtins.c:1388
++msgid "is a character string which contains three types of objects: plain"
++msgstr ""
++
++#: builtins.c:1389
++msgid "characters, which are simply copied to standard output, character escape"
++msgstr ""
++
++#: builtins.c:1390
++msgid "sequences which are converted and copied to the standard output, and"
++msgstr ""
++
++#: builtins.c:1391
++msgid "format specifications, each of which causes printing of the next successive"
++msgstr ""
++
++#: builtins.c:1392
++msgid "argument. In addition to the standard printf(1) formats, %b means to"
++msgstr ""
++
++#: builtins.c:1393
++msgid "expand backslash escape sequences in the corresponding argument, and %q"
++msgstr ""
++
++#: builtins.c:1394
++msgid "means to quote the argument in a way that can be reused as shell input."
++msgstr ""
++
++#: builtins.c:1401
++msgid "For each NAME, specify how arguments are to be completed."
++msgstr ""
++
++#: builtins.c:1402
++msgid "If the -p option is supplied, or if no options are supplied, existing"
++msgstr ""
++
++#: builtins.c:1403
++msgid "completion specifications are printed in a way that allows them to be"
++msgstr ""
++
++#: builtins.c:1404
++msgid "reused as input. The -r option removes a completion specification for"
++msgstr ""
++
++#: builtins.c:1405
++msgid "each NAME, or, if no NAMEs are supplied, all completion specifications."
++msgstr ""
++
++#: builtins.c:1413
++msgid "Display the possible completions depending on the options. Intended"
++msgstr ""
++
++#: builtins.c:1414
++msgid "to be used from within a shell function generating possible completions."
++msgstr ""
++
++#: builtins.c:1415
++msgid "If the optional WORD argument is supplied, matches against WORD are"
++msgstr ""
++
++#: builtins.c:1416
++msgid "generated."
++msgstr "genererad."
++
diff --git a/debian/patches/privmode.dpatch b/debian/patches/privmode.dpatch
new file mode 100755
index 0000000..eb9abf2
--- /dev/null
+++ b/debian/patches/privmode.dpatch
@@ -0,0 +1,37 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: XXX missing description
+# DP:
+# DP: Comment from Chet Ramey <chet@nike.ins.cwru.edu>:
+# DP:
+# DP: Nope. This will allow setuid scripts if not called as `sh' and not
+# DP: called with the -p option. I won't install this.
+
+
+diff -urb bash.orig/shell.c bash/shell.c
+--- bash.orig/shell.c 2003-06-03 19:50:35.000000000 +0200
++++ bash/shell.c 2003-09-28 00:26:28.000000000 +0200
+@@ -447,7 +447,7 @@
+ if (dump_translatable_strings)
+ read_but_dont_execute = 1;
+
+- if (running_setuid && privileged_mode == 0)
++ if (running_setuid && privileged_mode == 0 && act_like_sh == 0)
+ disable_priv_mode ();
+
+ /* Need to get the argument to a -c option processed in the
diff --git a/debian/patches/random.dpatch b/debian/patches/random.dpatch
new file mode 100644
index 0000000..6304468
--- /dev/null
+++ b/debian/patches/random.dpatch
@@ -0,0 +1,107 @@
+#! /bin/sh -e
+
+dir=.
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir=$3
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ echo '2.05' > $dir/_distribution
+ echo '0' > $dir/_patchlevel
+ cd $dir && autoconf
+ rm -f $dir/_distribution $dir/_patchlevel
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+ rm -f $dir/configure $dir/_distribution $dir/_patchlevel
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: use the system random functions
+
+diff -urb bash.orig/config.h.in bash/config.h.in
+--- bash.orig/config.h.in 2003-09-22 14:42:35.000000000 +0200
++++ bash/config.h.in 2003-09-28 00:27:15.000000000 +0200
+@@ -606,6 +606,9 @@
+ /* Define if you have the putenv function. */
+ #undef HAVE_PUTENV
+
++/* Define if you have the random function. */
++#undef HAVE_RANDOM
++
+ /* Define if you have the readlink function. */
+ #undef HAVE_READLINK
+
+@@ -696,6 +699,9 @@
+ /* Define if you have the strsignal function or macro. */
+ #undef HAVE_STRSIGNAL
+
++/* Define if you have the srandom function. */
++#undef HAVE_SRANDOM
++
+ /* Define if you have the sysconf function. */
+ #undef HAVE_SYSCONF
+
+diff -urb bash.orig/variables.c bash/variables.c
+--- bash.orig/variables.c 2003-07-31 16:28:57.000000000 +0200
++++ bash/variables.c 2003-09-28 00:27:15.000000000 +0200
+@@ -1098,16 +1098,22 @@
+ static unsigned long rseed = 1;
+ static int last_random_value;
+
+-/* A linear congruential random number generator based on the example
+- one in the ANSI C standard. This one isn't very good, but a more
+- complicated one is overkill. */
++/* Use the random number genrator provided by the standard C library,
++ else use a linear congruential random number generator based on the
++ ANSI C standard. This one isn't very good (the values are alternately
++ odd and even, for example), but a more complicated one is overkill. */
+
+ /* Returns a pseudo-random number between 0 and 32767. */
+ static int
+ brand ()
+ {
++#if defined(HAVE_RANDOM)
++ rseed = (unsigned int) (labs(random()) & 32767);
++ return rseed;
++#else
+ rseed = rseed * 1103515245 + 12345;
+ return ((unsigned int)((rseed >> 16) & 32767)); /* was % 32768 */
++#endif
+ }
+
+ /* Set the random number generator seed to SEED. */
+@@ -1115,8 +1121,12 @@
+ sbrand (seed)
+ unsigned long seed;
+ {
++#if defined(HAVE_SRANDOM)
++ srandom(seed);
++#else
+ rseed = seed;
+ last_random_value = 0;
++#endif
+ }
+
+ static SHELL_VAR *
+--- bash/configure.in~ 2004-03-02 00:04:29.000000000 +0100
++++ bash/configure.in 2004-03-02 00:05:48.000000000 +0100
+@@ -667,6 +667,9 @@
+
+ AC_FUNC_MKTIME
+
++dnl checks for random functions
++AC_CHECK_FUNCS(random srandom)
++
+ dnl
+ dnl Checks for lib/intl and related code (uses some of the output from
+ dnl AM_GNU_GETTEXT)
diff --git a/debian/patches/rbash-manpage.dpatch b/debian/patches/rbash-manpage.dpatch
new file mode 100755
index 0000000..73a9969
--- /dev/null
+++ b/debian/patches/rbash-manpage.dpatch
@@ -0,0 +1,29 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: doc/rbash.1: fix bash(1) reference
+
+--- doc/rbash.1~ 1999-11-29 22:30:03.000000000 +0100
++++ doc/rbash.1 2003-02-21 16:15:59.000000000 +0100
+@@ -3,6 +3,6 @@
+ rbash \- restricted bash, see \fBbash\fR(1)
+ .SH RESTRICTED SHELL
+ .nr zY 1
+-.so bash.1
++.so man1/bash.1
+ .SH SEE ALSO
+ bash(1)
diff --git a/debian/patches/read-memleak.dpatch b/debian/patches/read-memleak.dpatch
new file mode 100755
index 0000000..c0c9f8a
--- /dev/null
+++ b/debian/patches/read-memleak.dpatch
@@ -0,0 +1,29 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Fix read memleak when reading from non-blocking fd.
+
+--- builtins/read.def.orig 2005-08-21 03:46:19.000000000 +0200
++++ builtins/read.def 2006-03-03 23:43:37.889187600 +0100
+@@ -472,6 +472,7 @@
+ if (retval < 0)
+ {
+ builtin_error (_("read error: %d: %s"), fd, strerror (errno));
++ run_unwind_frame ("read_builtin");
+ return (EXECUTION_FAILURE);
+ }
+ #endif
diff --git a/debian/patches/readline51-001.dpatch b/debian/patches/readline51-001.dpatch
new file mode 100755
index 0000000..268540b
--- /dev/null
+++ b/debian/patches/readline51-001.dpatch
@@ -0,0 +1,94 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+ READLINE PATCH REPORT
+ =====================
+
+Readline-Release: 5.1
+Patch-ID: readline51-001
+
+Bug-Reported-by: Andreas Schwab <schwab@suse.de>
+Bug-Reference-ID: <20051213141916.4014A394BFABD@sykes.suse.de>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00038.html
+
+Bug-Description:
+
+A problem with the readline callback interface can result in segmentation
+faults when using the delete-char function via a multiple-key sequence.
+Two consecutive calls to delete-char will crash the application calling
+readline.
+
+Patch:
+
+*** ../readline-5.1/readline.c Mon Jul 4 22:29:35 2005
+--- lib/readline/readline.c Tue Dec 20 17:38:29 2005
+***************
+*** 715,719 ****
+ rl_dispatching = 1;
+ RL_SETSTATE(RL_STATE_DISPATCHING);
+! r = (*map[key].function)(rl_numeric_arg * rl_arg_sign, key);
+ RL_UNSETSTATE(RL_STATE_DISPATCHING);
+ rl_dispatching = 0;
+--- 715,719 ----
+ rl_dispatching = 1;
+ RL_SETSTATE(RL_STATE_DISPATCHING);
+! (*map[key].function)(rl_numeric_arg * rl_arg_sign, key);
+ RL_UNSETSTATE(RL_STATE_DISPATCHING);
+ rl_dispatching = 0;
+*** ../readline-5.1/text.c Sat Sep 24 19:06:07 2005
+--- lib/readline/text.c Tue Dec 20 17:38:26 2005
+***************
+*** 1072,1077 ****
+ int count, key;
+ {
+- int r;
+-
+ if (count < 0)
+ return (_rl_rubout_char (-count, key));
+--- 1072,1075 ----
+***************
+*** 1091,1097 ****
+ rl_forward_byte (count, key);
+
+! r = rl_kill_text (orig_point, rl_point);
+ rl_point = orig_point;
+- return r;
+ }
+ else
+--- 1089,1094 ----
+ rl_forward_byte (count, key);
+
+! rl_kill_text (orig_point, rl_point);
+ rl_point = orig_point;
+ }
+ else
+***************
+*** 1100,1105 ****
+
+ new_point = MB_NEXTCHAR (rl_line_buffer, rl_point, 1, MB_FIND_NONZERO);
+! return (rl_delete_text (rl_point, new_point));
+ }
+ }
+
+--- 1097,1103 ----
+
+ new_point = MB_NEXTCHAR (rl_line_buffer, rl_point, 1, MB_FIND_NONZERO);
+! rl_delete_text (rl_point, new_point);
+ }
++ return 0;
+ }
+
diff --git a/debian/patches/rl-del-backspace-policy.dpatch b/debian/patches/rl-del-backspace-policy.dpatch
new file mode 100644
index 0000000..ec56b43
--- /dev/null
+++ b/debian/patches/rl-del-backspace-policy.dpatch
@@ -0,0 +1,48 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Handle Debian Backspace/Delete keyboard policy
+
+diff -urb bash.orig/lib/readline/terminal.c bash/lib/readline/terminal.c
+--- bash.orig/lib/readline/terminal.c 2003-09-18 17:03:42.000000000 +0200
++++ bash/lib/readline/terminal.c 2003-09-27 23:25:59.000000000 +0200
+@@ -148,6 +148,9 @@
+ /* Insert key */
+ static char *_rl_term_kI;
+
++/* The key sequence sent by the Delete key, if any. */
++static char *_rl_term_kD;
++
+ /* Cursor control */
+ static char *_rl_term_vs; /* very visible */
+ static char *_rl_term_ve; /* normal */
+@@ -314,6 +317,7 @@
+ { "ic", &_rl_term_ic },
+ { "im", &_rl_term_im },
+ { "kH", &_rl_term_kH }, /* home down ?? */
++ { "kD", &_rl_term_kD }, /* delete */
+ { "kI", &_rl_term_kI }, /* insert */
+ { "kd", &_rl_term_kd },
+ { "ke", &_rl_term_ke }, /* end keypad mode */
+@@ -492,6 +496,7 @@
+
+ rl_bind_keyseq_if_unbound (_rl_term_kh, rl_beg_of_line); /* Home */
+ rl_bind_keyseq_if_unbound (_rl_term_at7, rl_end_of_line); /* End */
++ rl_bind_keyseq_if_unbound (_rl_term_kD, rl_delete); /* Delete */
+
+ _rl_keymap = xkeymap;
+ }
diff --git a/debian/patches/rl-examples-bdb.dpatch b/debian/patches/rl-examples-bdb.dpatch
new file mode 100644
index 0000000..33cca15
--- /dev/null
+++ b/debian/patches/rl-examples-bdb.dpatch
@@ -0,0 +1,30 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Modified readline examples to properly build with Debian setup.
+
+--- ./lib/readline/examples/rl.c~ Mon Nov 8 22:22:03 1999
++++ ./lib/readline/examples/rl.c Fri Dec 31 17:34:30 1999
+@@ -11,7 +11,7 @@
+
+ #include <stdio.h>
+ #include <sys/types.h>
+-#include "posixstat.h"
++#include <sys/stat.h>
+
+ #if defined (READLINE_LIBRARY)
+ # include "readline.h"
diff --git a/debian/patches/rl-header.dpatch b/debian/patches/rl-header.dpatch
new file mode 100644
index 0000000..d147813
--- /dev/null
+++ b/debian/patches/rl-header.dpatch
@@ -0,0 +1,28 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: include stdio.h in readline.h
+--- lib/readline/readline.h~ Thu Aug 5 14:10:59 1999
++++ lib/readline/readline.h Mon Oct 9 20:32:56 2000
+@@ -32,6 +32,7 @@
+ # include "keymaps.h"
+ # include "tilde.h"
+ #else
++# include <stdio.h>
+ # include <readline/rlstdc.h>
+ # include <readline/keymaps.h>
+ # include <readline/tilde.h>
diff --git a/debian/patches/rl-inputrc.dpatch b/debian/patches/rl-inputrc.dpatch
new file mode 100755
index 0000000..e79ed5e
--- /dev/null
+++ b/debian/patches/rl-inputrc.dpatch
@@ -0,0 +1,102 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Support for /etc/inputrc in addition to ~/inputrc
+
+diff -ur bash.saved/lib/readline/bind.c bash/lib/readline/bind.c
+--- bash.saved/lib/readline/bind.c 2005-01-16 13:18:30.000000000 +0100
++++ bash/lib/readline/bind.c 2005-01-16 13:21:43.000000000 +0100
+@@ -713,6 +713,9 @@
+ /* The last key bindings file read. */
+ static char *last_readline_init_file = (char *)NULL;
+
++/* Flag to read system init file */
++static int read_system_init_file = 0;
++
+ /* The file we're currently reading key bindings from. */
+ static const char *current_readline_init_file;
+ static int current_readline_init_include_level;
+@@ -780,7 +783,7 @@
+ to the first non-null filename from this list:
+ 1. the filename used for the previous call
+ 2. the value of the shell variable `INPUTRC'
+- 3. ~/.inputrc
++ 3. /etc/inputrc and ~/.inputrc
+ If the file existed and could be opened and read, 0 is returned,
+ otherwise errno is returned. */
+ int
+@@ -791,14 +794,31 @@
+ if (filename == 0)
+ {
+ filename = last_readline_init_file;
+- if (filename == 0)
++ if (filename == 0) {
+ filename = sh_get_env_value ("INPUTRC");
+- if (filename == 0)
++ read_system_init_file = 0;
++ }
++ if (filename == 0) {
+ filename = DEFAULT_INPUTRC;
++ read_system_init_file = 1;
++ }
+ }
+
+- if (*filename == 0)
++ if (*filename == 0) {
+ filename = DEFAULT_INPUTRC;
++ read_system_init_file = 1;
++ }
++
++ if (read_system_init_file)
++ if (filename == last_readline_init_file)
++ {
++ filename = savestring (filename);
++ _rl_read_init_file (SYSTEM_INPUTRC, 0);
++ free (last_readline_init_file);
++ last_readline_init_file = filename;
++ }
++ else
++ _rl_read_init_file (SYSTEM_INPUTRC, 0);
+
+ #if defined (__MSDOS__)
+ if (_rl_read_init_file (filename, 0) == 0)
+Only in bash/lib/readline: bind.c.orig
+Only in bash/lib/readline: bind.c.rej
+diff -ur bash.saved/lib/readline/doc/rluser.texi bash/lib/readline/doc/rluser.texi
+--- bash.saved/lib/readline/doc/rluser.texi 2005-01-16 13:18:30.000000000 +0100
++++ bash/lib/readline/doc/rluser.texi 2005-01-16 13:21:28.000000000 +0100
+@@ -336,7 +336,8 @@
+ @ifclear BashFeatures
+ file is taken from the value of the environment variable @env{INPUTRC}. If
+ @end ifclear
+-that variable is unset, the default is @file{~/.inputrc}.
++that variable is unset, Readline will read both @file{/etc/inputrc} and
++@file{~/.inputrc}.
+
+ When a program which uses the Readline library starts up, the
+ init file is read, and the key bindings are set.
+diff -ur bash.saved/lib/readline/rlconf.h bash/lib/readline/rlconf.h
+--- bash.saved/lib/readline/rlconf.h 2005-01-16 13:18:30.000000000 +0100
++++ bash/lib/readline/rlconf.h 2005-01-16 13:21:28.000000000 +0100
+@@ -39,6 +39,7 @@
+
+ /* The final, last-ditch effort file name for an init file. */
+ #define DEFAULT_INPUTRC "~/.inputrc"
++#define SYSTEM_INPUTRC "/etc/inputrc"
+
+ /* If defined, expand tabs to spaces. */
+ #define DISPLAY_TABS
diff --git a/debian/patches/rl-setenv.dpatch b/debian/patches/rl-setenv.dpatch
new file mode 100644
index 0000000..9ae1d08
--- /dev/null
+++ b/debian/patches/rl-setenv.dpatch
@@ -0,0 +1,30 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Prefer setenv over putenv
+
+--- lib/readline/shell.c~ 2004-10-17 13:07:37.000000000 +0200
++++ lib/readline/shell.c 2004-10-17 13:06:48.000000000 +0200
+@@ -122,7 +122,7 @@
+ {
+ char *b;
+
+-#if defined (HAVE_PUTENV)
++#if 0
+ b = (char *)xmalloc (INT_STRLEN_BOUND (int) + sizeof ("LINES=") + 1);
+ sprintf (b, "LINES=%d", lines);
+ putenv (b);
diff --git a/debian/patches/template.dpatch b/debian/patches/template.dpatch
new file mode 100644
index 0000000..e583619
--- /dev/null
+++ b/debian/patches/template.dpatch
@@ -0,0 +1,18 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: <your description>
diff --git a/debian/patches/ulimit-doc.dpatch b/debian/patches/ulimit-doc.dpatch
new file mode 100644
index 0000000..39129bf
--- /dev/null
+++ b/debian/patches/ulimit-doc.dpatch
@@ -0,0 +1,50 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Add ulimit options -e and -r.
+
+--- bash-3.1/doc/bashref.texi.ulimit 2006-01-10 11:21:49.000000000 +0000
++++ bash-3.1/doc/bashref.texi 2006-01-10 11:25:06.000000000 +0000
+@@ -3833,7 +3833,7 @@
+ @item ulimit
+ @btindex ulimit
+ @example
+-ulimit [-acdfilmnpqstuvxSH] [@var{limit}]
++ulimit [-acdefilmnpqrstuvxSH] [@var{limit}]
+ @end example
+ @code{ulimit} provides control over the resources available to processes
+ started by the shell, on systems that allow such control. If an
+@@ -3854,6 +3854,9 @@
+ @item -d
+ The maximum size of a process's data segment.
+
++@item -e
++The maximum scheduling priority.
++
+ @item -f
+ The maximum size of files created by the shell.
+
+@@ -3875,6 +3878,9 @@
+ @item -q
+ The maximum number of bytes in POSIX message queues.
+
++@item -r
++The maximum RT priority.
++
+ @item -s
+ The maximum stack size.
+
diff --git a/debian/patches/ulimit.dpatch b/debian/patches/ulimit.dpatch
new file mode 100755
index 0000000..462dc61
--- /dev/null
+++ b/debian/patches/ulimit.dpatch
@@ -0,0 +1,88 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Add ulimit options -e and -r.
+
+--- bash-3.1/builtins/ulimit.def.ulimit 2005-08-04 13:39:04.000000000 +0100
++++ bash-3.1/builtins/ulimit.def 2006-01-10 11:21:49.000000000 +0000
+@@ -34,6 +34,7 @@
+ -a all current limits are reported
+ -c the maximum size of core files created
+ -d the maximum size of a process's data segment
++ -e the maximum scheduling priority (`nice')
+ -f the maximum size of files created by the shell
+ -i the maximum number of pending signals
+ -l the maximum size a process may lock into memory
+@@ -41,6 +42,7 @@
+ -n the maximum number of open file descriptors
+ -p the pipe buffer size
+ -q the maximum number of bytes in POSIX message queues
++ -r the maximum rt priority
+ -s the maximum stack size
+ -t the maximum amount of cpu time in seconds
+ -u the maximum number of user processes
+@@ -202,6 +204,9 @@
+ #ifdef RLIMIT_DATA
+ { 'd', RLIMIT_DATA, 1024, "data seg size", "kbytes" },
+ #endif
++#ifdef RLIMIT_NICE
++ { 'e', RLIMIT_NICE, 1, "max nice", (char *)NULL},
++#endif /* RLIMIT_NICE */
+ { 'f', RLIMIT_FILESIZE, 1024, "file size", "blocks" },
+ #ifdef RLIMIT_SIGPENDING
+ { 'i', RLIMIT_SIGPENDING, 1, "pending signals", (char *)NULL },
+@@ -217,6 +222,9 @@
+ #ifdef RLIMIT_MSGQUEUE
+ { 'q', RLIMIT_MSGQUEUE, 1, "POSIX message queues", "bytes" },
+ #endif
++#ifdef RLIMIT_RTPRIO
++ { 'r', RLIMIT_RTPRIO, 1, "max rt priority", (char *)NULL},
++#endif /* RLIMIT_RTPRIO */
+ #ifdef RLIMIT_STACK
+ { 's', RLIMIT_STACK, 1024, "stack size", "kbytes" },
+ #endif
+--- bash-3.1/doc/bash.1.ulimit 2006-01-10 11:21:49.000000000 +0000
++++ bash-3.1/doc/bash.1 2006-01-10 11:24:43.000000000 +0000
+@@ -8496,7 +8496,7 @@
+ returns true if any of the arguments are found, false if
+ none are found.
+ .TP
+-\fBulimit\fP [\fB\-SHacdfilmnpqstuvx\fP [\fIlimit\fP]]
++\fBulimit\fP [\fB\-SHacdefilmnpqrstuvx\fP [\fIlimit\fP]]
+ Provides control over the resources available to the shell and to
+ processes started by it, on systems that allow such control.
+ The \fB\-H\fP and \fB\-S\fP options specify that the hard or soft limit is
+@@ -8532,6 +8532,9 @@
+ .B \-d
+ The maximum size of a process's data segment
+ .TP
++.B \-e
++The maximum scheduling priority (`nice')
++.TP
+ .B \-f
+ The maximum size of files created by the shell
+ .TP
+@@ -8554,6 +8557,9 @@
+ .B \-q
+ The maximum number of bytes in POSIX message queues
+ .TP
++.B \-r
++The maximum rt priority
++.TP
+ .B \-s
+ The maximum stack size
+ .TP