]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
commit bash-20110812 snapshot
authorChet Ramey <chet.ramey@case.edu>
Mon, 9 Jan 2012 13:25:20 +0000 (08:25 -0500)
committerChet Ramey <chet.ramey@case.edu>
Mon, 9 Jan 2012 13:25:20 +0000 (08:25 -0500)
CWRU/CWRU.chlog
builtins/common.c
builtins/return.def
execute_cmd.c
parse.y
po/sl.po

index 78d7379b6f5cdbe98918b72339063f1333b00727..39e5b80c6dc58a58e55918502c7b12238c572cfe 100644 (file)
@@ -12062,3 +12062,23 @@ lib/sh/zread.c
 expr.c
        - don't check for division by 0 when in a context where no evaluation
          is taking place.  Fixes bug reported by dnade.ext@orange-ftgroup.com
+
+                                   8/6
+                                   ---
+execute_cmd.c
+       - execute_command_internal: the parent branch of the subshell code
+         (where the child calls execute_in_subshell) should not close all
+         open FIFOs with unlink_fifo_list if it's part of a shell function
+         that's still executing.  Fixes bug reported by Maarten Billemont
+         <lhunath@lyndir.com>
+
+                                   8/9
+                                   ---
+builtins/common.c
+       - get_exitstat: return EX_BADUSAGE (2) on a non-numeric argument
+
+builtins/return.def
+       - return_builtin: just call get_exitstat to get the return status,
+         let it handle proper parsing and handling of arguments.  Fixes
+         issue most recently raised by Linda Walsh <bash@tlinx.org>.
+         Reverses change from 9/11/2008 (see above)
index 737ace2f0b673aafa5ba59f625727b483e94dc4a..d6c4cdd13b546841ba6b304383fbc12d1e1fc108 100644 (file)
@@ -500,7 +500,7 @@ get_exitstat (list)
   if (arg == 0 || legal_number (arg, &sval) == 0)
     {
       sh_neednumarg (list->word->word ? list->word->word : "`'");
-      return 255;
+      return EX_BADUSAGE;
     }
   no_args (list->next);
 
index 641ee16a7100f3c24db9ef907450e7efc3fad556..e6674dfa39c9b3af936937434b0f44078d2c3bee 100644 (file)
@@ -60,9 +60,11 @@ int
 return_builtin (list)
      WORD_LIST *list;
 {
+#if 0
   if (no_options (list))
     return (EX_USAGE);
   list = loptend;      /* skip over possible `--' */
+#endif
 
   return_catch_value = get_exitstat (list);
 
index 16a2f9a9881499fef944ababeae5b1e474069337..c67c363ff1802bf8a8cfae13546716c3c6d99de0 100644 (file)
@@ -592,7 +592,8 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
          close_pipes (pipe_in, pipe_out);
 
 #if defined (PROCESS_SUBSTITUTION) && defined (HAVE_DEV_FD)
-         unlink_fifo_list ();
+         if (variable_context == 0)    /* wait until shell function completes */
+           unlink_fifo_list ();
 #endif
          /* If we are part of a pipeline, and not the end of the pipeline,
             then we should simply return and let the last command in the
diff --git a/parse.y b/parse.y
index c349cf1540123fe6fd0409c38f476fa64ceffa00..16e72184cf72b3f866ec56edab291ca488ee7ec3 100644 (file)
--- a/parse.y
+++ b/parse.y
@@ -2497,7 +2497,7 @@ yylex ()
         We do this only if it is time to do so. Notice that only here
         is the mail alarm reset; nothing takes place in check_mail ()
         except the checking of mail.  Please don't change this. */
-      if (prompt_is_ps1 && time_to_check_mail ())
+      if (prompt_is_ps1 && parse_and_execute_level == 0 && time_to_check_mail ())
        {
          check_mail ();
          reset_mail_timer ();
index 2019a49a08f0257e7a8e8f635165e8b176f0a2fa..1b848d42c0529e8912de45bccb88884a14d0ce5b 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -3,13 +3,13 @@
 # This file is distributed under the same license as the bash package.
 # Primož PETERLIN <primozz.peterlin@gmail.com>, 2011.
 #
-# $Id: bash-4.2.sl.po,v 1.7 2011/04/03 16:15:52 peterlin Exp $
+# $Id: bash-4.2.sl.po,v 1.9 2011/08/06 20:04:00 peterlin Exp $
 msgid ""
 msgstr ""
 "Project-Id-Version: bash 4.2\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2011-01-28 22:09-0500\n"
-"PO-Revision-Date: 2011-04-03 18:15+0200\n"
+"PO-Revision-Date: 2011-08-06 22:03+0200\n"
 "Last-Translator: Primož PETERLIN <primozz.peterlin@gmail.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
 "Language: sl\n"
@@ -424,7 +424,7 @@ msgstr "%s: izbira zahteva argument -- %c\n"
 
 #: builtins/hash.def:92
 msgid "hashing disabled"
-msgstr ""
+msgstr "zgoščevanje tabele onemogočeno"
 
 #: builtins/hash.def:138
 #, c-format
@@ -543,7 +543,7 @@ msgstr "prazno ime polja spremenljivk"
 
 #: builtins/mapfile.def:354
 msgid "array variable support required"
-msgstr ""
+msgstr "potrebna je podpora za polja spremenljivk"
 
 #: builtins/printf.def:394
 #, c-format
@@ -711,7 +711,7 @@ msgstr ""
 #: builtins/read.def:252
 #, c-format
 msgid "%s: invalid timeout specification"
-msgstr ""
+msgstr "%s: neveljavno določilo prekoračitve časa"
 
 #: builtins/read.def:588
 #, c-format
@@ -720,21 +720,21 @@ msgstr "napaka pri branju: %d: %s"
 
 #: builtins/return.def:73
 msgid "can only `return' from a function or sourced script"
-msgstr ""
+msgstr "»return« je mogoč samo iz funkcije ali skripte"
 
 #: builtins/set.def:771
 msgid "cannot simultaneously unset a function and a variable"
-msgstr ""
+msgstr "ni mogoče obenem odnastaviti funkcije in spremenljivke"
 
 #: builtins/set.def:808
 #, c-format
 msgid "%s: cannot unset"
-msgstr ""
+msgstr "%s: ni mogoče odnastaviti"
 
 #: builtins/set.def:815
 #, c-format
 msgid "%s: cannot unset: readonly %s"
-msgstr ""
+msgstr "%s: ni mogoče odnastaviti: %s samo za branje"
 
 #: builtins/set.def:826
 #, c-format
@@ -748,20 +748,20 @@ msgstr "%s: ni funkcija"
 
 #: builtins/shift.def:71 builtins/shift.def:77
 msgid "shift count"
-msgstr ""
+msgstr "števec pomika"
 
 #: builtins/shopt.def:264
 msgid "cannot set and unset shell options simultaneously"
-msgstr ""
+msgstr "ni mogoče obenem nastavljati in odnastavljati lupinskih izbir"
 
 #: builtins/shopt.def:329
 #, c-format
 msgid "%s: invalid shell option name"
-msgstr ""
+msgstr "%s: neveljavno ime lupinske izbire"
 
 #: builtins/source.def:130
 msgid "filename argument required"
-msgstr ""
+msgstr "kot argument se zahteva ime datoteke"
 
 #: builtins/source.def:155
 #, c-format
@@ -770,21 +770,21 @@ msgstr "%s: datoteke ni mogoče najti"
 
 #: builtins/suspend.def:101
 msgid "cannot suspend"
-msgstr ""
+msgstr "ni mogoče zaustaviti"
 
 #: builtins/suspend.def:111
 msgid "cannot suspend a login shell"
-msgstr ""
+msgstr "prijavne lupine ni mogoče zaustaviti"
 
 #: builtins/type.def:234
 #, c-format
 msgid "%s is aliased to `%s'\n"
-msgstr ""
+msgstr "%s je vzdevek za »%s«\n"
 
 #: builtins/type.def:255
 #, c-format
 msgid "%s is a shell keyword\n"
-msgstr ""
+msgstr "%s je ključna beseda ukazne lupine\n"
 
 #: builtins/type.def:274
 #, c-format
@@ -819,16 +819,16 @@ msgstr ""
 #: builtins/ulimit.def:431
 #, c-format
 msgid "%s: cannot get limit: %s"
-msgstr ""
+msgstr "%s: ni mogoče prebrati omejitev: %s"
 
 #: builtins/ulimit.def:457
 msgid "limit"
-msgstr ""
+msgstr "omejitev"
 
 #: builtins/ulimit.def:469 builtins/ulimit.def:769
 #, c-format
 msgid "%s: cannot modify limit: %s"
-msgstr ""
+msgstr "%s: ni mogoče spremeniti omejitev: %s"
 
 #: builtins/umask.def:118
 msgid "octal number"
@@ -837,12 +837,12 @@ msgstr "osmiško število"
 #: builtins/umask.def:231
 #, c-format
 msgid "`%c': invalid symbolic mode operator"
-msgstr ""
+msgstr "»%c«: neveljaven operator simbolnega načina"
 
 #: builtins/umask.def:286
 #, c-format
 msgid "`%c': invalid symbolic mode character"
-msgstr ""
+msgstr "»%c«: neveljaven znak simbolnega načina"
 
 #: error.c:90 error.c:321 error.c:323 error.c:325
 msgid " line "
@@ -851,7 +851,7 @@ msgstr ""
 #: error.c:165
 #, c-format
 msgid "last command: %s\n"
-msgstr ""
+msgstr "zadnji ukaz: %s\n"
 
 #: error.c:173
 #, c-format
@@ -887,7 +887,7 @@ msgstr ""
 #: execute_cmd.c:504
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
-msgstr ""
+msgstr "standardnega vhoda ni mogoče preusmeriti iz /dev/null: %s"
 
 #: execute_cmd.c:1168
 #, c-format
@@ -901,7 +901,7 @@ msgstr ""
 #: execute_cmd.c:4640
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
-msgstr ""
+msgstr "%s: omejitev: imena ukazov ne smejo vsebovati »/«"
 
 #: execute_cmd.c:4735
 #, c-format
@@ -911,7 +911,7 @@ msgstr "%s: ukaza ni mogoče najti"
 #: execute_cmd.c:4959
 #, c-format
 msgid "%s: %s"
-msgstr ""
+msgstr "%s: %s"
 
 #: execute_cmd.c:4995
 #, c-format
@@ -925,7 +925,7 @@ msgstr ""
 
 #: expr.c:256
 msgid "expression recursion level exceeded"
-msgstr ""
+msgstr "prekoračitev ravni rekurzije izraza"
 
 #: expr.c:280
 msgid "recursion stack underflow"
@@ -949,7 +949,7 @@ msgstr ""
 
 #: expr.c:564
 msgid "`:' expected for conditional expression"
-msgstr ""
+msgstr "v pogojnem izrazu je pričakovano »:«"
 
 #: expr.c:832
 msgid "exponent less than 0"
@@ -961,15 +961,15 @@ msgstr ""
 
 #: expr.c:910
 msgid "missing `)'"
-msgstr ""
+msgstr "manjkajoči »)«"
 
 #: expr.c:959 expr.c:1282
 msgid "syntax error: operand expected"
-msgstr "skladenjska napaka: pričakuje se operand"
+msgstr "napaka v skladnji: pričakuje se operand"
 
 #: expr.c:1284
 msgid "syntax error: invalid arithmetic operator"
-msgstr "skladenjska napaka: neveljavni aritmetični operator"
+msgstr "napaka v skladnji: neveljavni aritmetični operator"
 
 #: expr.c:1308
 #, c-format
@@ -978,16 +978,16 @@ msgstr ""
 
 #: expr.c:1366
 msgid "invalid arithmetic base"
-msgstr ""
+msgstr "neveljavna aritmetična osnova"
 
 #: expr.c:1386
 msgid "value too great for base"
-msgstr ""
+msgstr "vrednost je prevelika za osnovo"
 
 #: expr.c:1435
 #, c-format
 msgid "%s: expression error\n"
-msgstr ""
+msgstr "%s: napaka v izrazu\n"
 
 #: general.c:61
 msgid "getcwd: cannot access parent directories"
@@ -1175,31 +1175,31 @@ msgstr ""
 
 #: lib/malloc/malloc.c:874
 msgid "free: called with already freed block argument"
-msgstr ""
+msgstr "free: blok, podan kot argument, je že sproščen"
 
 #: lib/malloc/malloc.c:877
 msgid "free: called with unallocated block argument"
-msgstr ""
+msgstr "free: blok, podan kot argument, ni alociran"
 
 #: lib/malloc/malloc.c:896
 msgid "free: underflow detected; mh_nbytes out of range"
-msgstr ""
+msgstr "free: zaznana podkoračitev; mh_nbytes izven obsega"
 
 #: lib/malloc/malloc.c:902
 msgid "free: start and end chunk sizes differ"
-msgstr ""
+msgstr "free: začetna velikost bloka ni enaka končni"
 
 #: lib/malloc/malloc.c:1001
 msgid "realloc: called with unallocated block argument"
-msgstr ""
+msgstr "realloc: blok, podan kot argument, ni alociran"
 
 #: lib/malloc/malloc.c:1016
 msgid "realloc: underflow detected; mh_nbytes out of range"
-msgstr ""
+msgstr "realloc: zaznana podkoračitev; mh_nbytes izven obsega"
 
 #: lib/malloc/malloc.c:1022
 msgid "realloc: start and end chunk sizes differ"
-msgstr ""
+msgstr "realloc: začetna velikost bloka ni enaka končni"
 
 #: lib/malloc/table.c:177
 #, c-format
@@ -1223,41 +1223,41 @@ msgstr ""
 #: lib/sh/netopen.c:168
 #, c-format
 msgid "%s: host unknown"
-msgstr ""
+msgstr "%s: neznan gostitelj"
 
 #: lib/sh/netopen.c:175
 #, c-format
 msgid "%s: invalid service"
-msgstr ""
+msgstr "%s: neveljavna storitev"
 
 #: lib/sh/netopen.c:306
 #, c-format
 msgid "%s: bad network path specification"
-msgstr ""
+msgstr "%s: slabo določena omrežna pot"
 
 #: lib/sh/netopen.c:346
 msgid "network operations not supported"
-msgstr ""
+msgstr "omrežne operacije niso podprte"
 
 #: locale.c:192
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
-msgstr ""
+msgstr "setlocale: LC_ALL: ni mogoče spremeniti lokalizacije (%s)"
 
 #: locale.c:194
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
-msgstr ""
+msgstr "setlocale: LC_ALL: ni mogoče spremeniti lokalizacije (%s): %s"
 
 #: locale.c:247
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
-msgstr ""
+msgstr "setlocale: %s: ni mogoče spremeniti lokalizacije (%s)"
 
 #: locale.c:249
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
-msgstr ""
+msgstr "setlocale: %s: ni mogoče spremeniti lokalizacije (%s): %s"
 
 #: mailcheck.c:433
 msgid "You have mail in $_"
@@ -1274,16 +1274,16 @@ msgstr "Pošta v %s je bila prebrana\n"
 
 #: make_cmd.c:323
 msgid "syntax error: arithmetic expression required"
-msgstr "skladenjska napaka: zahtevan je aritmetični izraz"
+msgstr "napaka v skladnji: zahtevan je aritmetični izraz"
 
 #: make_cmd.c:325
 msgid "syntax error: `;' unexpected"
-msgstr ""
+msgstr "napaka v skladnji: pričakovano »;«"
 
 #: make_cmd.c:326
 #, c-format
 msgid "syntax error: `((%s))'"
-msgstr ""
+msgstr "napaka v skladnji: »((%s))«"
 
 #: make_cmd.c:575
 #, c-format
@@ -1377,29 +1377,29 @@ msgstr ""
 #: parse.y:5584
 #, c-format
 msgid "syntax error near `%s'"
-msgstr "skladenjska napaka pri »%s«"
+msgstr "napaka v skladnji pri »%s«"
 
 #: parse.y:5594
 msgid "syntax error: unexpected end of file"
-msgstr "skladenjska napaka: nepričakovan konec datoteke"
+msgstr "napaka v skladnji: nepričakovan konec datoteke"
 
 #: parse.y:5594
 msgid "syntax error"
-msgstr "skladenjska napaka"
+msgstr "napaka v skladnji"
 
 #: parse.y:5656
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
-msgstr ""
+msgstr "Uporabite \"%s\" za izhod iz lupine.\n"
 
 #: parse.y:5818
 msgid "unexpected EOF while looking for matching `)'"
-msgstr ""
+msgstr "nepričakovani EOF pri iskanju ujemajočega »)«"
 
 #: pcomplete.c:1030
 #, c-format
 msgid "completion: function `%s' not found"
-msgstr ""
+msgstr "completion: funkcije »%s« ni mogoče najti"
 
 #: pcomplib.c:182
 #, c-format
@@ -3985,3 +3985,6 @@ msgid ""
 "    \n"
 "    A synonym for `mapfile'."
 msgstr ""
+"Prebere vrstice iz datoteke v polje.\n"
+"\n"
+"    Sopomenka za »mapfile«."