summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arrayfunc.c6
-rw-r--r--bashline.c4
-rw-r--r--builtins/fc.def4
-rw-r--r--builtins/read.def1
-rw-r--r--builtins/test.def6
-rw-r--r--builtins/ulimit.def8
-rw-r--r--config-bot.h5
-rw-r--r--config-top.h12
-rw-r--r--doc/bash.182
-rw-r--r--doc/rbash.12
-rw-r--r--examples/loadables/README3
-rw-r--r--execute_cmd.c22
-rw-r--r--input.c2
-rw-r--r--jobs.c60
-rw-r--r--lib/glob/glob.c3
-rw-r--r--lib/glob/sm_loop.c19
-rw-r--r--lib/readline/bind.c28
-rw-r--r--lib/readline/display.c20
-rw-r--r--lib/readline/doc/rluser.texi3
-rw-r--r--lib/readline/readline.c3
-rw-r--r--lib/readline/rlconf.h1
-rw-r--r--lib/readline/terminal.c5
-rw-r--r--lib/readline/text.c8
-rw-r--r--parse.y48
-rw-r--r--patchlevel.h2
-rw-r--r--po/LINGUAS1
-rw-r--r--po/sv.po4177
-rw-r--r--shell.c7
-rw-r--r--subst.c25
-rw-r--r--subst.h3
-rw-r--r--support/bashbug.sh1
-rwxr-xr-xsupport/config.guess801
-rwxr-xr-xsupport/config.sub290
-rw-r--r--variables.c2
34 files changed, 5163 insertions, 501 deletions
diff --git a/arrayfunc.c b/arrayfunc.c
index 3bdd54f..76116bc 100644
--- a/arrayfunc.c
+++ b/arrayfunc.c
@@ -592,11 +592,7 @@ array_expand_index (s, len)
exp = (char *)xmalloc (len);
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
+ t = expand_arith_string (exp, 0);
this_command_name = (char *)NULL;
val = evalexp (t, &expok);
free (t);
diff --git a/bashline.c b/bashline.c
index 496f6c1..776bdf4 100644
--- a/bashline.c
+++ b/bashline.c
@@ -800,8 +800,8 @@ operate_and_get_next (count, c)
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/builtins/fc.def b/builtins/fc.def
index ebe3683..7e3f811 100644
--- a/builtins/fc.def
+++ b/builtins/fc.def
@@ -156,11 +156,11 @@ static void fc_addhist __P((char *));
#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
diff --git a/builtins/read.def b/builtins/read.def
index 914ebd7..4ba3375 100644
--- a/builtins/read.def
+++ b/builtins/read.def
@@ -472,6 +472,7 @@ add_char:
if (retval < 0)
{
builtin_error (_("read error: %d: %s"), fd, strerror (errno));
+ run_unwind_frame ("read_builtin");
return (EXECUTION_FAILURE);
}
#endif
diff --git a/builtins/test.def b/builtins/test.def
index e51d00b..44f48a4 100644
--- a/builtins/test.def
+++ b/builtins/test.def
@@ -60,6 +60,9 @@ File operators:
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.
@@ -89,6 +92,9 @@ Other operators:
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 [
diff --git a/builtins/ulimit.def b/builtins/ulimit.def
index 8cfcd4f..1fe2a7a 100644
--- a/builtins/ulimit.def
+++ b/builtins/ulimit.def
@@ -34,6 +34,7 @@ option is given, it is interpreted as follows:
-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 @@ option is given, it is interpreted as follows:
-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 @@ static RESOURCE_LIMITS limits[] = {
#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 @@ static RESOURCE_LIMITS limits[] = {
#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
diff --git a/config-bot.h b/config-bot.h
index 1894687..1b8fd5d 100644
--- a/config-bot.h
+++ b/config-bot.h
@@ -178,4 +178,7 @@
/******************************************************************/
/* If you don't want bash to provide a default mail file to check. */
-/* #undef DEFAULT_MAIL_DIRECTORY */
+#undef DEFAULT_MAIL_DIRECTORY
+
+/* Bug #224543 */
+#define PGRP_PIPE 1
diff --git a/config-top.h b/config-top.h
index 7a90b16..9c6eac3 100644
--- a/config-top.h
+++ b/config-top.h
@@ -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/doc/bash.1 b/doc/bash.1
index 40e1fbd..80d51fa 100644
--- a/doc/bash.1
+++ b/doc/bash.1
@@ -6,12 +6,12 @@
.\" Case Western Reserve University
.\" chet@po.cwru.edu
.\"
-.\" Last Change: Sat Aug 27 13:28:44 EDT 2005
+.\" 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 Aug 27" "GNU Bash-3.1-beta1"
+.TH BASH 1 "2005 Dec 28" "GNU Bash-3.1"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -184,7 +184,9 @@ Display a usage message on standard output and exit successfully.
.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
@@ -215,7 +217,9 @@ reads these files when it is invoked as a login shell (see
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
@@ -323,13 +327,15 @@ exists.
.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
@@ -414,7 +420,8 @@ daemon, usually \fIrshd\fP.
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
@@ -677,8 +684,8 @@ If the shell option
.B nocasematch
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.
+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.
.if t .sp 0.5
@@ -807,6 +814,12 @@ it against each \fIpattern\fP in turn, using the same matching rules
as for pathname expansion (see
.B Pathname Expansion
below).
+The \fIword\fP is expanded using tilde
+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 substitution,
+command substitution, and process substitution.
If the shell option
.B nocasematch
is enabled, the match is performed without regard to the case
@@ -1638,7 +1651,9 @@ A filename whose suffix matches one of the entries in
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
@@ -2019,6 +2034,13 @@ below). If set to any other value, the supplied string must
be a prefix of a stopped job's name; this provides functionality
analogous to the \fB%\fP\fIstring\fP 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
@@ -2410,6 +2432,9 @@ below).
\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 *,
@@ -2606,6 +2631,9 @@ and the substitution of the result. The format for arithmetic expansion is:
\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
@@ -2743,6 +2771,10 @@ If the shell option
.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 ``.''
@@ -3009,6 +3041,9 @@ a UDP connection to the corresponding socket.
.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
@@ -3534,6 +3569,10 @@ descriptor 0, 1, or 2, respectively, is checked.
.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
@@ -8484,7 +8523,7 @@ option suppresses shell function lookup, as with the \fBcommand\fP builtin.
returns true if any of the arguments are found, false if
none are found.
.TP
-\fBulimit\fP [\fB\-SHacdflmnpstuv\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
@@ -8520,9 +8559,15 @@ The maximum size of core files created
.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
+.B \-i
+The maximum number of pending signals
+.TP
.B \-l
The maximum size that may be locked into memory
.TP
@@ -8536,6 +8581,12 @@ allow this value to be set)
.B \-p
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 \-r
+The maximum rt priority
+.TP
.B \-s
The maximum stack size
.TP
@@ -8547,6 +8598,9 @@ The maximum number of processes available to a single user
.TP
.B \-v
The maximum amount of virtual memory available to the shell
+.TP
+.B \-x
+The maximum number of file locks
.PD
.PP
If
@@ -8769,6 +8823,12 @@ The \fBbash\fP executable
.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 /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/doc/rbash.1 b/doc/rbash.1
index c148abf..f35ad7e 100644
--- a/doc/rbash.1
+++ b/doc/rbash.1
@@ -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/examples/loadables/README b/examples/loadables/README
index db67860..4c36898 100644
--- a/examples/loadables/README
+++ b/examples/loadables/README
@@ -31,3 +31,6 @@ Many of the details needed by builtin writers are found in hello.c,
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/execute_cmd.c b/execute_cmd.c
index ce90d25..9162f3e 100644
--- a/execute_cmd.c
+++ b/execute_cmd.c
@@ -3638,8 +3638,26 @@ execute_disk_command (words, redirects, command_line, pipe_in, pipe_out,
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
diff --git a/input.c b/input.c
index 314a1f5..c311dfc 100644
--- a/input.c
+++ b/input.c
@@ -454,7 +454,7 @@ b_fill_buffer (bp)
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/jobs.c b/jobs.c
index 0671c65..d30a427 100644
--- a/jobs.c
+++ b/jobs.c
@@ -619,8 +619,11 @@ stop_pipeline (async, deferred)
* once in the parent and once in each child. This is where
* the parent gives it away.
*
+ * Don't give the terminal away if this shell is an asynchronous
+ * subshell.
+ *
*/
- if (job_control && newjob->pgrp)
+ if (job_control && newjob->pgrp && (subshell_environment&SUBSHELL_ASYNC) == 0)
give_terminal_to (newjob->pgrp, 0);
}
}
@@ -844,9 +847,10 @@ static void
realloc_jobs_list ()
{
sigset_t set, oset;
- int nsize, i, j;
+ int nsize, i, j, ncur, nprev;
JOB **nlist;
+ ncur = nprev = NO_JOB;
nsize = ((js.j_njobs + JOB_SLOTS - 1) / JOB_SLOTS);
nsize *= JOB_SLOTS;
i = js.j_njobs % JOB_SLOTS;
@@ -854,17 +858,51 @@ realloc_jobs_list ()
nsize += JOB_SLOTS;
BLOCK_CHILD (set, oset);
- nlist = (JOB **) xmalloc (nsize * sizeof (JOB *));
+ nlist = (js.j_jobslots == nsize) ? jobs : (JOB **) xmalloc (nsize * sizeof (JOB *));
+
for (i = j = 0; i < js.j_jobslots; i++)
if (jobs[i])
- nlist[j++] = 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_lastj = (j > 0) ? j - 1 : 0;
+ js.j_njobs = j;
js.j_jobslots = nsize;
- free (jobs);
- jobs = nlist;
+ /* 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);
}
@@ -1655,7 +1693,7 @@ make_child (command, async_p)
In this case, we don't want to give the terminal to the
shell's process group (we could be in the middle of a
pipeline, for example). */
- if (async_p == 0 && pipeline_pgrp != shell_pgrp)
+ if (async_p == 0 && pipeline_pgrp != shell_pgrp && ((subshell_environment&SUBSHELL_ASYNC) == 0))
give_terminal_to (pipeline_pgrp, 0);
#if defined (PGRP_PIPE)
@@ -2198,7 +2236,11 @@ wait_for (pid)
/* This is possibly a race condition -- should it go in stop_pipeline? */
wait_sigint_received = 0;
if (job_control == 0)
- old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
+ {
+ 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;
diff --git a/lib/glob/glob.c b/lib/glob/glob.c
index 9a2d833..1453b06 100644
--- a/lib/glob/glob.c
+++ b/lib/glob/glob.c
@@ -360,6 +360,7 @@ glob_vector (pat, dir, flags)
count = lose = skip = 0;
firstmalloc = 0;
+ nalloca = 0;
/* If PAT is empty, skip the loop, but return one (empty) filename. */
if (pat == 0 || *pat == '\0')
@@ -546,6 +547,8 @@ glob_vector (pat, dir, flags)
firstmalloc = 0;
tmplink = lastlink;
}
+ else
+ tmplink = 0;
free (lastlink->name);
lastlink = lastlink->next;
FREE (tmplink);
diff --git a/lib/glob/sm_loop.c b/lib/glob/sm_loop.c
index 6e8cf3a..d66ad18 100644
--- a/lib/glob/sm_loop.c
+++ b/lib/glob/sm_loop.c
@@ -638,12 +638,13 @@ EXTMATCH (xc, s, se, p, pe, flags)
CHAR *psub; /* pointer to sub-pattern */
CHAR *pnext; /* pointer to next sub-pattern */
CHAR *srest; /* pointer to rest of string */
- int m1, m2;
+ int m1, m2, xflags; /* xflags = flags passed to recursive matches */
#if DEBUG_MATCHING
fprintf(stderr, "extmatch: xc = %c\n", xc);
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
prest = PATSCAN (p + (*p == L('(')), pe, 0); /* ) */
@@ -677,8 +678,12 @@ fprintf(stderr, "extmatch: p = %s; pe = %s\n", p, pe);
string matches the rest of the pattern. Also handle
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 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);
}
@@ -704,8 +709,10 @@ fprintf(stderr, "extmatch: p = %s; pe = %s\n", p, pe);
srest = (prest == pe) ? se : s;
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, flags) == 0)
+ GMATCH (srest, se, prest, pe, xflags) == 0)
return (0);
}
if (pnext == prest)
@@ -726,7 +733,9 @@ fprintf(stderr, "extmatch: p = %s; pe = %s\n", p, pe);
if (pnext == prest)
break;
}
- if (m1 == 0 && GMATCH (srest, se, prest, pe, flags) == 0)
+ /* 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);
}
return (FNM_NOMATCH);
diff --git a/lib/readline/bind.c b/lib/readline/bind.c
index 7559d32..1a804b5 100644
--- a/lib/readline/bind.c
+++ b/lib/readline/bind.c
@@ -723,6 +723,9 @@ rl_function_of_keyseq (keyseq, map, type)
/* 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;
@@ -790,7 +793,7 @@ rl_re_read_init_file (count, ignore)
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
@@ -801,14 +804,31 @@ rl_read_init_file (filename)
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)
diff --git a/lib/readline/display.c b/lib/readline/display.c
index b22521b..0d3ae6e 100644
--- a/lib/readline/display.c
+++ b/lib/readline/display.c
@@ -1983,11 +1983,15 @@ _rl_make_prompt_for_search (pchar)
int pchar;
{
int len;
- char *pmt;
+ char *pmt, *p;
rl_save_prompt ();
- if (saved_local_prompt == 0)
+ /* 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,19 +2002,17 @@ _rl_make_prompt_for_search (pchar)
}
else
{
- len = *saved_local_prompt ? strlen (saved_local_prompt) : 0;
+ p++;
+ len = strlen (p);
pmt = (char *)xmalloc (len + 2);
if (len)
- strcpy (pmt, saved_local_prompt);
+ strcpy (pmt, p);
pmt[len] = pchar;
pmt[len+1] = '\0';
- local_prompt = savestring (pmt);
- prompt_last_invisible = saved_last_invisible;
- prompt_visible_length = saved_visible_length + 1;
- }
+ }
+ /* will be overwritten by expand_prompt, called from rl_message */
prompt_physical_chars = saved_physical_chars + 1;
-
return pmt;
}
diff --git a/lib/readline/doc/rluser.texi b/lib/readline/doc/rluser.texi
index 478b41f..a689550 100644
--- a/lib/readline/doc/rluser.texi
+++ b/lib/readline/doc/rluser.texi
@@ -336,7 +336,8 @@ file is taken from the value of the shell variable @env{INPUTRC}. If
@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 --git a/lib/readline/readline.c b/lib/readline/readline.c
index 5e9767a..5eaaf47 100644
--- a/lib/readline/readline.c
+++ b/lib/readline/readline.c
@@ -282,6 +282,7 @@ rl_set_prompt (prompt)
{
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;
@@ -714,7 +715,7 @@ _rl_dispatch_subseq (key, map, got_subseq)
rl_dispatching = 1;
RL_SETSTATE(RL_STATE_DISPATCHING);
- r = (*map[key].function)(rl_numeric_arg * rl_arg_sign, key);
+ (*map[key].function)(rl_numeric_arg * rl_arg_sign, key);
RL_UNSETSTATE(RL_STATE_DISPATCHING);
rl_dispatching = 0;
diff --git a/lib/readline/rlconf.h b/lib/readline/rlconf.h
index c651fd8..090adb8 100644
--- a/lib/readline/rlconf.h
+++ b/lib/readline/rlconf.h
@@ -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/lib/readline/terminal.c b/lib/readline/terminal.c
index cc61388..eb72c19 100644
--- a/lib/readline/terminal.c
+++ b/lib/readline/terminal.c
@@ -122,7 +122,7 @@ char *_rl_term_up;
static char *_rl_visible_bell;
/* Non-zero means the terminal can auto-wrap lines. */
-int _rl_term_autowrap;
+int _rl_term_autowrap = -1;
/* Non-zero means that this terminal has a meta key. */
static int term_has_meta;
@@ -274,6 +274,9 @@ void
_rl_set_screen_size (rows, cols)
int rows, cols;
{
+ if (_rl_term_autowrap == -1)
+ _rl_init_terminal_io (rl_terminal_name);
+
if (rows > 0)
_rl_screenheight = rows;
if (cols > 0)
diff --git a/lib/readline/text.c b/lib/readline/text.c
index 9053e96..bb87604 100644
--- a/lib/readline/text.c
+++ b/lib/readline/text.c
@@ -1071,8 +1071,6 @@ int
rl_delete (count, key)
int count, key;
{
- int r;
-
if (count < 0)
return (_rl_rubout_char (-count, key));
@@ -1090,17 +1088,17 @@ rl_delete (count, key)
else
rl_forward_byte (count, key);
- r = rl_kill_text (orig_point, rl_point);
+ rl_kill_text (orig_point, rl_point);
rl_point = orig_point;
- return r;
}
else
{
int new_point;
new_point = MB_NEXTCHAR (rl_line_buffer, rl_point, 1, MB_FIND_NONZERO);
- return (rl_delete_text (rl_point, new_point));
+ rl_delete_text (rl_point, new_point);
}
+ return 0;
}
/* Delete the character under the cursor, unless the insertion
diff --git a/parse.y b/parse.y
index 1e7bd27..f415df9 100644
--- a/parse.y
+++ b/parse.y
@@ -2716,6 +2716,7 @@ read_token (command)
#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,12 +2726,12 @@ parse_matched_pair (qc, open, close, lenp, flags)
int *lenp, flags;
{
int count, ch, was_dollar, in_comment, check_comment;
- int pass_next_character, nestlen, ttranslen, start_lineno;
+ int pass_next_character, backq_backslash, nestlen, ttranslen, start_lineno;
char *ret, *nestret, *ttrans;
int retind, retsize, rflags;
count = 1;
- pass_next_character = was_dollar = in_comment = 0;
+ 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,11 +2743,8 @@ parse_matched_pair (qc, open, close, lenp, flags)
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
+ ch = shell_getc (qc != '\'' && pass_next_character == 0 && backq_backslash == 0);
+
if (ch == EOF)
{
free (ret);
@@ -2771,9 +2769,16 @@ parse_matched_pair (qc, open, close, lenp, flags)
continue;
}
/* Not exactly right yet */
- else if (check_comment && in_comment == 0 && ch == '#' && (retind == 0 || ret[retind-1] == '\n' || whitespace (ret[retind -1])))
+ 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,6 +2819,8 @@ parse_matched_pair (qc, open, close, lenp, flags)
{
if MBTEST((flags & P_ALLOWESC) && ch == '\\')
pass_next_character++;
+ else if MBTEST((flags & P_BACKQUOTE) && ch == '\\')
+ backq_backslash++;
continue;
}
@@ -2898,7 +2905,11 @@ add_nestret:
}
else if MBTEST(qc == '`' && (ch == '"' || ch == '\'') && in_comment == 0)
{
- nestret = parse_matched_pair (0, ch, ch, &nestlen, rflags);
+ /* 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 == '[')) /* ) } ] */
@@ -2907,7 +2918,7 @@ add_nestret:
if (open == ch) /* undo previous increment */
count--;
if (ch == '(') /* ) */
- nestret = parse_matched_pair (0, '(', ')', &nestlen, rflags);
+ nestret = parse_matched_pair (0, '(', ')', &nestlen, rflags & ~P_DQUOTE);
else if (ch == '{') /* } */
nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags);
else if (ch == '[') /* ] */
@@ -3578,7 +3589,7 @@ read_token_word (character)
FREE (ttok);
all_digit_token = 0;
compound_assignment = 1;
-#if 0
+#if 1
goto next_character;
#else
goto got_token; /* ksh93 seems to do this */
@@ -3695,7 +3706,9 @@ got_token:
struct builtin *b;
b = builtin_address_internal (token, 0);
if (b && (b->flags & ASSIGNMENT_BUILTIN))
- parser_state |= PST_ASSIGNOK;
+ parser_state |= PST_ASSIGNOK;
+ else if (STREQ (token, "eval") || STREQ (token, "let"))
+ parser_state |= PST_ASSIGNOK;
}
yylval.word = the_word;
@@ -4686,18 +4699,21 @@ parse_compound_assignment (retlenp)
int *retlenp;
{
WORD_LIST *wl, *rl;
- int tok, orig_line_number, orig_token_size;
+ int tok, orig_line_number, orig_token_size, orig_last_token, assignok;
char *saved_token, *ret;
saved_token = token;
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 */
token = (char *)NULL;
token_buffer_size = 0;
+ assignok = parser_state&PST_ASSIGNOK; /* XXX */
+
wl = (WORD_LIST *)NULL; /* ( */
parser_state |= PST_COMPASSIGN;
@@ -4740,7 +4756,7 @@ parse_compound_assignment (retlenp)
jump_to_top_level (DISCARD);
}
- last_read_token = WORD;
+ last_read_token = orig_last_token; /* XXX - was WORD? */
if (wl)
{
rl = REVERSE_LIST (wl, WORD_LIST *);
@@ -4752,6 +4768,10 @@ parse_compound_assignment (retlenp)
if (retlenp)
*retlenp = (ret && *ret) ? strlen (ret) : 0;
+
+ if (assignok)
+ parser_state |= PST_ASSIGNOK;
+
return ret;
}
diff --git a/patchlevel.h b/patchlevel.h
index b11fc16..e8ce389 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -25,6 +25,6 @@
regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
looks for to find the patch level (for the sccs version string). */
-#define PATCHLEVEL 0
+#define PATCHLEVEL 17
#endif /* _PATCHLEVEL_H_ */
diff --git a/po/LINGUAS b/po/LINGUAS
index 3595cc0..b24ee94 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1,2 +1,3 @@
# Set of available languages.
en@quot en@boldquot
+sv
diff --git a/po/sv.po b/po/sv.po
new file mode 100644
index 0000000..232f8b7
--- /dev/null
+++ b/po/sv.po
@@ -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/shell.c b/shell.c
index 6d07c78..b8dcf32 100644
--- a/shell.c
+++ b/shell.c
@@ -460,7 +460,7 @@ main (argc, argv, env)
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
@@ -1533,9 +1533,10 @@ set_shell_name (argv0)
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/subst.c b/subst.c
index 73887ab..3a79b65 100644
--- a/subst.c
+++ b/subst.c
@@ -2187,7 +2187,7 @@ do_compound_assignment (name, value, flags)
if (mklocal && variable_context)
{
v = find_variable (name);
- if (v == 0 || array_p (v) == 0)
+ 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);
}
@@ -2575,6 +2575,13 @@ expand_assignment_string_to_string (string, quoted)
return (expand_string_to_string_internal (string, quoted, expand_string_assignment));
}
+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. */
char *
@@ -5248,7 +5255,7 @@ verify_substring_values (value, substr, vtype, e1p, e2p)
else
t = (char *)0;
- temp1 = expand_string_if_necessary (substr, Q_DOUBLE_QUOTES, expand_string);
+ temp1 = expand_arith_string (substr, Q_DOUBLE_QUOTES);
*e1p = evalexp (temp1, &expok);
free (temp1);
if (expok == 0)
@@ -5293,7 +5300,7 @@ verify_substring_values (value, substr, vtype, e1p, e2p)
{
t++;
temp2 = savestring (t);
- temp1 = expand_string_if_necessary (temp2, Q_DOUBLE_QUOTES, expand_string);
+ temp1 = expand_arith_string (temp2, Q_DOUBLE_QUOTES);
free (temp2);
t[-1] = ':';
*e2p = evalexp (temp1, &expok);
@@ -5814,7 +5821,7 @@ parameter_brace_expand (string, indexp, quoted, quoted_dollar_atp, contains_doll
{
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] == '!')
@@ -6435,7 +6442,7 @@ param_expand (string, sindex, quoted, expanded_something,
temp2[t_index] = '\0';
/* Expand variables found inside the expression. */
- temp1 = expand_string_if_necessary (temp2, Q_DOUBLE_QUOTES, expand_string);
+ temp1 = expand_arith_string (temp2, Q_DOUBLE_QUOTES);
free (temp2);
arithsub:
@@ -6477,7 +6484,7 @@ comsub:
zindex = t_index;
/* Do initial variable expansion. */
- temp1 = expand_string_if_necessary (temp, Q_DOUBLE_QUOTES, expand_string);
+ temp1 = expand_arith_string (temp, Q_DOUBLE_QUOTES);
goto arithsub;
@@ -6795,6 +6802,12 @@ add_string:
if (temp && *temp && t_index > 0)
{
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;
sindex += t_index;
diff --git a/subst.h b/subst.h
index 33d3f49..e07055b 100644
--- a/subst.h
+++ b/subst.h
@@ -151,6 +151,9 @@ extern char *expand_string_to_string __P((char *, int));
extern char *expand_string_unsplit_to_string __P((char *, int));
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 *));
diff --git a/support/bashbug.sh b/support/bashbug.sh
index 8c4e1ec..95c2c1f 100644
--- a/support/bashbug.sh
+++ b/support/bashbug.sh
@@ -118,6 +118,7 @@ alpha*|beta*|devel*|rc*)
esac ;;
esac
+BUGBASH="${BUGBASH},bash@packages.debian.org"
BUGADDR="${1-$BUGBASH}"
if [ -z "$DEFEDITOR" ] && [ -z "$EDITOR" ]; then
diff --git a/support/config.guess b/support/config.guess
index 6d90d6f..278f9e9 100755
--- a/support/config.guess
+++ b/support/config.guess
@@ -1,9 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002 Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+# Inc.
-timestamp='2002-11-30'
+timestamp='2007-07-22'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -17,13 +18,15 @@ timestamp='2002-11-30'
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
+
# Originally written by Per Bothner <per@bothner.com>.
# Please send patches to <config-patches@gnu.org>. Submit a context
# diff and a properly formatted ChangeLog entry.
@@ -53,7 +56,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
@@ -66,11 +69,11 @@ Try \`$me --help' for more information."
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
+ echo "$timestamp" ; exit ;;
--version | -v )
- echo "$version" ; exit 0 ;;
+ echo "$version" ; exit ;;
--help | --h* | -h )
- echo "$usage"; exit 0 ;;
+ echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
@@ -98,14 +101,18 @@ trap 'exit 1' 1 2 15
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.
-# This shell variable is my proudest work .. or something. --bje
+# Portable tmp directory creation inspired by the Autoconf team.
-set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ;
-(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old)
- || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ;
-dummy=$tmpdir/dummy ;
-files="$dummy.c $dummy.o $dummy.rel $dummy" ;
-trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
,,) echo "int x;" > $dummy.c ;
for c in cc gcc c89 c99 ; do
@@ -113,15 +120,13 @@ case $CC_FOR_BUILD,$HOST_CC,$CC in
CC_FOR_BUILD="$c"; break ;
fi ;
done ;
- rm -f $files ;
if test x"$CC_FOR_BUILD" = x ; then
CC_FOR_BUILD=no_compiler_found ;
fi
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ;
-unset files'
+esac ; set_cc_for_build= ;'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
@@ -156,6 +161,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
@@ -194,139 +200,112 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
- exit 0 ;;
- amiga:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- arc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- hp300:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mac68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- macppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme88k:OpenBSD:*:*)
- echo m88k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvmeppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- pmax:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sgi:OpenBSD:*:*)
- echo mipseb-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sun3:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- wgrisc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:OpenBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
alpha:OSF1:*:*)
- if test $UNAME_RELEASE = "V4.0"; then
+ case $UNAME_RELEASE in
+ *4.0)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- fi
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- eval $set_cc_for_build
- cat <<EOF >$dummy.s
- .data
-\$Lformat:
- .byte 37,100,45,37,120,10,0 # "%d-%x\n"
-
- .text
- .globl main
- .align 4
- .ent main
-main:
- .frame \$30,16,\$26,0
- ldgp \$29,0(\$27)
- .prologue 1
- .long 0x47e03d80 # implver \$0
- lda \$2,-1
- .long 0x47e20c21 # amask \$2,\$1
- lda \$16,\$Lformat
- mov \$0,\$17
- not \$1,\$18
- jsr \$26,printf
- ldgp \$29,0(\$26)
- mov 0,\$16
- jsr \$26,exit
- .end main
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null
- if test "$?" = 0 ; then
- case `$dummy` in
- 0-0)
- UNAME_MACHINE="alpha"
- ;;
- 1-0)
- UNAME_MACHINE="alphaev5"
- ;;
- 1-1)
- UNAME_MACHINE="alphaev56"
- ;;
- 1-101)
- UNAME_MACHINE="alphapca56"
- ;;
- 2-303)
- UNAME_MACHINE="alphaev6"
- ;;
- 2-307)
- UNAME_MACHINE="alphaev67"
- ;;
- 2-1307)
- UNAME_MACHINE="alphaev68"
- ;;
- 3-1307)
- UNAME_MACHINE="alphaev7"
- ;;
- esac
- fi
- rm -f $dummy.s $dummy && rmdir $tmpdir
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit 0 ;;
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo alpha-pc-interix
- exit 0 ;;
+ exit ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
- exit 0 ;;
+ exit ;;
Amiga*:UNIX_System_V:4.0:*)
echo m68k-unknown-sysv4
- exit 0;;
+ exit ;;
*:[Aa]miga[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-amigaos
- exit 0 ;;
+ exit ;;
*:[Mm]orph[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-morphos
- exit 0 ;;
+ exit ;;
*:OS/390:*:*)
echo i370-ibm-openedition
- exit 0 ;;
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
- exit 0;;
+ exit ;;
+ arm:riscos:*:*|arm:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
- exit 0;;
+ exit ;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
@@ -334,29 +313,32 @@ EOF
else
echo pyramid-pyramid-bsd
fi
- exit 0 ;;
+ exit ;;
NILE*:*:*:dcosx)
echo pyramid-pyramid-svr4
- exit 0 ;;
- DRS?6000:UNIX_SV:4.2*:7*)
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7 && exit 0 ;;
+ sparc) echo sparc-icl-nx7; exit ;;
esac ;;
sun4H:SunOS:5.*:*)
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- i86pc:SunOS:5.*:*)
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
Series*|S4*)
@@ -365,10 +347,10 @@ EOF
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit 0 ;;
+ exit ;;
sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
@@ -380,10 +362,10 @@ EOF
echo sparc-sun-sunos${UNAME_RELEASE}
;;
esac
- exit 0 ;;
+ exit ;;
aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
@@ -394,37 +376,40 @@ EOF
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
echo m68k-milan-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
echo m68k-hades-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
- exit 0 ;;
+ exit ;;
RISC*:ULTRIX:*:*)
echo mips-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
@@ -448,33 +433,33 @@ EOF
exit (-1);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c \
- && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
- && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
- rm -f $dummy.c $dummy && rmdir $tmpdir
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
echo mips-mips-riscos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
Motorola:PowerMAX_OS:*:*)
echo powerpc-motorola-powermax
- exit 0 ;;
+ exit ;;
Motorola:*:4.3:PL8-*)
echo powerpc-harris-powermax
- exit 0 ;;
+ exit ;;
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
echo powerpc-harris-powermax
- exit 0 ;;
+ exit ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
- exit 0 ;;
+ exit ;;
m88k:CX/UX:7*:*)
echo m88k-harris-cxux7
- exit 0 ;;
+ exit ;;
m88k:*:4*:R4*)
echo m88k-motorola-sysv4
- exit 0 ;;
+ exit ;;
m88k:*:3*:R3*)
echo m88k-motorola-sysv3
- exit 0 ;;
+ exit ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
@@ -490,29 +475,29 @@ EOF
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
- exit 0 ;;
+ exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
- exit 0 ;;
+ exit ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
echo m88k-motorola-sysv3
- exit 0 ;;
+ exit ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
echo m88k-tektronix-sysv3
- exit 0 ;;
+ exit ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
echo m68k-tektronix-bsd
- exit 0 ;;
+ exit ;;
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit 0 ;;
+ exit ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i*86:AIX:*:*)
echo i386-ibm-aix
- exit 0 ;;
+ exit ;;
ia64:AIX:*:*)
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
@@ -520,7 +505,7 @@ EOF
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit 0 ;;
+ exit ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
eval $set_cc_for_build
@@ -535,15 +520,18 @@ EOF
exit(0);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
- rm -f $dummy.c $dummy && rmdir $tmpdir
- echo rs6000-ibm-aix3.2.5
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
else
echo rs6000-ibm-aix3.2
fi
- exit 0 ;;
+ exit ;;
*:AIX:*:[45])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
@@ -557,28 +545,28 @@ EOF
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit 0 ;;
+ exit ;;
*:AIX:*:*)
echo rs6000-ibm-aix
- exit 0 ;;
+ exit ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
- exit 0 ;;
+ exit ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit 0 ;; # report: romp-ibm BSD 4.3
+ exit ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
- exit 0 ;;
+ exit ;;
DPX/2?00:B.O.S.:*:*)
echo m68k-bull-sysv3
- exit 0 ;;
+ exit ;;
9000/[34]??:4.3bsd:1.*:*)
echo m68k-hp-bsd
- exit 0 ;;
+ exit ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
- exit 0 ;;
+ exit ;;
9000/[34678]??:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
case "${UNAME_MACHINE}" in
@@ -635,16 +623,36 @@ EOF
}
EOF
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
- if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
- rm -f $dummy.c $dummy && rmdir $tmpdir
+ test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep __LP64__ >/dev/null
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit 0 ;;
+ exit ;;
ia64:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ia64-hp-hpux${HPUX_REV}
- exit 0 ;;
+ exit ;;
3050*:HI-UX:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
@@ -672,152 +680,182 @@ EOF
exit (0);
}
EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
- rm -f $dummy.c $dummy && rmdir $tmpdir
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
echo unknown-hitachi-hiuxwe2
- exit 0 ;;
+ exit ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
echo hppa1.1-hp-bsd
- exit 0 ;;
+ exit ;;
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
- exit 0 ;;
+ exit ;;
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
echo hppa1.0-hp-mpeix
- exit 0 ;;
+ exit ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
- exit 0 ;;
+ exit ;;
hp8??:OSF1:*:*)
echo hppa1.0-hp-osf
- exit 0 ;;
+ exit ;;
i*86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
else
echo ${UNAME_MACHINE}-unknown-osf1
fi
- exit 0 ;;
+ exit ;;
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
- exit 0 ;;
+ exit ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
- exit 0 ;;
+ exit ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit 0 ;;
+ exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
- exit 0 ;;
+ exit ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
- exit 0 ;;
+ exit ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
- exit 0 ;;
+ exit ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*[A-Z]90:*:*:*)
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*T3D:*:*:*)
- echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*T3E:*:*:*)
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
CRAY*SV1:*:*:*)
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit 0 ;;
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
- amd64:FreeBSD:*:*)
- echo x86_64-unknown-freebsd
- exit 0 ;;
+ exit ;;
*:FreeBSD:*:*)
- # Determine whether the default compiler uses glibc.
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #if __GLIBC__ >= 2
- LIBC=gnu
- #else
- LIBC=
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- rm -f $dummy.c && rmdir $tmpdir
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
- exit 0 ;;
+ case ${UNAME_MACHINE} in
+ pc98)
+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
- exit 0 ;;
- i*:MINGW*:*)
+ exit ;;
+ *:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
- exit 0 ;;
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
- exit 0 ;;
- x86:Interix*:3*)
- echo i586-pc-interix3
- exit 0 ;;
+ exit ;;
+ *:Interix*:[3456]*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ EM64T | authenticamd)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
- exit 0 ;;
+ exit ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
echo i586-pc-interix
- exit 0 ;;
+ exit ;;
i*:UWIN*:*)
echo ${UNAME_MACHINE}-pc-uwin
- exit 0 ;;
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin
- exit 0 ;;
+ exit ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
*:GNU:*:*)
+ # the GNU system
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit 0 ;;
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
- exit 0 ;;
+ exit ;;
arm*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ cris:Linux:*:*)
+ echo cris-axis-linux-gnu
+ exit ;;
+ crisv32:Linux:*:*)
+ echo crisv32-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+ echo frv-unknown-linux-gnu
+ exit ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
mips:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
@@ -834,9 +872,12 @@ EOF
#endif
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- rm -f $dummy.c && rmdir $tmpdir
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
mips64:Linux:*:*)
eval $set_cc_for_build
@@ -854,16 +895,22 @@ EOF
#endif
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- rm -f $dummy.c && rmdir $tmpdir
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
+ or32:Linux:*:*)
+ echo or32-unknown-linux-gnu
+ exit ;;
ppc:Linux:*:*)
echo powerpc-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
ppc64:Linux:*:*)
echo powerpc64-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
@@ -877,7 +924,7 @@ EOF
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit 0 ;;
+ exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
@@ -885,22 +932,31 @@ EOF
PA8*) echo hppa2.0-unknown-linux-gnu ;;
*) echo hppa-unknown-linux-gnu ;;
esac
- exit 0 ;;
+ exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
echo hppa64-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux
- exit 0 ;;
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
+ xtensa:Linux:*:*)
+ echo xtensa-unknown-linux-gnu
+ exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
@@ -918,15 +974,15 @@ EOF
;;
a.out-i386-linux)
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit 0 ;;
+ exit ;;
coff-i386)
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
- exit 0 ;;
+ exit ;;
"")
# Either a pre-BFD a.out linker (linux-gnuoldld) or
# one that does not give us useful --help.
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
- exit 0 ;;
+ exit ;;
esac
# Determine whether the default compiler is a.out or elf
eval $set_cc_for_build
@@ -943,24 +999,33 @@ EOF
LIBC=gnulibc1
# endif
#else
- #ifdef __INTEL_COMPILER
+ #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
LIBC=gnu
#else
LIBC=gnuaout
#endif
#endif
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- rm -f $dummy.c && rmdir $tmpdir
- test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
- test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^LIBC/{
+ s: ::g
+ p
+ }'`"
+ test x"${LIBC}" != x && {
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ exit
+ }
+ test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
# sysname and nodename.
echo i386-sequent-sysv4
- exit 0 ;;
+ exit ;;
i*86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
@@ -968,24 +1033,27 @@ EOF
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit 0 ;;
+ exit ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
echo ${UNAME_MACHINE}-pc-os2-emx
- exit 0 ;;
+ exit ;;
i*86:XTS-300:*:STOP)
echo ${UNAME_MACHINE}-unknown-stop
- exit 0 ;;
+ exit ;;
i*86:atheos:*:*)
echo ${UNAME_MACHINE}-unknown-atheos
- exit 0 ;;
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
i*86:*DOS:*:*)
echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit 0 ;;
+ exit ;;
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
@@ -993,15 +1061,16 @@ EOF
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
fi
- exit 0 ;;
- i*86:*:5:[78]*)
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
esac
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit 0 ;;
+ exit ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
@@ -1019,73 +1088,73 @@ EOF
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
- exit 0 ;;
+ exit ;;
pc:*:*:*)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386.
echo i386-pc-msdosdjgpp
- exit 0 ;;
+ exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
- exit 0 ;;
+ exit ;;
paragon:*:*:*)
echo i860-intel-osf1
- exit 0 ;;
+ exit ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
fi
- exit 0 ;;
+ exit ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
echo m68010-convergent-sysv
- exit 0 ;;
+ exit ;;
mc68k:UNIX:SYSTEM5:3.51m)
echo m68k-convergent-sysv
- exit 0 ;;
+ exit ;;
M680?0:D-NIX:5.3:*)
echo m68k-diab-dnix
- exit 0 ;;
- M68*:*:R3V[567]*:*)
- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
- 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0)
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4 && exit 0 ;;
+ && { echo i486-ncr-sysv4; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
- exit 0 ;;
+ exit ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
- exit 0 ;;
+ exit ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
- exit 0 ;;
+ exit ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
@@ -1093,64 +1162,81 @@ EOF
else
echo ns32k-sni-sysv
fi
- exit 0 ;;
+ exit ;;
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel@ccMail.Census.GOV>
echo i586-unisys-sysv4
- exit 0 ;;
+ exit ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes@openmarket.com>.
# How about differentiating between stratus architectures? -djm
echo hppa1.1-stratus-sysv4
- exit 0 ;;
+ exit ;;
*:*:*:FTX*)
# From seanf@swdc.stratus.com.
echo i860-stratus-sysv4
- exit 0 ;;
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
*:VOS:*:*)
# From Paul.Green@stratus.com.
echo hppa1.1-stratus-vos
- exit 0 ;;
+ exit ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
news*:NEWS-OS:6*:*)
echo mips-sony-newsos6
- exit 0 ;;
+ exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
- exit 0 ;;
+ exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
- exit 0 ;;
+ exit ;;
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
echo powerpc-apple-beos
- exit 0 ;;
+ exit ;;
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
echo i586-pc-beos
- exit 0 ;;
+ exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
SX-5:SUPER-UX:*:*)
echo sx5-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:Rhapsody:*:*)
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:Darwin:*:*)
- echo `uname -p`-apple-darwin${UNAME_RELEASE}
- exit 0 ;;
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
if test "$UNAME_PROCESSOR" = "x86"; then
@@ -1158,22 +1244,25 @@ EOF
UNAME_MACHINE=pc
fi
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:QNX:*:4*)
echo i386-pc-qnx
- exit 0 ;;
- NSR-[DGKLNPTVWXY]:NONSTOP_KERNEL:*:*)
+ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
- exit 0 ;;
+ exit ;;
BS2000:POSIX*:*:*)
echo bs2000-siemens-sysv
- exit 0 ;;
+ exit ;;
DS/*:UNIX_System_V:*:*)
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
@@ -1184,25 +1273,47 @@ EOF
UNAME_MACHINE="$cputype"
fi
echo ${UNAME_MACHINE}-unknown-plan9
- exit 0 ;;
+ exit ;;
*:TOPS-10:*:*)
echo pdp10-unknown-tops10
- exit 0 ;;
+ exit ;;
*:TENEX:*:*)
echo pdp10-unknown-tenex
- exit 0 ;;
+ exit ;;
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
echo pdp10-dec-tops20
- exit 0 ;;
+ exit ;;
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
echo pdp10-xkl-tops20
- exit 0 ;;
+ exit ;;
*:TOPS-20:*:*)
echo pdp10-unknown-tops20
- exit 0 ;;
+ exit ;;
*:ITS:*:*)
echo pdp10-unknown-its
- exit 0 ;;
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
@@ -1234,7 +1345,7 @@ main ()
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix"); exit (0);
+ printf ("arm-acorn-riscix\n"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
@@ -1323,12 +1434,12 @@ main ()
}
EOF
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
-rm -f $dummy.c $dummy && rmdir $tmpdir
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
# Apollos put the system type in the environment.
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
# Convex versions that predate uname can use getsysinfo(1)
@@ -1337,22 +1448,22 @@ then
case `getsysinfo -f cpu_type` in
c1*)
echo c1-convex-bsd
- exit 0 ;;
+ exit ;;
c2*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit 0 ;;
+ exit ;;
c34*)
echo c34-convex-bsd
- exit 0 ;;
+ exit ;;
c38*)
echo c38-convex-bsd
- exit 0 ;;
+ exit ;;
c4*)
echo c4-convex-bsd
- exit 0 ;;
+ exit ;;
esac
fi
@@ -1363,7 +1474,9 @@ This script, last modified $timestamp, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
- ftp://ftp.gnu.org/pub/gnu/config/
+ http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+and
+ http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
If the version you run ($0) is already up to date, please
send the following data and any information you think might be
diff --git a/support/config.sub b/support/config.sub
index aefb7e1..1761d8b 100755
--- a/support/config.sub
+++ b/support/config.sub
@@ -1,9 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002 Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+# Inc.
-timestamp='2002-11-30'
+timestamp='2007-06-28'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -21,14 +22,15 @@ timestamp='2002-11-30'
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
+
# Please send patches to <config-patches@gnu.org>. Submit a context
# diff and a properly formatted ChangeLog entry.
#
@@ -70,7 +72,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
@@ -83,11 +85,11 @@ Try \`$me --help' for more information."
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
+ echo "$timestamp" ; exit ;;
--version | -v )
- echo "$version" ; exit 0 ;;
+ echo "$version" ; exit ;;
--help | --h* | -h )
- echo "$usage"; exit 0 ;;
+ echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
@@ -99,7 +101,7 @@ while test $# -gt 0 ; do
*local*)
# First pass through any local machine types.
echo $1
- exit 0;;
+ exit ;;
* )
break ;;
@@ -118,7 +120,9 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@@ -144,7 +148,7 @@ case $os in
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis)
+ -apple | -axis | -knuth | -cray)
os=
basic_machine=$1
;;
@@ -169,6 +173,10 @@ case $os in
-hiux*)
os=-hiuxwe2
;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
-sco5)
os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -185,6 +193,10 @@ case $os in
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -228,14 +240,17 @@ case $basic_machine in
| a29k \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
- | clipper \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | bfin \
+ | c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
- | fr30 | frv \
+ | fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
- | ip2k \
- | m32r | m68000 | m68k | m88k | mcore \
+ | ip2k | iq2000 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
@@ -244,25 +259,33 @@ case $basic_machine in
| mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
+ | mt \
+ | msp430 \
+ | nios | nios2 \
| ns16k | ns32k \
- | openrisc | or32 \
+ | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
- | sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
- | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
- | strongarm \
- | tahoe | thumb | tic80 | tron \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu | strongarm \
+ | tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \
| we32k \
- | x86 | xscale | xstormy16 | xtensa \
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k)
basic_machine=$basic_machine-unknown
;;
@@ -273,11 +296,14 @@ case $basic_machine in
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
- i*86 | x86_64 | amd64)
+ i*86 | x86_64)
basic_machine=$basic_machine-pc
;;
# Object if more than one company name word.
@@ -291,22 +317,21 @@ case $basic_machine in
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
- | amd64-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* \
- | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \
- | clipper-* | cydra-* \
+ | avr-* | avr32-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
- | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* \
- | m32r-* \
+ | ip2k-* | iq2000-* \
+ | m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | mcore-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
@@ -315,26 +340,36 @@ case $basic_machine in
| mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipstx39 | mipstx39el \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
- | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
- | tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | tic80-* | tron-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tron-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
- | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
- | xtensa-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa-* \
| ymp-* \
| z8k-*)
;;
@@ -354,6 +389,9 @@ case $basic_machine in
basic_machine=a29k-amd
os=-udi
;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
adobe68k)
basic_machine=m68010-adobe
os=-scout
@@ -368,6 +406,12 @@ case $basic_machine in
basic_machine=a29k-none
os=-bsd
;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
amdahl)
basic_machine=580-amdahl
os=-sysv
@@ -427,12 +471,27 @@ case $basic_machine in
basic_machine=j90-cray
os=-unicos
;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
crds | unos)
basic_machine=m68k-crds
;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
cris | cris-* | etrax*)
basic_machine=cris-axis
;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
da30 | da30-*)
basic_machine=m68k-da30
;;
@@ -455,6 +514,10 @@ case $basic_machine in
basic_machine=m88k-motorola
os=-sysv3
;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
@@ -620,6 +683,10 @@ case $basic_machine in
basic_machine=i386-pc
os=-mingw32
;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
miniframe)
basic_machine=m68000-convergent
;;
@@ -633,10 +700,6 @@ case $basic_machine in
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
- mmix*)
- basic_machine=mmix-knuth
- os=-mmixware
- ;;
monitor)
basic_machine=m68k-rom68k
os=-coff
@@ -649,6 +712,9 @@ case $basic_machine in
basic_machine=i386-pc
os=-msdos
;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
mvs)
basic_machine=i370-ibm
os=-mvs
@@ -724,9 +790,12 @@ case $basic_machine in
basic_machine=hppa1.1-oki
os=-proelf
;;
- or32 | or32-*)
+ openrisc | openrisc-*)
basic_machine=or32-unknown
- os=-coff
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
@@ -753,24 +822,36 @@ case $basic_machine in
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
pentiumpro | p6 | 6x86 | athlon | athlon_*)
basic_machine=i686-pc
;;
- pentiumii | pentium2)
+ pentiumii | pentium2 | pentiumiii | pentium3)
basic_machine=i686-pc
;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-* | 6x86-* | athlon-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- pentiumii-* | pentium2-*)
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
pn)
basic_machine=pn-gould
;;
@@ -803,6 +884,10 @@ case $basic_machine in
basic_machine=i586-unknown
os=-pw32
;;
+ rdos)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
@@ -829,6 +914,14 @@ case $basic_machine in
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
sequent)
basic_machine=i386-sequent
;;
@@ -836,6 +929,12 @@ case $basic_machine in
basic_machine=sh-hitachi
os=-hms
;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
sparclite-wrs | simso-wrs)
basic_machine=sparclite-wrs
os=-vxworks
@@ -902,10 +1001,6 @@ case $basic_machine in
basic_machine=i386-sequent
os=-dynix
;;
- t3d)
- basic_machine=alpha-cray
- os=-unicos
- ;;
t3e)
basic_machine=alphaev5-cray
os=-unicos
@@ -914,14 +1009,18 @@ case $basic_machine in
basic_machine=t90-cray
os=-unicos
;;
- tic4x | c4x*)
- basic_machine=tic4x-unknown
- os=-coff
- ;;
tic54x | c54x*)
basic_machine=tic54x-unknown
os=-coff
;;
+ tic55x | c55x*)
+ basic_machine=tic55x-unknown
+ os=-coff
+ ;;
+ tic6x | c6x*)
+ basic_machine=tic6x-unknown
+ os=-coff
+ ;;
tx39)
basic_machine=mipstx39-unknown
;;
@@ -935,6 +1034,10 @@ case $basic_machine in
tower | tower-32)
basic_machine=m68k-ncr
;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
udi29k)
basic_machine=a29k-amd
os=-udi
@@ -978,6 +1081,10 @@ case $basic_machine in
basic_machine=hppa1.1-winbond
os=-proelf
;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
xps | xps100)
basic_machine=xps100-honeywell
;;
@@ -1008,6 +1115,9 @@ case $basic_machine in
romp)
basic_machine=romp-ibm
;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
rs6000)
basic_machine=rs6000-ibm
;;
@@ -1024,13 +1134,10 @@ case $basic_machine in
we32k)
basic_machine=we32k-att
;;
- sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele)
+ sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparc | sparcv9 | sparcv9b)
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
basic_machine=sparc-sun
;;
cydra)
@@ -1103,19 +1210,23 @@ case $os in
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix*)
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1133,12 +1244,15 @@ case $os in
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
@@ -1151,6 +1265,9 @@ case $os in
-opened*)
os=-openedition
;;
+ -os400*)
+ os=-os400
+ ;;
-wince*)
os=-wince
;;
@@ -1172,6 +1289,9 @@ case $os in
-atheos*)
os=-atheos
;;
+ -syllable*)
+ os=-syllable
+ ;;
-386bsd)
os=-bsd
;;
@@ -1194,6 +1314,9 @@ case $os in
-sinix*)
os=-sysv4
;;
+ -tpf*)
+ os=-tpf
+ ;;
-triton*)
os=-sysv3
;;
@@ -1224,6 +1347,15 @@ case $os in
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
os=-mint
;;
+ -aros*)
+ os=-aros
+ ;;
+ -kaos*)
+ os=-kaos
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
-none)
;;
*)
@@ -1246,6 +1378,12 @@ else
# system, and we'll never get to this point.
case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
*-acorn)
os=-riscix1.2
;;
@@ -1255,6 +1393,9 @@ case $basic_machine in
arm*-semi)
os=-aout
;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
# This must come before the *-dec entry.
pdp10-*)
os=-tops20
@@ -1280,6 +1421,9 @@ case $basic_machine in
m68*-cisco)
os=-aout
;;
+ mep-*)
+ os=-elf
+ ;;
mips*-cisco)
os=-elf
;;
@@ -1298,9 +1442,15 @@ case $basic_machine in
*-be)
os=-beos
;;
+ *-haiku)
+ os=-haiku
+ ;;
*-ibm)
os=-aix
;;
+ *-knuth)
+ os=-mmixware
+ ;;
*-wec)
os=-proelf
;;
@@ -1433,9 +1583,15 @@ case $basic_machine in
-mvs* | -opened*)
vendor=ibm
;;
+ -os400*)
+ vendor=ibm
+ ;;
-ptx*)
vendor=sequent
;;
+ -tpf*)
+ vendor=ibm
+ ;;
-vxsim* | -vxworks* | -windiss*)
vendor=wrs
;;
@@ -1460,7 +1616,7 @@ case $basic_machine in
esac
echo $basic_machine$os
-exit 0
+exit
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
diff --git a/variables.c b/variables.c
index 62e2604..7772012 100644
--- a/variables.c
+++ b/variables.c
@@ -860,9 +860,11 @@ sh_set_lines_and_columns (lines, cols)
{
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));
bind_variable ("LINES", v, 0);