From: Chet Ramey Date: Wed, 7 Dec 2011 14:28:47 +0000 (-0500) Subject: commit bash-20080911 snapshot X-Git-Tag: bash-4.3-alpha~267 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=14e8b2a7dfd6d47709dc9fd5dda43d9b965b8ebc;p=thirdparty%2Fbash.git commit bash-20080911 snapshot --- diff --git a/CWRU/CWRU.chlog b/CWRU/CWRU.chlog index cf391e277..efc4df7af 100644 --- a/CWRU/CWRU.chlog +++ b/CWRU/CWRU.chlog @@ -6878,3 +6878,27 @@ general.c - fix call to strtoimax in legal_number; if ep == string when function returns, the number was not converted, even if errno is not set. Fix from Paul Jarc + + 9/11 + ---- +[prayers for the victims of 9/11/2001] + +builtins/return.def + - call no_options, as Posix requires. This also has the effect of + disallowing negative return values unless they're prefixed by `--' + + 9/12 + ---- + + + 9/13 + ---- +builtins/bind.def + - add an error message when bind is used without line editing active, + instead of just returning an error status + +variables.c + - make sure make_local_variable never creates visible variables with + a value, whether or not a variable with the same name existed in a + previous context. This is consistent with ksh93. Fix from + diff --git a/CWRU/CWRU.chlog~ b/CWRU/CWRU.chlog~ index 5859bb940..112cf964d 100644 --- a/CWRU/CWRU.chlog~ +++ b/CWRU/CWRU.chlog~ @@ -6873,3 +6873,26 @@ builtins/common.h trap.c - include jobs.h for extern declaration for run_sigchld_trap + +general.c + - fix call to strtoimax in legal_number; if ep == string when function + returns, the number was not converted, even if errno is not set. + Fix from Paul Jarc + + 9/11 + ---- +[prayers for the victims of 9/11/2001] + +builtins/return.def + - call no_options, as Posix requires. This also has the effect of + disallowing negative return values unless they're prefixed by `--' + + 9/12 + ---- + + + 9/13 + ---- +builtins/bind.def + - add an error message when bind is used without line editing active, + instead of just returning an error status diff --git a/README b/README index 3abd64287..2d43cea62 100644 --- a/README +++ b/README @@ -21,7 +21,8 @@ lists features that are new in this release. Bash is free software, distributed under the terms of the [GNU] General Public License as published by the Free Software Foundation, -version 3 of the License. For more information, see the file COPYING. +version 3 of the License (or any later version). For more information, +see the file COPYING. A number of frequently-asked questions are answered in the file `doc/FAQ'. diff --git a/README~ b/README~ index 4a4f27048..3abd64287 100644 --- a/README~ +++ b/README~ @@ -1,7 +1,7 @@ Introduction ============ -This is GNU Bash, version 3.2. Bash is the GNU Project's Bourne +This is GNU Bash, version 4.0. Bash is the GNU Project's Bourne Again SHell, a complete implementation of the POSIX.2 shell spec, but also with interactive command line editing, job control on architectures that support it, csh-like features such as history @@ -15,13 +15,13 @@ See the file POSIX for a discussion of how the Bash defaults differ from the POSIX.2 spec and a description of the Bash `posix mode'. There are some user-visible incompatibilities between this version -of Bash and previous widely-distributed versions, bash-1.14 and -bash-2.05b. For details, see the file COMPAT. The NEWS file tersely +of Bash and previous widely-distributed versions, bash-2.05b and +bash-3.2. For details, see the file COMPAT. The NEWS file tersely lists features that are new in this release. -Bash is free software, distributed under the terms of the [GNU] -General Public License, version 2. For more information, see the -file COPYING. +Bash is free software, distributed under the terms of the [GNU] General +Public License as published by the Free Software Foundation, +version 3 of the License. For more information, see the file COPYING. A number of frequently-asked questions are answered in the file `doc/FAQ'. diff --git a/builtins/bind.def b/builtins/bind.def index e1040cd8a..8909b4400 100644 --- a/builtins/bind.def +++ b/builtins/bind.def @@ -115,7 +115,10 @@ bind_builtin (list) char *initfile, *map_name, *fun_name, *unbind_name, *remove_seq, *cmd_seq; if (no_line_editing) - return (EXECUTION_FAILURE); + { + builtin_error ("line editing not enabled"); + return (EXECUTION_FAILURE); + } kmap = saved_keymap = (Keymap) NULL; flags = 0; diff --git a/builtins/bind.def~ b/builtins/bind.def~ index 485f216cf..e1040cd8a 100644 --- a/builtins/bind.def~ +++ b/builtins/bind.def~ @@ -5,19 +5,18 @@ Copyright (C) 1987-2008 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. -Bash is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later -version. +Bash is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -Bash is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. +Bash is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. -You should have received a copy of the GNU General Public License along -with Bash; see the file COPYING. If not, write to the Free Software -Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. +You should have received a copy of the GNU General Public License +along with Bash. If not, see . $PRODUCES bind.c @@ -55,6 +54,9 @@ Options: -f filename Read key bindings from FILENAME. -x keyseq:shell-command Cause SHELL-COMMAND to be executed when KEYSEQ is entered. + +Exit Status: +bind returns 0 unless an unrecognized option is given or an error occurs. $END #if defined (READLINE) diff --git a/builtins/return.def b/builtins/return.def index de4e36515..03b7fbda9 100644 --- a/builtins/return.def +++ b/builtins/return.def @@ -47,6 +47,7 @@ $END #include "../shell.h" #include "common.h" +#include "bashgetopt.h" extern int last_command_exit_value; extern int subshell_environment; @@ -59,6 +60,10 @@ int return_builtin (list) WORD_LIST *list; { + if (no_options (list)) + return (EX_USAGE); + list = loptend; /* skip over possible `--' */ + return_catch_value = get_exitstat (list); if (return_catch_flag) diff --git a/doc/bash.1 b/doc/bash.1 index a63922f3e..001443ae4 100644 --- a/doc/bash.1 +++ b/doc/bash.1 @@ -5,12 +5,12 @@ .\" Case Western Reserve University .\" chet@po.cwru.edu .\" -.\" Last Change: Sat Sep 6 13:05:54 EDT 2008 +.\" Last Change: Sat Sep 13 18:27:41 EDT 2008 .\" .\" bash_builtins, strip all but Built-Ins section .if \n(zZ=1 .ig zZ .if \n(zY=1 .ig zY -.TH BASH 1 "2008 September 6" "GNU Bash-4.0" +.TH BASH 1 "2008 September 13" "GNU Bash-4.0" .\" .\" There's some problem with having a `@' .\" in a tagged paragraph with the BSD man macros. @@ -4535,18 +4535,27 @@ This is the library that handles reading input when using an interactive shell, unless the .B \-\-noediting option is given at shell invocation. +Line editing is also used when using the \fB\-e\fP option to the +\fBread\fP builtin. By default, the line editing commands are similar to those of emacs. A vi-style line editing interface is also available. -To turn off line editing after the shell is running, use the -.B +o emacs +Line editing can be enabled at any time using the +.B \-o emacs or -.B +o vi +.B \-o vi options to the .B set builtin (see .SM .B SHELL BUILTIN COMMANDS below). +To turn off line editing after the shell is running, use the +.B +o emacs +or +.B +o vi +options to the +.B set +builtin. .SS "Readline Notation" .PP In this section, the emacs-style notation is used to denote @@ -7842,6 +7851,8 @@ is coming from a terminal, .SM .B READLINE above) is used to obtain the line. +Readline uses the current (or default, if line editing was not previously +active) editing settings. .TP .B \-i \fItext\fP If diff --git a/doc/bash.1~ b/doc/bash.1~ index 5b98ed966..a63922f3e 100644 --- a/doc/bash.1~ +++ b/doc/bash.1~ @@ -5,12 +5,12 @@ .\" Case Western Reserve University .\" chet@po.cwru.edu .\" -.\" Last Change: Fri Aug 22 12:45:34 EDT 2008 +.\" Last Change: Sat Sep 6 13:05:54 EDT 2008 .\" .\" bash_builtins, strip all but Built-Ins section .if \n(zZ=1 .ig zZ .if \n(zY=1 .ig zY -.TH BASH 1 "2008 August 22" "GNU Bash-4.0" +.TH BASH 1 "2008 September 6" "GNU Bash-4.0" .\" .\" There's some problem with having a `@' .\" in a tagged paragraph with the BSD man macros. @@ -7876,6 +7876,8 @@ the decimal point. This option is only effective if \fBread\fP is reading input from a terminal, pipe, or other special file; it has no effect when reading from regular files. +If \fItimeout\fP is 0, \fBread\fP returns success if input is available on +the specified file descriptor, failure otherwise. The exit status is greater than 128 if the timeout is exceeded. .TP .B \-u \fIfd\fP diff --git a/doc/bashref.texi b/doc/bashref.texi index 4817e6f45..ea874d257 100644 --- a/doc/bashref.texi +++ b/doc/bashref.texi @@ -3716,6 +3716,8 @@ rather than newline. @item -e Readline (@pxref{Command Line Editing}) is used to obtain the line. +Readline uses the current (or default, if line editing was not previously +active) editing settings. @item -i @var{text} If Readline is being used to read the line, @var{text} is placed into diff --git a/doc/bashref.texi~ b/doc/bashref.texi~ index d5d46d7ca..4817e6f45 100644 --- a/doc/bashref.texi~ +++ b/doc/bashref.texi~ @@ -3748,6 +3748,8 @@ the decimal point. This option is only effective if @code{read} is reading input from a terminal, pipe, or other special file; it has no effect when reading from regular files. +If @var{timeout} is 0, @code{read} returns success if input is available on +the specified file descriptor, failure otherwise. The exit status is greater than 128 if the timeout is exceeded. @item -u @var{fd} diff --git a/doc/version.texi b/doc/version.texi index e755d9124..376aaca3d 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -2,9 +2,9 @@ Copyright (C) 1988-2008 Free Software Foundation, Inc. @end ignore -@set LASTCHANGE Sat Sep 6 13:05:30 EDT 2008 +@set LASTCHANGE Sat Sep 13 18:27:23 EDT 2008 @set EDITION 4.0 @set VERSION 4.0 -@set UPDATED 6 September 2008 +@set UPDATED 13 September 2008 @set UPDATED-MONTH September 2008 diff --git a/doc/version.texi~ b/doc/version.texi~ index 3e419be4a..e755d9124 100644 --- a/doc/version.texi~ +++ b/doc/version.texi~ @@ -2,9 +2,9 @@ Copyright (C) 1988-2008 Free Software Foundation, Inc. @end ignore -@set LASTCHANGE Fri Aug 22 12:46:16 EDT 2008 +@set LASTCHANGE Sat Sep 6 13:05:30 EDT 2008 @set EDITION 4.0 @set VERSION 4.0 -@set UPDATED 22 August 2008 -@set UPDATED-MONTH August 2008 +@set UPDATED 6 September 2008 +@set UPDATED-MONTH September 2008 diff --git a/lib/readline/doc/rluser.texi b/lib/readline/doc/rluser.texi index 81a92ebc3..afaaab455 100644 --- a/lib/readline/doc/rluser.texi +++ b/lib/readline/doc/rluser.texi @@ -47,6 +47,16 @@ command line editing interface. @ifset BashFeatures Command line editing is provided by the Readline library, which is used by several different programs, including Bash. +Command line editing is enabled by default when using an interactive shell, +unless the @option{--noediting} option is supplied at shell invocation. +Line editing is also used when using the @option{-e} option to the +@code{read} builtin command (@pxref{Bash Builtins}). +By default, the line editing commands are similar to those of emacs. +A vi-style line editing interface is also available. +Line editing can be enabled at any time using the @option{-o emacs} or +@option{-o vi} options to the @code{set} builtin command +(@pxref{The Set Builtin}), or disabled using the @option{+o emacs} or +@option{+o vi} options to @code{set}. @end ifset @menu diff --git a/lib/readline/doc/rluser.texi~ b/lib/readline/doc/rluser.texi~ index f096775c2..e5fe03b08 100644 --- a/lib/readline/doc/rluser.texi~ +++ b/lib/readline/doc/rluser.texi~ @@ -47,6 +47,12 @@ command line editing interface. @ifset BashFeatures Command line editing is provided by the Readline library, which is used by several different programs, including Bash. +Command line editing is enabled by default when using an interactive shell, +unless the @option{--noediting} option is supplied at shell invocation. +Line editing is also used when using the @option{-e} option to the +@code{read} builtin command (@pxref{Bash Builtins}). +By default, the line editing commands are similar to those of emacs. +A vi-style line editing interface is also available. @end ifset @menu @@ -1316,6 +1322,11 @@ Attempt completion on the text before point, comparing the text against lines from the history list for possible completion matches. +@item dabbrev-expand () +Attempt menu completion on the text before point, comparing +the text against lines from the history list for possible +completion matches. + @item complete-into-braces (M-@{) Perform filename completion and insert the list of possible completions enclosed within braces so the list is available to the shell diff --git a/po/de.po b/po/de.po index 3e6ccfc0d..76287048a 100644 --- a/po/de.po +++ b/po/de.po @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: bash 4.0-pre1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-08-25 11:13-0400\n" -"PO-Revision-Date: 2008-09-07 11:46+0200\n" +"PO-Revision-Date: 2008-09-10 22:16+0200\n" "Last-Translator: Nils Naumann \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -78,9 +78,9 @@ msgid "`%s': cannot unbind" msgstr "%s: Kommando nicht gefunden." #: builtins/bind.def:288 builtins/bind.def:318 -#, fuzzy, c-format +#, c-format msgid "`%s': unknown function name" -msgstr "%s: Schreibgeschützte Funktion." +msgstr "%s: Unbekannter Funktionsname." #: builtins/bind.def:296 #, c-format @@ -223,9 +223,9 @@ msgid "%s: not a shell builtin" msgstr "" #: builtins/common.c:292 -#, fuzzy, c-format +#, c-format msgid "write error: %s" -msgstr "Pipe-Fehler: %s." +msgstr "Schreibfehler: %s." #: builtins/common.c:523 #, c-format @@ -254,7 +254,7 @@ msgstr "Warnung: Die -F Option k #: builtins/complete.def:669 msgid "warning: -C option may not work as you expect" -msgstr "" +msgstr "Warnung: Die -C Option könnte unerwartete Ergebnisse liefern." #: builtins/complete.def:786 msgid "not currently executing completion function" @@ -395,9 +395,9 @@ msgid "%s: hash table empty\n" msgstr "" #: builtins/hash.def:244 -#, fuzzy, c-format +#, c-format msgid "hits\tcommand\n" -msgstr "`r', das zuletzt eingegebene Kommando wiederholt." +msgstr "" #: builtins/help.def:130 #, c-format @@ -427,6 +427,14 @@ msgid "" "A star (*) next to a name means that the command is disabled.\n" "\n" msgstr "" +"Die Shell Kommandos sind intern definiert. Mit `help' kann eine Liste\n" +"angesehen werden. Durch `help Name' wird eine Beschreibung der\n" +"Funktion `Name' angezeigt. Die Dokumentation ist mit `info bash'\n" +"einsehbar. Detaillierte Beschreibungen der Shellkommandos sind mit\n" +"`man -k' oder `info' abrufbar.\n" +"\n" +"Ein Stern (*) neben dem Namen kennzeichnet deaktivierte Kommandos.\n" +"\n" #: builtins/history.def:154 msgid "cannot use more than one of -anrw" @@ -437,14 +445,14 @@ msgid "history position" msgstr "" #: builtins/history.def:366 -#, fuzzy, c-format +#, c-format msgid "%s: history expansion failed" -msgstr "%s: Ganzzahliger Ausdruck erwartet." +msgstr "" #: builtins/inlib.def:71 -#, fuzzy, c-format +#, c-format msgid "%s: inlib failed" -msgstr "%s ist nicht gesetzt." +msgstr "" #: builtins/jobs.def:109 msgid "no other options allowed with `-x'" @@ -479,9 +487,9 @@ msgid "%s: invalid line count" msgstr "" #: builtins/mapfile.def:243 -#, fuzzy, c-format +#, c-format msgid "%s: invalid array origin" -msgstr "%s: Falscher Feldvariablenindex." +msgstr "" #: builtins/mapfile.def:260 #, c-format @@ -577,6 +585,27 @@ msgid "" " \n" " The `dirs' builtin displays the directory stack." msgstr "" +"Legt ein Verzeichniseintrag auf den Verzeichnisstapel ab oder rotiert\n" +"den Stapel so, dass das aktuelle Verzeichnis oben liegt. Ohne Argumente\n" +"werden die beiden oberen Einträge vertauscht.\n" +"\n" +" Optionen: \n" +" -n\tVermeidet das Wechseln des Verzeichnisses, so dass\n" +"\tnur der Verzeichnisstapel geändert wird.\n" +"\n" +" Argumente:\n" +" +N\tRotiert den Verzeichnisstapel, dass das N-te Verzeichnis\n" +"\tvon links, das von `dirs' angezeigt wird, nach oben kommt. Die Zählung\n" +"\tbeginnt dabei mit Null.\n" +"\n" +" -N\tRotiert den Verzeichnisstapel, dass das N-te Verzeichnis\n" +"\tvon rechts, das von `dirs' angezeigt wird, nach oben kommt. Die \n" +"\tZählung beginnt dabei mit Null.\n" +"\n" +" dir\tLegt DIR auf den Verzeichnisstapel und wechselt in dieses\n" +" Verzeichnis.\n" +" \n" +" Das `dirs' Kommando zeigt den Verueichnisstapel an." #: builtins/pushd.def:730 msgid "" @@ -598,6 +627,26 @@ msgid "" " \n" " The `dirs' builtin displays the directory stack." msgstr "" +"Erntfernt Einträge vom Stapel. Ohne Argumente wird der oberste Eintrag\n" +" gelöscht und anschließend in das das neue oben liegede Verzeichnis\n" +" gewechselt.\n" +" \n" +" Optionen:\n" +" -n\tVermeidet das Wechseln des Verzeichnisses, so dass\n" +"\tnur der Verzeichnisstapel geändert wird.\n" +" \n" +" Argumente:\n" +" +N\tEntfernt den N-ten Eintrag von links, der von `dirs'\n" +"\tangezeigt wird. Dabei beginnt die Zählung von Null. So\n" +"\tentfernt z.B. `popd +0' den ersten und `popd +1' den zweiten\n" +"\tEintrag.\n" +" \n" +" -N\tEntfernt den N-ten Eintrag von rechts, der von `dirs'\n" +"\tangezeigt wird. Dabei beginnt die Zählung von Null. So\n" +"\tentfernt z.B. `popd -0' den letzten und `popd +1' den vorletzten\n" +"\tEintrag.\n" +" \n" +" Das `dirs' Kommando zeigt den Verzeichnisstapel an." #: builtins/read.def:247 #, c-format @@ -605,43 +654,41 @@ msgid "%s: invalid timeout specification" msgstr "" #: builtins/read.def:569 -#, fuzzy, c-format +#, c-format msgid "read error: %d: %s" -msgstr "Pipe-Fehler: %s." +msgstr "Lesefehler: %d: %s" #: builtins/return.def:68 msgid "can only `return' from a function or sourced script" msgstr "" #: builtins/set.def:768 -#, fuzzy msgid "cannot simultaneously unset a function and a variable" -msgstr "nur innerhalb einer Funktion benutzt werden. Die erzeugte Variable Name ist" +msgstr "" #: builtins/set.def:805 -#, fuzzy, c-format +#, c-format msgid "%s: cannot unset" -msgstr "%s: Kann die Datei %s nicht erzeugen." +msgstr "" #: builtins/set.def:812 -#, fuzzy, c-format +#, c-format msgid "%s: cannot unset: readonly %s" -msgstr "%s: Kann die Datei %s nicht erzeugen." +msgstr "" #: builtins/set.def:823 -#, fuzzy, c-format +#, c-format msgid "%s: not an array variable" -msgstr "%s ist nicht gesetzt." +msgstr "" #: builtins/setattr.def:186 -#, fuzzy, c-format +#, c-format msgid "%s: not a function" -msgstr "%s: Schreibgeschützte Funktion." +msgstr "" #: builtins/shift.def:71 builtins/shift.def:77 -#, fuzzy msgid "shift count" -msgstr "shift [n]" +msgstr "" #: builtins/shopt.def:250 msgid "cannot set and unset shell options simultaneously" @@ -657,9 +704,9 @@ msgid "filename argument required" msgstr "" #: builtins/source.def:153 -#, fuzzy, c-format +#, c-format msgid "%s: file not found" -msgstr "%s: Kommando nicht gefunden." +msgstr "%s: Datei nicht gefunden." #: builtins/suspend.def:101 msgid "cannot suspend" @@ -800,9 +847,8 @@ msgid "TIMEFORMAT: `%c': invalid format character" msgstr "" #: execute_cmd.c:1930 -#, fuzzy msgid "pipe error" -msgstr "Pipe-Fehler: %s." +msgstr "Pipe-Fehler" #: execute_cmd.c:4243 #, c-format @@ -894,7 +940,6 @@ msgid "%s: expression error\n" msgstr "Umlenkfehler" #: general.c:61 -#, fuzzy msgid "getcwd: cannot access parent directories" msgstr "getwd: Kann nicht auf das übergeordnete Verzeichnis zugreifen." @@ -916,7 +961,7 @@ msgstr "check_bash_input: buffer already exists for new fd %d" #: jobs.c:464 msgid "start_pipeline: pgrp pipe" -msgstr "" +msgstr "start_pipeline: pgrp pipe" #: jobs.c:879 #, c-format @@ -1062,9 +1107,9 @@ msgid "no job control in this shell" msgstr "Keine Job Steuerung in dieser Shell." #: lib/malloc/malloc.c:296 -#, c-format +#, fuzzy, c-format msgid "malloc: failed assertion: %s\n" -msgstr "" +msgstr "malloc: Fehler bei Speicherzuweisung: %s\n" #: lib/malloc/malloc.c:312 #, c-format @@ -1349,11 +1394,11 @@ msgstr "Umlenkfehler" #: shell.c:328 msgid "could not find /tmp, please create!" -msgstr "" +msgstr "Konnte das /tmp Verzeichnis nicht finden, bitte anlegen." #: shell.c:332 msgid "/tmp must be a valid directory name" -msgstr "" +msgstr "/tmp muß ein gültiger Verzeichnisname sein." #: shell.c:876 #, fuzzy, c-format @@ -1362,7 +1407,7 @@ msgstr "%c%c: Falsche Option" #: shell.c:1637 msgid "I have no name!" -msgstr "Ich habe keinen Namen!" +msgstr "Ich habe keinen Benutzernamen!" #: shell.c:1777 #, c-format @@ -1410,12 +1455,12 @@ msgstr "`%s -c help' f #: shell.c:1808 #, c-format msgid "Use the `bashbug' command to report bugs.\n" -msgstr "" +msgstr "Mit dem `bashbug' Kommando können Fehler gemeldet werden.\n" #: sig.c:576 #, c-format msgid "sigprocmask: %d: invalid operation" -msgstr "" +msgstr "sigprocmask: %d: Ungültige Operation" #: siglist.c:47 msgid "Bogus signal" @@ -2093,13 +2138,12 @@ msgid "(( expression ))" msgstr "(( Ausdruck ))" #: builtins.c:206 -#, fuzzy msgid "[[ expression ]]" msgstr "[[ Ausdruck ]]" #: builtins.c:208 msgid "variables - Names and meanings of some shell variables" -msgstr "" +msgstr "variables - Namen und Bedeutung einiger Shell Variablen" #: builtins.c:211 msgid "pushd [-n] [+N | -N | dir]" @@ -2123,11 +2167,11 @@ msgstr "printf [-v var] Format [Argumente]" #: builtins.c:227 msgid "complete [-abcdefgjksuv] [-pr] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]" -msgstr "" +msgstr "complete [-abcdefgjksuv] [-pr] [-o Option] [-A Aktion] [-G Suchmuster] [-W Wortliste] [-F Funktion] [-C Kommando] [-X Filtermuster] [-P Prefix] [-S Suffix] [Name ...]" #: builtins.c:231 msgid "compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]" -msgstr "" +msgstr "compgen [-abcdefgjksuv] [-o Option] [-A Aktion] [-G Suchmuster] [-W Wortliste] [-F Funktion] [-C Kommando] [-X Filtermuster] [-P Prefix] [-S Suffix] [Wort]" #: builtins.c:235 msgid "compopt [-o|+o option] [name ...]" @@ -2138,6 +2182,7 @@ msgid "mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c msgstr "" #: builtins.c:250 +#, fuzzy msgid "" "Define or display aliases.\n" " \n" @@ -2155,6 +2200,22 @@ msgid "" " alias returns true unless a NAME is supplied for which no alias has been\n" " defined." msgstr "" +"Definiert Aliase oder zeigt sie an.\n" +" \n" +" Ohne Argumente wird die Liste der Aliase (Synonyme) in der Form \n" +" `alias Name=Wert' auf die Standardausgabe gedruckt.\n" +"\n" +" Sonst wird ein Alias für jeden angegebenen Namen definiert, für den ein\n" +" Wert angegeben wurde. \n" +" A trailing space in VALUE causes the next word to be checked for\n" +" alias substitution when the alias is expanded.\n" +" \n" +" Options:\n" +" -p\tPrint all defined aliases in a reusable format\n" +" \n" +" Exit Status:\n" +" alias returns true unless a NAME is supplied for which no alias has been\n" +" defined." #: builtins.c:272 msgid "" @@ -2165,6 +2226,12 @@ msgid "" " \n" " Return success unless a NAME is not an existing alias." msgstr "" +"Entferne jeden Namen von der Aliasliste.\n" +" \n" +" Optionen:\n" +" -a\tEnferne alle Alias Definitionen.\n" +" \n" +" Gibt immer Erfolg zurück, wenn der Name existiert." #: builtins.c:285 msgid "" @@ -2211,6 +2278,13 @@ msgid "" " Exit Status:\n" " The exit status is 0 unless N is not greater than or equal to 1." msgstr "" +"Beendet for, while oder until Schleifen.\n" +" \n" +" Break beendet eine FOR, WHILE oder UNTIL Schleife. Wenn N angegeben ist, werden N geschachtelte\n" +" Schleifen beendet.\n" +" \n" +" Rückgabewert:\n" +" Der Rückgabewert ist 0, es sei den N ist größer oder gleich 1." #: builtins.c:334 msgid "" @@ -2222,6 +2296,14 @@ msgid "" " Exit Status:\n" " The exit status is 0 unless N is not greater than or equal to 1." msgstr "" +"Springt zum Schleifenanfang von for, while, oder until Schleifen.\n" +" \n" +" Continoue springt zum Schleifenanfang der aktuellen FOR, WHILE oder UNTIL \n" +" Schleife. Wenn N angegeben ist, werden N wird zum Beginn der N-ten\n" +" übergeordneten Schleife gesprungen.\n" +" \n" +" Rückgabewert:\n" +" Der Rückgabewert ist 0, außer wenn N größer oder gleich 1 ist." #: builtins.c:346 msgid "" @@ -2294,10 +2376,22 @@ msgid "" " Returns 0 unless an invalid option is given or the current directory\n" " cannot be read." msgstr "" +"Gibt den Namen des aktuellen Arbeitsverzeichnis aus.\n" +" \n" +" Optionen:\n" +" -L\tGibt den Wert der $PWD Umgebungsvariable aus, wenn diese\n" +"\tauf das aktuelle Arbeitsverzeichnis verweist.\n" +"\n" +" -P\tGibt den wirklichen Verzeichnisnahen aus, ohne symbolische Verweise.\n" +" \n" +" Standardmäßig wird die -L Option verwendet.\n" +" \n" +" Rückgabewert:\n" +" Der Rückgabewert ist 0, außer wenn eine ungültige Option angegeben oder das aktuelle\n" +" Verzeichnis nicht gelesen werden kann." # colon #: builtins.c:424 -#, fuzzy msgid "" "Null command.\n" " \n" @@ -2305,7 +2399,13 @@ msgid "" " \n" " Exit Status:\n" " Always succeeds." -msgstr "Leeranweisung; das Kommando hat keine Wirkung. Es wird Null zurückgegeben." +msgstr "" +"Leeranweisung.\n" +"\n" +" Leeranweisung; das Kommando hat keine Wirkung.\n" +"\n" +" Rückgabewert:\n" +" Das Kommando ist immer erfolgreich." #: builtins.c:435 msgid "" @@ -2557,13 +2657,16 @@ msgstr "" # exit #: builtins.c:685 -#, fuzzy msgid "" "Exit the shell.\n" " \n" " Exits the shell with a status of N. If N is omitted, the exit status\n" " is that of the last command executed." -msgstr "Verläßt die Shell mit dem Status N. Wenn N nicht angegeben ist, dann wird" +msgstr "" +"Beendet die aktuelle Shell.\n" +"\n" +" Beendt die die aktuelle Shell mit dem Rückgabewert N. Wenn N nicht angegeben ist,\n" +" wird der Rückgabewert des letzten ausgeführten Kommandos übernommen." #: builtins.c:694 msgid "" diff --git a/support/shobj-conf b/support/shobj-conf index 46fa12f99..a7f6f3fa2 100755 --- a/support/shobj-conf +++ b/support/shobj-conf @@ -146,7 +146,7 @@ freebsd[3-9]*|freebsdelf[3-9]*|freebsdaout[3-9]*|dragonfly*) ;; # Darwin/MacOS X -darwin[89]*) +darwin[89]*|darwin10*) SHOBJ_STATUS=supported SHLIB_STATUS=supported @@ -175,7 +175,7 @@ darwin*|macosx*) SHLIB_LIBSUFF='dylib' case "${host_os}" in - darwin[789]*) SHOBJ_LDFLAGS='' + darwin[789]*|darwin10*) SHOBJ_LDFLAGS='' SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' ;; *) SHOBJ_LDFLAGS='-dynamic' diff --git a/support/shobj-conf~ b/support/shobj-conf~ index 0828a2fca..6a6aae949 100755 --- a/support/shobj-conf~ +++ b/support/shobj-conf~ @@ -10,21 +10,23 @@ # Chet Ramey # chet@po.cwru.edu -# Copyright (C) 1996-2007 Free Software Foundation, Inc. +# Copyright (C) 1996-2008 Free Software Foundation, Inc. # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +# This file is part of GNU Bash, the Bourne Again SHell. # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . # -# 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 USA. # # defaults @@ -173,7 +175,7 @@ darwin*|macosx*) SHLIB_LIBSUFF='dylib' case "${host_os}" in - darwin[789]*) SHOBJ_LDFLAGS='' + darwin[789]*|darwin10*) SHOBJ_LDFLAGS='' SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' ;; *) SHOBJ_LDFLAGS='-dynamic' @@ -491,20 +493,37 @@ msdos*) cygwin*) SHOBJ_LD='$(CC)' - SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a' - SHLIB_LIBPREF='cyg' - SHLIB_LIBSUFF='dll' - SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)' - SHLIB_LIBS='$(TERMCAP_LIB)' + SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a' + SHLIB_LIBPREF='cyg' + SHLIB_LIBSUFF='dll' + SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)' + SHLIB_LIBS='$(TERMCAP_LIB)' + + SHLIB_DOT= + # For official cygwin releases, DLLVERSION will be defined in the + # environment of configure, and will be incremented any time the API + # changes in a non-backwards compatible manner. Otherwise, it is just + # SHLIB_MAJOR. + if [ -n "$DLLVERSION" ] ; then + SHLIB_DLLVERSION="$DLLVERSION" + fi + ;; + +mingw*) + SHOBJ_LD='$(CC)' + SHOBJ_LDFLAGS='-shared -Wl,--enable-auto-import -Wl,--enable-auto-image-base -Wl,--export-all -Wl,--out-implib=$(@).a' + SHLIB_LIBSUFF='dll' + SHLIB_LIBVERSION='$(SHLIB_DLLVERSION).$(SHLIB_LIBSUFF)' + SHLIB_LIBS='$(TERMCAP_LIB)' SHLIB_DOT= - # For official cygwin releases, DLLVERSION will be defined in the - # environment of configure, and will be incremented any time the API - # changes in a non-backwards compatible manner. Otherwise, it is just - # SHLIB_MAJOR. - if [ -n "$DLLVERSION" ] ; then + # For official cygwin releases, DLLVERSION will be defined in the + # environment of configure, and will be incremented any time the API + # changes in a non-backwards compatible manner. Otherwise, it is just + # SHLIB_MAJOR. + if [ -n "$DLLVERSION" ] ; then SHLIB_DLLVERSION="$DLLVERSION" - fi + fi ;; # diff --git a/tests/RUN-ONE-TEST b/tests/RUN-ONE-TEST index 72ec06a2c..3efcf32d6 100755 --- a/tests/RUN-ONE-TEST +++ b/tests/RUN-ONE-TEST @@ -1,4 +1,4 @@ -BUILD_DIR=/usr/local/build/bash/bash-current +BUILD_DIR=/usr/local/build/chet/bash/bash-current THIS_SH=$BUILD_DIR/bash PATH=$PATH:$BUILD_DIR diff --git a/tests/test.right b/tests/test.right index beb3af6b2..c5d7c9041 100644 --- a/tests/test.right +++ b/tests/test.right @@ -282,3 +282,4 @@ t -t /dev/tty4 1 t -t /dev/tty4444444... 1 +1 diff --git a/tests/test.tests b/tests/test.tests index a915c4e40..47ad9bb1c 100644 --- a/tests/test.tests +++ b/tests/test.tests @@ -421,3 +421,6 @@ echo 't -t /dev/tty4' t -t /dev/tty4 echo 't -t /dev/tty4444444...' t -t /dev/tty4444444... + +# fixed in bash-4.0-beta +t -t ' ' diff --git a/variables.c b/variables.c index a9bd4358e..9f5478082 100644 --- a/variables.c +++ b/variables.c @@ -1912,7 +1912,7 @@ make_local_variable (name) } if (old_var == 0) - new_var = bind_variable_internal (name, "", vc->table, HASH_NOSRCH, 0); + new_var = make_new_variable (name, vc->table); else { new_var = make_new_variable (name, vc->table); diff --git a/variables.c~ b/variables.c~ index a8f6f807f..e47e5bee8 100644 --- a/variables.c~ +++ b/variables.c~ @@ -1226,8 +1226,10 @@ brand () h = rseed / 127773; l = rseed % 127773; rseed = 16807 * l - 2836 * h; +#if 0 if (rseed < 0) rseed += 0x7fffffff; +#endif return ((unsigned int)(rseed & 32767)); /* was % 32768 */ #endif } @@ -1910,7 +1912,11 @@ make_local_variable (name) } if (old_var == 0) +#if 0 new_var = bind_variable_internal (name, "", vc->table, HASH_NOSRCH, 0); +#else + new_var = make_new_variable (name, vc->table); +#endif else { new_var = make_new_variable (name, vc->table);