]> git.ipfire.org Git - thirdparty/bash.git/commitdiff
fix minor errors uncovered by address sanitizer; work around android issue with read...
authorChet Ramey <chet.ramey@case.edu>
Tue, 28 May 2024 13:19:03 +0000 (09:19 -0400)
committerChet Ramey <chet.ramey@case.edu>
Tue, 28 May 2024 13:19:03 +0000 (09:19 -0400)
16 files changed:
CWRU/CWRU.chlog
bashline.c
builtins/read.def
builtins/source.def
doc/bash.1
doc/bashref.texi
execute_cmd.c
jobs.c
jobs.h
lib/readline/kill.c
lib/readline/text.c
lib/sh/spell.c
pathexp.c
po/ja.gmo
po/ja.po
subst.c

index 0d20018a44b56d4f1c7e169773194f37112d4ba1..a6416f31e10c7cc1f6d5a64e401021e9de4662bb 100644 (file)
@@ -9454,3 +9454,70 @@ pathexp.c
          integer underflow
          From a report from Grisha Levit <grishalevit@gmail.com>
 
+                                  5/20
+                                  ----
+lib/readline/kill.c
+       - _rl_bracketed_text: make sure buf is null-terminated even if
+         rl_read_key() returns an error
+         From a report from Grisha Levit <grishalevit@gmail.com>
+
+builtins/read.def
+       - read_builtin: if -u and -e are both supplied, dup the file descriptor
+         supplied as an argument to -u and use it in the new FILE * to pass
+         to readline as rl_instream. Works around an android problem with
+         stdio and application-managed file descriptors
+         Report and patch from Grisha Levit <grishalevit@gmail.com>
+
+                                  5/21
+                                  ----
+lib/sh/spell.c
+       - mindist: don't check best unless we set it
+         Report and patch from Grisha Levit <grishalevit@gmail.com>
+
+jobs.c
+       - make_child: if FORK_NOJOB is in the flags argument, don't call
+         setpgid to set the child's process group in either the parent or
+         child
+       - alloc_process,dispose_process: allocate and deallocate a PROCESS;
+         changed callers
+
+subst.c
+       - command_substitute: call cleanup_the_pipeline after waiting for
+         the command substitution process, since we allocated it
+
+                                  5/22
+                                  ----
+lib/readline/text.c
+       - rl_execute_named_command: fix a leak if the command name is null or
+         the bound function doesn't return (rl_abort)
+         Report and patch from Grisha Levit <grishalevit@gmail.com>
+
+bashline.c
+       - command_word_completion_function: free directory_part if it's left
+         over from a previous completion
+       - command_subst_completion_function: free contents of match list left
+         over from previous completion
+       - bash_spell_correct_shellword: free text if it's "" before returning
+       - build_history_completion_array: only call qsort if there's actually
+         something in the array to sort
+         Report and patches from Grisha Levit <grishalevit@gmail.com>
+       - bash_spell_correct_shellword: fix bug where we would correct the
+         previous word if we start on the first character of a word
+       - bash_spell_correct_shellword: make negative argument counts work
+         backwards, correcting words before point
+         Report from Grisha Levit <grishalevit@gmail.com>
+
+                                  5/23
+                                  ----
+lib/readline/text.c
+       - rl_change_case: if mbrtowc returns -1 or -2, jump to changing case
+         for a single character, since _rl_find_next_mbchar_internal() will
+         treat an invalid multibyte character as a sequence of bytes
+         Report from Grisha Levit <grishalevit@gmail.com>
+
+                                  5/25
+                                  ----
+execute_cmd.c
+       - shell_execve: fix typo in code that chops \r off the end of the #!
+         interpreter
+         Report and fix from Collin Funk <collin.funk1@gmail.com>
index b638e0013b6b9a738ac3d7e0f49c2dce1570b474..9cdd9bc4211d92ce8706040e5cf89229c0ae1bba 100644 (file)
@@ -1328,14 +1328,45 @@ bash_transpose_shellwords (int count, int key)
   return 0;
 }
 
-/* Directory name spelling correction on the current word (not shellword).
-   COUNT > 1 is not exactly correct yet. */
+/* Directory name spelling correction on the current or previous shellword. */
 static int
 bash_spell_correct_shellword (int count, int key)
 {
-  int wbeg, wend;
+  int wbeg, wend, n, p;
   char *text, *newdir;
 
+  /* If we have a negative count, move back that many shellwords and then
+     move forward. Do it one at a time so we get an accurate count of the
+     number of words we moved back -- we only want to correct that many. */
+  if (count < 0)
+    {
+      n = 0;
+      while (rl_point > 0 && count++)
+       {
+         p = rl_point;
+         bash_backward_shellword (1, key);
+         /* We probably moved to column 0 with leading spaces on the line */
+         if (rl_point == 0 && WORDDELIM (rl_line_buffer[rl_point]))
+           {
+             rl_point = p;
+             break;
+           }
+         n++;
+       }
+      count = n;
+    }
+  else if (WORDDELIM (rl_line_buffer[rl_point]))       /* count > 0 */
+    {
+      /* between words with a positive count, move forward to word start */
+      while (rl_point < rl_end && WORDDELIM (rl_line_buffer[rl_point]))
+        rl_point++;            /* word delims are single-byte characters */
+    }
+    
+  /* First make sure we're at the end of the word we want to begin with
+     so the initial bash_backward_shellword works right. */
+  if (rl_point < rl_end && WORDDELIM (rl_line_buffer[rl_point]) == 0)
+    bash_forward_shellword (1, key);
+
   while (count)
     {
       bash_backward_shellword (1, key);
@@ -1348,7 +1379,10 @@ bash_spell_correct_shellword (int count, int key)
 
       text = rl_copy_text (wbeg, wend);
       if (text == 0 || *text == 0)
-       break;
+       {
+         FREE (text);
+         break;
+       }
 
       newdir = dirspell (text);
       if (newdir)
@@ -1371,7 +1405,7 @@ bash_spell_correct_shellword (int count, int key)
       count--;
 
       if (count)
-       bash_forward_shellword (1, key);                /* XXX */
+       bash_forward_shellword (1, key);                /* XXX */       
     }
 
   return 0;
@@ -2002,6 +2036,12 @@ command_word_completion_function (const char *hint_text, int state)
          glob_matches = (char **)NULL;
        }
 
+      if (directory_part)
+       {
+         free (directory_part);
+         directory_part = (char *)NULL;
+       }
+
       globpat = completion_glob_pattern (hint_text);
 
       /* If this is an absolute program name, do not check it against
@@ -2451,7 +2491,7 @@ command_subst_completion_function (const char *text, int state)
       filename_text = savestring (text);
       if (matches)
        {
-         free (matches);
+         strvec_dispose (matches);
          matches = (char **)NULL;
        }
 
@@ -3716,7 +3756,7 @@ build_history_completion_array (void)
        }
 
       /* Sort the complete list of tokens. */
-      if (dabbrev_expand_active == 0)
+      if (harry_len > 1 && dabbrev_expand_active == 0)
         qsort (history_completion_array, harry_len, sizeof (char *), (QSFUNC *)strvec_strcmp);
     }
 }
index 35b719676b0b85746ae26bca2ad624c448dd82cd..37328efc8848577c113ac144e1a1a02f47ae12ff 100644 (file)
@@ -201,6 +201,19 @@ read_builtin_timeout (int fd)
 #endif
 }
 
+void
+reset_rl_instream (FILE *save_instream)
+{
+  fclose (rl_instream);
+  rl_instream = save_instream;
+}
+
+void
+uw_reset_rl_instream (void *fp)
+{
+  reset_rl_instream (fp);
+}
+
 /* Read the value of the shell variables whose names follow.
    The reading is done from the current input stream, whatever
    that may be.  Successive words of the input line are assigned
@@ -613,12 +626,26 @@ read_builtin (WORD_LIST *list)
   save_instream = 0;
   if (edit && fd != 0)
     {
+      int fd2;
+      FILE *fp2;
+
+      if ((fd2 = dup (fd)) < 0 || (fp2 = fdopen (fd2, "r")) == 0)
+       {
+         builtin_error ("%d: %s", fd, strerror (errno));
+         if (fd2 >= 0)
+           close (fd2);
+         run_unwind_frame ("read_builtin");
+         return (EXECUTION_FAILURE);
+       }
+
       if (bash_readline_initialized == 0)
        initialize_readline ();
 
-      unwind_protect_var (rl_instream);
       save_instream = rl_instream;
-      rl_instream = fdopen (fd, "r");  
+      rl_instream = fp2;
+      add_unwind_protect (uw_reset_rl_instream, save_instream);
+
+      fd = fd2;
     }
 #endif
 
@@ -896,7 +923,7 @@ add_char:
 
 #if defined (READLINE)
   if (save_instream)
-    rl_instream = save_instream;       /* can't portably free it */
+    reset_rl_instream (save_instream);
 #endif
 
   discard_unwind_frame ("read_builtin");
index 1c2de0ab4711cb9921f32ec0bd6d346a0180e1ab..3932bf7b49d186a808a9a7fad68b85ca8994c553 100644 (file)
@@ -154,7 +154,10 @@ source_builtin (WORD_LIST *list)
 #else
       if (posixly_correct == 0 && (spath = path_value ("BASH_SOURCE_PATH", 1)))
 #endif
-       filename = find_in_path (list->word->word, spath, FS_READABLE);
+       {
+         filename = find_in_path (list->word->word, spath, FS_READABLE);
+         search_cwd = 0;
+       }
       else
 #endif
        filename = find_path_file (list->word->word);
index bf8c6198f89b6050ffb2d1506d460907d3dc8bf7..b5f156dbcfdfe10fa9ed00d4f73338b0e36d5dce 100644 (file)
@@ -2326,7 +2326,8 @@ inode change time, and number of blocks, respectively.
 For example, a value of \fI\-mtime\fP sorts the results in descending
 order by modification time (newest first).
 A sort specifier of \fInosort\fP disables sorting completely; the results
-are returned in the order they are read from the file system.
+are returned in the order they are read from the file system,
+and any leading \fI+\fP or \fI\-\fP is ignored.
 If the sort specifier is missing, it defaults to \fIname\fP,
 so a value of \fI+\fP is equivalent to the null string,
 and a value of \fI-\fP sorts by name in descending order.
index 70f3e206605e5c8111f7d8c2eb142ed19c95f376..5af3c06bbce893205cba82d825e98bf39121e9ad 100644 (file)
@@ -6694,7 +6694,8 @@ For example, a value of @code{-mtime} sorts the results in descending
 order by modification time (newest first).
 
 A sort specifier of @samp{nosort} disables sorting completely; the results
-are returned in the order they are read from the file system.
+are returned in the order they are read from the file system,
+and any leading @samp{-} is ignored.
 
 If the sort specifier is missing, it defaults to @var{name},
 so a value of @samp{+} is equivalent to the null string,
index 64939fc76e9890d3de00bbb0507817f5d24203e4..3dcecf21fba80c86f5ed14cea95fbcab983de1e9 100644 (file)
@@ -1392,13 +1392,13 @@ print_formatted_time (FILE *fp, char *format,
 static int
 time_command (COMMAND *command, int asynchronous, int pipe_in, int pipe_out, struct fd_bitmap *fds_to_close)
 {
-  int rv, posix_time, old_flags, nullcmd, code;
+  int rv, posix_time, nullcmd, code;
   time_t rs, us, ss;           /* seconds */
   long rsf, usf, ssf;          /* microseconds */
   int cpu;
   char *time_format;
   volatile procenv_t save_top_level;
-  volatile int old_subshell;
+  volatile int old_subshell, old_flags;
 
 #if defined (HAVE_GETRUSAGE) && defined (HAVE_GETTIMEOFDAY)
   struct timeval real, user, sys;
@@ -6128,7 +6128,7 @@ shell_execve (char *command, char **args, char **env)
              interp = getinterp (sample, sample_len, (int *)NULL);
              ilen = strlen (interp);
              errno = i;
-             if (interp > 0 && interp[ilen - 1] == '\r')
+             if (ilen > 0 && interp[ilen - 1] == '\r')
                {
                  interp = xrealloc (interp, ilen + 2);
                  interp[ilen - 1] = '^';
diff --git a/jobs.c b/jobs.c
index fb94426e7dc35cee6bfebb7d736b8e87b0fc9eae..88b5ccbc56d0fb1a41d0f81652de1295c9ae2922 100644 (file)
--- a/jobs.c
+++ b/jobs.c
@@ -216,6 +216,9 @@ volatile pid_t last_asynchronous_pid = NO_PID;
 /* The pipeline currently being built. */
 PROCESS *the_pipeline = (PROCESS *)NULL;
 
+/* We are forking this pipeline (process) to perform a command substitution. */
+PROCESS *comsub_pipeline = (PROCESS *)NULL;
+
 /* If this is non-zero, do job control. */
 int job_control = 1;
 
@@ -643,8 +646,9 @@ stop_pipeline (int async, COMMAND *deferred)
       the_pipeline = (PROCESS *)NULL;
       newjob->pgrp = pipeline_pgrp;
 
-      /* Invariant: if the shell is executing a command substitution,
-        pipeline_pgrp == shell_pgrp. Other parts of the shell assume this. */
+      /* Invariant: if the shell is executing a command substitution when
+        job control is enabled, pipeline_pgrp == shell_pgrp.
+        Other parts of the shell assume this. */
       if (pipeline_pgrp != shell_pgrp)
        pipeline_pgrp = 0;
 
@@ -1473,6 +1477,28 @@ nohup_job (int job_index)
     temp->flags |= J_NOHUP;
 }
 
+PROCESS *
+alloc_process (char *name, pid_t pid)
+{
+  PROCESS *t;
+
+  t = (PROCESS *)xmalloc (sizeof (PROCESS));
+  t->pid = pid;
+  WSTATUS (t->status) = 0;
+  t->running = PS_RUNNING;     /* default */
+  t->command = name;
+  t->next = (PROCESS *)0;
+
+  return (t);
+}
+
+void
+dispose_process (PROCESS *t)
+{
+  FREE (t->command);
+  free (t);
+}
+  
 /* Get rid of the data structure associated with a process chain. */
 int
 discard_pipeline (PROCESS *chain)
@@ -1485,8 +1511,7 @@ discard_pipeline (PROCESS *chain)
   do
     {
       next = this->next;
-      FREE (this->command);
-      free (this);
+      dispose_process (this);
       n++;
       this = next;
     }
@@ -1516,12 +1541,8 @@ add_process (char *name, pid_t pid)
     }
 #endif
 
-  t = (PROCESS *)xmalloc (sizeof (PROCESS));
+  t = alloc_process (name, pid);
   t->next = the_pipeline;
-  t->pid = pid;
-  WSTATUS (t->status) = 0;
-  t->running = PS_RUNNING;
-  t->command = name;
   the_pipeline = t;
 
   if (t->next == 0)
@@ -1542,13 +1563,11 @@ append_process (char *name, pid_t pid, int status, int jid)
 {
   PROCESS *t, *p;
 
-  t = (PROCESS *)xmalloc (sizeof (PROCESS));
-  t->next = (PROCESS *)NULL;
-  t->pid = pid;
+  t = alloc_process (name, pid);
+
   /* set process exit status using offset discovered by configure */
   t->status = (status & 0xff) << WEXITSTATUS_OFFSET;
   t->running = PS_DONE;
-  t->command = name;
 
   js.c_reaped++;       /* XXX */
 
@@ -2267,6 +2286,7 @@ make_child (char *command, int flags)
            pipeline_pgrp = mypid;
 
          /* Check for running command in backquotes. */
+         /* XXX - do this if (flags & FORK_NOJOB)? */
          if (pipeline_pgrp == shell_pgrp)
            ignore_tty_job_signals ();
          else
@@ -2280,7 +2300,7 @@ make_child (char *command, int flags)
             this would have for the first child) is an error.  Section
             B.4.3.3, p. 237 also covers this, in the context of job control
             shells. */
-         if (setpgid (mypid, pipeline_pgrp) < 0)
+         if ((flags & FORK_NOJOB) == 0 && setpgid (mypid, pipeline_pgrp) < 0)
            sys_error (_("child setpgid (%ld to %ld)"), (long)mypid, (long)pipeline_pgrp);
 
          /* By convention (and assumption above), if
@@ -2344,7 +2364,8 @@ make_child (char *command, int flags)
             the POSIX 1003.1 standard, where it discusses job control and
             shells.  It is done to avoid possible race conditions. (Ref.
             1003.1 Rationale, section B.4.3.3, page 236). */
-         setpgid (pid, pipeline_pgrp);
+         if ((flags & FORK_NOJOB) == 0)
+           setpgid (pid, pipeline_pgrp);
        }
       else
        {
@@ -3964,7 +3985,12 @@ itrace("waitchld: waitpid returns %d block = %d children_exited = %d", pid, bloc
       if (child == 0)
        {
          if (WIFEXITED (status) || WIFSIGNALED (status))
-           js.c_reaped++;
+           {
+             js.c_reaped++;
+             js.c_totreaped++;
+             if (pid == wpid)          /* but we're waiting for it?? */
+               internal_debug ("waitchld: pid == wpid but child == 0");                
+           }
          continue;
        }
 
diff --git a/jobs.h b/jobs.h
index 3711af2000ae9bb0a2c39d73dc73b9bc7e2c3277..143049e736e9a07bc6121fff07396f67862a8194 100644 (file)
--- a/jobs.h
+++ b/jobs.h
@@ -210,6 +210,7 @@ struct procchain {
 #define FORK_ASYNC     1               /* background process */
 #define FORK_NOJOB     2               /* don't put process in separate pgrp */
 #define FORK_NOTERM    4               /* don't give terminal to any pgrp */
+#define FORK_COMSUB    8               /* command or process substitution */
 
 /* System calls. */
 #if !defined (HAVE_UNISTD_H)
@@ -239,6 +240,8 @@ extern void save_pipeline (int);
 extern PROCESS *restore_pipeline (int);
 extern void start_pipeline (void);
 extern int stop_pipeline (int, COMMAND *);
+extern PROCESS *alloc_process (char *, pid_t);
+extern void dispose_process (PROCESS *);
 extern int discard_pipeline (PROCESS *);
 extern void append_process (char *, pid_t, int, int);
 
index 972c7d9e613c4a9de2519b775b7f091e0169c072..78e85f5db17ad5796b260d1cdb0515288ab2729e 100644 (file)
@@ -737,12 +737,9 @@ _rl_bracketed_text (size_t *lenp)
     }
   RL_UNSETSTATE (RL_STATE_MOREINPUT);
 
-  if (c >= 0)
-    {
-      if (len == cap)
-       buf = xrealloc (buf, cap + 1);
-      buf[len] = '\0';
-    }
+  if (len == cap)
+    buf = xrealloc (buf, cap + 1);
+  buf[len] = '\0';
 
   if (lenp)
     *lenp = len;
index c5281efe14f88cc31a412a2ab1f874a465c09442..5d512805e4ebd03fc20642b65835c029e7157040 100644 (file)
@@ -1449,6 +1449,7 @@ rl_change_case (int count, int op)
   int start, next, end;
   int inword, nc, nop;
   WCHAR_T c;
+  unsigned char uc;
 #if defined (HANDLE_MULTIBYTE)
   WCHAR_T wc, nwc;
   char mb[MB_LEN_MAX+1];
@@ -1503,7 +1504,9 @@ rl_change_case (int count, int op)
         characters */
       if (MB_CUR_MAX == 1 || rl_byte_oriented)
        {
-         nc = (nop == UpCase) ? _rl_to_upper (c) : _rl_to_lower (c);
+change_singlebyte:
+         uc = c;
+         nc = (nop == UpCase) ? _rl_to_upper (uc) : _rl_to_lower (uc);
          rl_line_buffer[start] = nc;
        }
 #if defined (HANDLE_MULTIBYTE)
@@ -1511,9 +1514,16 @@ rl_change_case (int count, int op)
        {
          m = MBRTOWC (&wc, rl_line_buffer + start, end - start, &mps);
          if (MB_INVALIDCH (m))
-           wc = (WCHAR_T)rl_line_buffer[start];
+           {
+             c = rl_line_buffer[start];
+             next = start + 1;         /* potentially redundant */
+             goto change_singlebyte;
+           }
          else if (MB_NULLWCH (m))
-           wc = L'\0';
+           {
+             start = next;     /* don't bother with null wide characters */
+             continue;
+           }
          nwc = (nop == UpCase) ? _rl_to_wupper (wc) : _rl_to_wlower (wc);
          if  (nwc != wc)       /*  just skip unchanged characters */
            {
@@ -2355,8 +2365,13 @@ rl_execute_named_command (int count, int key)
 
   command = _rl_read_command_name ();
   if (command == 0 || *command == '\0')
-    return 1;
-  if (func = rl_named_function (command))
+    {
+      free (command);
+      return 1;
+    }
+  func = rl_named_function (command);
+  free (command);
+  if (func)
     {
       int prev, ostate;
 
@@ -2375,6 +2390,5 @@ rl_execute_named_command (int count, int key)
       r = 1;
     }
 
-  free (command);
   return r;
 }
index eb215b84a916f9b14f3e8109c1cd2d8478cb50c7..1bd1197c94e341d3f6dd2ec49d1116e0b3e383a3 100644 (file)
@@ -135,7 +135,7 @@ mindist(const char *dir, char *guess, char *best)
   (void)closedir(fd);
 
   /* Don't return `.' */
-  if (best[0] == '.' && best[1] == '\0')
+  if (dist != 3 && best[0] == '.' && best[1] == '\0')
     dist = 3;
   return dist;
 }
index d60ff66d9fcfe67cdc2cb32603b2f00f25a9c0f1..fcc3fa556faf57928a82917661ddd32348ce9d27 100644 (file)
--- a/pathexp.c
+++ b/pathexp.c
@@ -751,7 +751,9 @@ globsort_namecmp (char **s1, char **s2)
 }
 
 /* Generic transitive comparison of two numeric values for qsort */
-#define GENCMP(a,b) (a < b ? -1 : (a > b ? 1 : 0))
+/* #define GENCMP(a,b) ((a) < (b) ? -1 : ((a) > (b) ? 1 : 0)) */
+/* A clever idea from gnulib */
+#define GENCMP(a,b) (((a) > (b)) - ((a) < (b)))
 
 static int
 globsort_sizecmp (struct globsort_t *g1, struct globsort_t *g2)
index 1ea98de9d71e5b5a658598d8577479797369bc33..636c7f98d92bfff4d1590294e5c8997392e42c5f 100644 (file)
Binary files a/po/ja.gmo and b/po/ja.gmo differ
index fbb772e32179c9fb1483c6ef4e619a8bf59ba829..92d1d330e731cf0c7f00b64de4da27ecd87f9926 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -4,13 +4,13 @@
 # Kyoichi Ozaki <k@afromania.org>, 2000.
 # Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>, 2011, 2013.
 # Yasuaki Taniguchi <yasuakit@gmail.com>, 2011, 2014, 2017.
-# Hiroshi Takekawa <sian@big.or.jp>, <sian.ht@gmail.com>, 2020.
+# Hiroshi Takekawa <sian@big.or.jp>, <sian.ht@gmail.com>, 2020, 2021, 2022, 2023, 2024.
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU bash 5.2-rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-04-05 12:15-0400\n"
-"PO-Revision-Date: 2022-06-19 23:10+0900\n"
+"POT-Creation-Date: 2022-01-11 14:50-0500\n"
+"PO-Revision-Date: 2024-05-31 07:41+0900\n"
 "Last-Translator: Hiroshi Takekawa <sian@big.or.jp>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
 "Language: ja\n"
@@ -21,124 +21,123 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Poedit 2.0.2\n"
 
-#: arrayfunc.c:63
+#: arrayfunc.c:66
 msgid "bad array subscript"
 msgstr "誤った配列の添字"
 
-#: arrayfunc.c:463 builtins/declare.def:749 variables.c:2195 variables.c:2224
-#: variables.c:3098
+#: arrayfunc.c:471 builtins/declare.def:709 variables.c:2242 variables.c:2268
+#: variables.c:3101
 #, c-format
 msgid "%s: removing nameref attribute"
 msgstr "%s: 名前参照属性を削除します"
 
-#: arrayfunc.c:490 builtins/declare.def:924
+#: arrayfunc.c:496 builtins/declare.def:868
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: インデックス配列から連想配列に変換することはできません"
 
-#: arrayfunc.c:786
+#: arrayfunc.c:777
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: 配列の添字に非数字を設定できません"
 
-#: arrayfunc.c:838
+#: arrayfunc.c:822
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s: %s: 連想配列を設定するときには添字をつけなければいけません"
 
-#: bashhist.c:464
+#: bashhist.c:455
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: %s を作成できません"
 
-#: bashline.c:4555
+#: bashline.c:4479
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr "bash_execute_unix_command: コマンドのキーマップがありません"
 
-#: bashline.c:4725
+#: bashline.c:4637
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: 最初の非空白類文字が `\"' ではありません"
 
-#: bashline.c:4754
+#: bashline.c:4666
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "閉じる `%c' が %s にありません"
 
-#: bashline.c:4785
-#, fuzzy, c-format
-msgid "%s: missing separator"
+#: bashline.c:4697
+#, c-format
+msgid "%s: missing colon separator"
 msgstr "%s: 区切り文字コロン(:)がありません"
 
-#: bashline.c:4832
+#: bashline.c:4733
 #, c-format
 msgid "`%s': cannot unbind in command keymap"
 msgstr "`%s': コマンドキーマップの割り当てを解除できません"
 
-#: braces.c:320
+#: braces.c:327
 #, c-format
 msgid "brace expansion: cannot allocate memory for %s"
 msgstr "中括弧展開: %s へメモリを割り当てられません"
 
-#: braces.c:383
-#, fuzzy, c-format
-msgid "brace expansion: failed to allocate memory for %s elements"
+#: braces.c:406
+#, c-format
+msgid "brace expansion: failed to allocate memory for %u elements"
 msgstr "中括弧展開: %u 個の要素のメモリの割り当てに失敗しました"
 
-#: braces.c:442
+#: braces.c:451
 #, c-format
 msgid "brace expansion: failed to allocate memory for `%s'"
 msgstr "中括弧展開: `%s' へのメモリ割り当てに失敗しました"
 
-#: builtins/alias.def:131 variables.c:1788
+#: builtins/alias.def:131 variables.c:1817
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "`%s': 無効なエイリアス名です"
 
-#: builtins/bind.def:119
+#: builtins/bind.def:122 builtins/bind.def:125
 msgid "line editing not enabled"
 msgstr "行編集が有効になっていません"
 
-#: builtins/bind.def:204
+#: builtins/bind.def:212
 #, c-format
 msgid "`%s': invalid keymap name"
 msgstr "`%s': 無効なキーマップ名です"
 
-#: builtins/bind.def:271
+#: builtins/bind.def:252
 #, c-format
 msgid "%s: cannot read: %s"
 msgstr "%s: %s を読み込めません"
 
-#: builtins/bind.def:347 builtins/bind.def:376
+#: builtins/bind.def:328 builtins/bind.def:358
 #, c-format
 msgid "`%s': unknown function name"
 msgstr "`%s': 不明な関数名です"
 
-#: builtins/bind.def:355
+#: builtins/bind.def:336
 #, c-format
 msgid "%s is not bound to any keys.\n"
 msgstr "%s はどのキーにも割り当てられていません。\n"
 
-#: builtins/bind.def:359
+#: builtins/bind.def:340
 #, c-format
 msgid "%s can be invoked via "
 msgstr "%s は次を通して起動します "
 
-#: builtins/bind.def:395 builtins/bind.def:412
+#: builtins/bind.def:378 builtins/bind.def:395
 #, c-format
 msgid "`%s': cannot unbind"
 msgstr "`%s': 割り当て解除できません"
 
-#: builtins/break.def:80 builtins/break.def:125
+#: builtins/break.def:77 builtins/break.def:119
 msgid "loop count"
 msgstr "ループ回数"
 
-#: builtins/break.def:145
+#: builtins/break.def:139
 msgid "only meaningful in a `for', `while', or `until' loop"
 msgstr "`for'、`while' または `until' ループでのみ意味があります"
 
-#: builtins/caller.def:135
-#, fuzzy
+#: builtins/caller.def:136
 msgid ""
 "Returns the context of the current subroutine call.\n"
 "    \n"
@@ -147,378 +146,360 @@ msgid ""
 "    provide a stack trace.\n"
 "    \n"
 "    The value of EXPR indicates how many call frames to go back before the\n"
-"    current one; the top frame is frame 0.\n"
-"    \n"
-"    Exit Status:\n"
-"    Returns 0 unless the shell is not executing a shell function or EXPR\n"
-"    is invalid."
+"    current one; the top frame is frame 0."
 msgstr ""
 "現在のサブルーチン呼び出しのコンテキストを返します。\n"
 "    \n"
 "    EXPR が無い場合 \"$line $filename\" を返します。  EXPR がある場合、\n"
-"    \"$line $subroutine $filename\" を返します。この追加の情報はスタックト"
-"レース\n"
+"    \"$line $subroutine $filename\" を返します。この追加の情報はスタックトレース\n"
 "    を提供する時に利用します。\n"
 "    \n"
 "    EXPR の値は現在のフレームに戻るまでに何回フレームが呼び出されているかを\n"
-"    意味します。最上位のフレームは 0 です。\n"
-"    \n"
-"    終了ステータス:\n"
-"    シェルが関数を実行できないか式 EXPR が無効な場合を除き 0 を返します。"
+"    意味します。最上位のフレームは 0 です。"
 
-#: builtins/cd.def:321
+#: builtins/cd.def:327
 msgid "HOME not set"
 msgstr "HOME が設定されていません"
 
-#: builtins/cd.def:329 builtins/common.c:143 builtins/fc.def:293 test.c:946
+#: builtins/cd.def:335 builtins/common.c:161 test.c:916
 msgid "too many arguments"
 msgstr "引数が多すぎます"
 
-#: builtins/cd.def:336
+#: builtins/cd.def:342
 msgid "null directory"
 msgstr "空のディレクトリ"
 
-#: builtins/cd.def:347
+#: builtins/cd.def:353
 msgid "OLDPWD not set"
 msgstr "OLDPWD が設定されていません"
 
-#: builtins/common.c:91
+#: builtins/common.c:96
 #, c-format
 msgid "line %d: "
 msgstr "%d 行: "
 
-#: builtins/common.c:117 error.c:227
+#: builtins/common.c:134 error.c:264
 #, c-format
 msgid "warning: "
 msgstr "警告: "
 
-#: builtins/common.c:131
+#: builtins/common.c:148
 #, c-format
 msgid "%s: usage: "
 msgstr "%s: 使用法: "
 
-#: builtins/common.c:178 shell.c:524 shell.c:863
+#: builtins/common.c:193 shell.c:524 shell.c:866
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: オプションには引数が必要です"
 
-#: builtins/common.c:184
+#: builtins/common.c:200
 #, c-format
 msgid "%s: numeric argument required"
 msgstr "%s: 数字の引数が必要です"
 
-#: builtins/common.c:190
+#: builtins/common.c:207
 #, c-format
 msgid "%s: not found"
 msgstr "%s: 見つかりません"
 
-#: builtins/common.c:198 shell.c:876
+#: builtins/common.c:216 shell.c:879
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: 無効なオプションです"
 
-#: builtins/common.c:204
+#: builtins/common.c:223
 #, c-format
 msgid "%s: invalid option name"
 msgstr "%s: 無効なオプション名です"
 
-#: builtins/common.c:210 execute_cmd.c:2461 general.c:360 general.c:365
-#: general.c:446 general.c:457
+#: builtins/common.c:230 execute_cmd.c:2402 general.c:368 general.c:373
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "`%s': 有効な識別子ではありません"
 
-#: builtins/common.c:219
+#: builtins/common.c:240
 msgid "invalid octal number"
 msgstr "無効な八進数です"
 
-#: builtins/common.c:221
+#: builtins/common.c:242
 msgid "invalid hex number"
 msgstr "無効な十六進数です"
 
-#: builtins/common.c:223 expr.c:1560 expr.c:1574
+#: builtins/common.c:244 expr.c:1574
 msgid "invalid number"
 msgstr "無効な数字です"
 
-#: builtins/common.c:230
+#: builtins/common.c:252
 #, c-format
 msgid "%s: invalid signal specification"
 msgstr "%s: 無効なシグナル指定です"
 
-#: builtins/common.c:236
+#: builtins/common.c:259
 #, c-format
 msgid "`%s': not a pid or valid job spec"
 msgstr "`%s': pid または有効なジョブ指定ではありません"
 
-#: builtins/common.c:242 error.c:455
+#: builtins/common.c:266 error.c:536
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: 読み取り専用の変数です"
 
-#: builtins/common.c:248
+#: builtins/common.c:273
 #, c-format
 msgid "%s: cannot assign"
 msgstr "%s: 割り当てできません"
 
-#: builtins/common.c:255
+#: builtins/common.c:281
 #, c-format
 msgid "%s: %s out of range"
 msgstr "%s: %s が範囲外です"
 
-#: builtins/common.c:255 builtins/common.c:257
+#: builtins/common.c:281 builtins/common.c:283
 msgid "argument"
 msgstr "引数"
 
-#: builtins/common.c:257
+#: builtins/common.c:283
 #, c-format
 msgid "%s out of range"
 msgstr "%s が範囲外です"
 
-#: builtins/common.c:264
+#: builtins/common.c:291
 #, c-format
 msgid "%s: no such job"
 msgstr "%s: そのようなジョブはありません"
 
-#: builtins/common.c:271
+#: builtins/common.c:299
 #, c-format
 msgid "%s: no job control"
 msgstr "%s: ジョブ制御が無効になっています"
 
-#: builtins/common.c:273
+#: builtins/common.c:301
 msgid "no job control"
 msgstr "ジョブ制御が無効になっています"
 
-#: builtins/common.c:282
+#: builtins/common.c:311
 #, c-format
 msgid "%s: restricted"
 msgstr "%s: 制限されています"
 
-#: builtins/common.c:284
+#: builtins/common.c:313
 msgid "restricted"
 msgstr "制限されています"
 
-#: builtins/common.c:291
+#: builtins/common.c:321
 #, c-format
 msgid "%s: not a shell builtin"
 msgstr "%s: シェルのビルトイン関数ではありません"
 
-#: builtins/common.c:300
+#: builtins/common.c:330
 #, c-format
 msgid "write error: %s"
 msgstr "書き込みエラー: %s"
 
-#: builtins/common.c:307
+#: builtins/common.c:338
 #, c-format
 msgid "error setting terminal attributes: %s"
 msgstr "ターミナル属性の設定時にエラーが発生しました : %s"
 
-#: builtins/common.c:309
+#: builtins/common.c:340
 #, c-format
 msgid "error getting terminal attributes: %s"
 msgstr "ターミナル属性の取得時にエラーが発生しました : %s"
 
-#: builtins/common.c:599
+#: builtins/common.c:642
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: カレントディレクトリの取得時にエラーが発生しました : %s: %s\n"
 
-#: builtins/common.c:663 builtins/common.c:665
+#: builtins/common.c:708 builtins/common.c:710
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: 曖昧なジョブ指定です"
 
-#: builtins/common.c:917
+#: builtins/common.c:971
 msgid "help not available in this version"
 msgstr "このバージョンではヘルプが利用できません"
 
-#: builtins/common.c:985
-#, c-format
-msgid "%s: not an indexed array"
-msgstr "%s: インデックス配列ではありません"
-
-#: builtins/common.c:1008 builtins/set.def:964 variables.c:3864
+#: builtins/common.c:1038 builtins/set.def:953 variables.c:3825
 #, c-format
 msgid "%s: cannot unset: readonly %s"
 msgstr "%s: 消去できません: %s は読み取り専用です"
 
-#: builtins/common.c:1013 builtins/set.def:930 variables.c:3869
+#: builtins/common.c:1043 builtins/set.def:932 variables.c:3830
 #, c-format
 msgid "%s: cannot unset"
 msgstr "%s: 消去できません"
 
-#: builtins/complete.def:285
+#: builtins/complete.def:287
 #, c-format
 msgid "%s: invalid action name"
 msgstr "%s: 無効なアクション名です"
 
-#: builtins/complete.def:501 builtins/complete.def:644
-#: builtins/complete.def:899
+#: builtins/complete.def:486 builtins/complete.def:642
+#: builtins/complete.def:873
 #, c-format
 msgid "%s: no completion specification"
 msgstr "%s: 補完指定がありません"
 
-#: builtins/complete.def:703
+#: builtins/complete.def:696
 msgid "warning: -F option may not work as you expect"
 msgstr "警告: -F オプションは期待通りに動作しないかもしれません"
 
-#: builtins/complete.def:705
+#: builtins/complete.def:698
 msgid "warning: -C option may not work as you expect"
 msgstr "警告: -C オプションは期待通りに動作しないかもしれません"
 
-#: builtins/complete.def:872
+#: builtins/complete.def:846
 msgid "not currently executing completion function"
 msgstr "補完機能は現在実行されていません"
 
-#: builtins/declare.def:136
+#: builtins/declare.def:137
 msgid "can only be used in a function"
 msgstr "関数の中でのみ使用できます"
 
-#: builtins/declare.def:472
+#: builtins/declare.def:437
 msgid "cannot use `-f' to make functions"
 msgstr "関数作成時に `-f' を使用できません"
 
-#: builtins/declare.def:500 execute_cmd.c:6249
+#: builtins/declare.def:464 execute_cmd.c:6132
 #, c-format
 msgid "%s: readonly function"
 msgstr "%s: 読み取り専用関数です"
 
-#: builtins/declare.def:557 builtins/declare.def:844
+#: builtins/declare.def:521 builtins/declare.def:804
 #, c-format
 msgid "%s: reference variable cannot be an array"
 msgstr "%s: 参照変数は配列であってはいけません"
 
-#: builtins/declare.def:568 variables.c:3345
+#: builtins/declare.def:532 variables.c:3359
 #, c-format
 msgid "%s: nameref variable self references not allowed"
 msgstr "%s: 自身を参照する名前参照変数は許可されていません"
 
-#: builtins/declare.def:573 variables.c:2034 variables.c:3342
+#: builtins/declare.def:537 variables.c:2072 variables.c:3278 variables.c:3286
+#: variables.c:3356
 #, c-format
 msgid "%s: circular name reference"
 msgstr "%s: 循環名前参照です"
 
-#: builtins/declare.def:577 builtins/declare.def:851 builtins/declare.def:860
+#: builtins/declare.def:541 builtins/declare.def:811 builtins/declare.def:820
 #, c-format
 msgid "`%s': invalid variable name for name reference"
 msgstr "`%s': 名前参照として無効な変数です"
 
-#: builtins/declare.def:912
+#: builtins/declare.def:856
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
 msgstr "%s: この方法で配列変数を消去することはできません"
 
-#: builtins/declare.def:918
+#: builtins/declare.def:862 builtins/read.def:887
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: 連想配列からインデックス配列に変換することはできません"
 
-#: builtins/declare.def:947
+#: builtins/declare.def:891
 #, c-format
 msgid "%s: quoted compound array assignment deprecated"
 msgstr ""
 
-#: builtins/enable.def:149 builtins/enable.def:157
+#: builtins/enable.def:145 builtins/enable.def:153
 msgid "dynamic loading not available"
 msgstr "動的ロードは利用できません"
 
-#: builtins/enable.def:385
+#: builtins/enable.def:376
 #, c-format
 msgid "cannot open shared object %s: %s"
 msgstr "共有オブジェクト %s を開くことができません : %s"
 
-#: builtins/enable.def:404
-#, c-format
-msgid "%s: builtin names may not contain slashes"
-msgstr ""
-
-#: builtins/enable.def:419
+#: builtins/enable.def:405
 #, c-format
 msgid "cannot find %s in shared object %s: %s"
 msgstr "%s が共有オブジェクト %s に存在しません: %s"
 
-#: builtins/enable.def:436
+#: builtins/enable.def:422
 #, c-format
 msgid "%s: dynamic builtin already loaded"
 msgstr "%s: 動的ビルトインはロード済です"
 
-#: builtins/enable.def:440
+#: builtins/enable.def:426
 #, c-format
 msgid "load function for %s returns failure (%d): not loaded"
 msgstr "関数 %s のロードが失敗を返しました(%d): ロードされませんでした"
 
-#: builtins/enable.def:561
+#: builtins/enable.def:551
 #, c-format
 msgid "%s: not dynamically loaded"
 msgstr "%s: 動的にロードされていません"
 
-#: builtins/enable.def:587
+#: builtins/enable.def:577
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: 削除できません: %s"
 
-#: builtins/evalfile.c:136 builtins/hash.def:190 execute_cmd.c:6082
+#: builtins/evalfile.c:138 builtins/hash.def:185 execute_cmd.c:5959
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: ディレクトリです"
 
-#: builtins/evalfile.c:142
+#: builtins/evalfile.c:144
 #, c-format
 msgid "%s: not a regular file"
 msgstr "%s: 通常ファイルではありません"
 
-#: builtins/evalfile.c:151
+#: builtins/evalfile.c:153
 #, c-format
 msgid "%s: file is too large"
 msgstr "%s: ファイルが大きすぎます"
 
-#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1688
+#: builtins/evalfile.c:188 builtins/evalfile.c:206 shell.c:1673
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: バイナリファイルを実行できません"
 
-#: builtins/exec.def:157 builtins/exec.def:159 builtins/exec.def:245
+#: builtins/exec.def:158 builtins/exec.def:160 builtins/exec.def:246
 #, c-format
 msgid "%s: cannot execute: %s"
 msgstr "%s: 実行できません: %s"
 
-#: builtins/exit.def:61
+#: builtins/exit.def:64
 #, c-format
 msgid "logout\n"
 msgstr "ログアウト\n"
 
-#: builtins/exit.def:85
+#: builtins/exit.def:89
 msgid "not login shell: use `exit'"
 msgstr "ログインシェルではありません: `exit' を使用してください"
 
-#: builtins/exit.def:116
+#: builtins/exit.def:121
 #, c-format
 msgid "There are stopped jobs.\n"
 msgstr "停止しているジョブがあります。\n"
 
-#: builtins/exit.def:118
+#: builtins/exit.def:123
 #, c-format
 msgid "There are running jobs.\n"
 msgstr "動作中のジョブがあります。\n"
 
-#: builtins/fc.def:284 builtins/fc.def:391 builtins/fc.def:435
+#: builtins/fc.def:275 builtins/fc.def:373 builtins/fc.def:417
 msgid "no command found"
 msgstr "コマンドが見つかりません"
 
-#: builtins/fc.def:381 builtins/fc.def:386 builtins/fc.def:425
-#: builtins/fc.def:430
+#: builtins/fc.def:363 builtins/fc.def:368 builtins/fc.def:407
+#: builtins/fc.def:412
 msgid "history specification"
 msgstr "ヒストリ指定"
 
-#: builtins/fc.def:462
+#: builtins/fc.def:444
 #, c-format
 msgid "%s: cannot open temp file: %s"
 msgstr "%s: 一時ファイルを開くことができません: %s"
 
-#: builtins/fg_bg.def:148 builtins/jobs.def:289
+#: builtins/fg_bg.def:152 builtins/jobs.def:284
 msgid "current"
 msgstr "カレント"
 
-#: builtins/fg_bg.def:157
+#: builtins/fg_bg.def:161
 #, c-format
 msgid "job %d started without job control"
 msgstr "ジョブ %d がジョブ制御なしで開始されました"
@@ -533,11 +514,11 @@ msgstr "%s: 不正なオプションです -- %c\n"
 msgid "%s: option requires an argument -- %c\n"
 msgstr "%s: オプションには引数が必要です -- %c\n"
 
-#: builtins/hash.def:88
+#: builtins/hash.def:91
 msgid "hashing disabled"
 msgstr "ハッシュが無効になっています"
 
-#: builtins/hash.def:144
+#: builtins/hash.def:139
 #, c-format
 msgid "%s: hash table empty\n"
 msgstr "%s: ハッシュテーブルが空です\n"
@@ -562,18 +543,15 @@ msgstr ""
 
 #: builtins/help.def:185
 #, c-format
-msgid ""
-"no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-"`%s' に一致するヘルプ項目がありません。`help help'、`man -k %s' または `info "
-"%s' を試してください"
+msgid "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
+msgstr "`%s' に一致するヘルプ項目がありません。`help help'、`man -k %s' または `info %s' を試してください"
 
-#: builtins/help.def:214
+#: builtins/help.def:223
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: 開くことができません: %s"
 
-#: builtins/help.def:502
+#: builtins/help.def:523
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -584,42 +562,29 @@ msgid ""
 "A star (*) next to a name means that the command is disabled.\n"
 "\n"
 msgstr ""
-"これらのシェルコマンドは内部で定義されています。`help' と入力して一覧を参照し"
-"てください。\n"
+"これらのシェルコマンドは内部で定義されています。`help' と入力して一覧を参照してください。\n"
 "`help 名前' と入力すると `名前' という関数のより詳しい説明が得られます。\n"
 "'info bash' を使用するとシェル全般のより詳しい説明が得られます。\n"
-"`man -k' または info を使用すると一覧にないコマンドのより詳しい説明が得られま"
-"す。\n"
+"`man -k' または info を使用すると一覧にないコマンドのより詳しい説明が得られます。\n"
 "\n"
-"名前の後にアスタリスク (*) がある場合はそのコマンドが無効になっていることを意"
-"味します。\n"
+"名前の後にアスタリスク (*) がある場合はそのコマンドが無効になっていることを意味します。\n"
 "\n"
 
-#: builtins/history.def:162
+#: builtins/history.def:159
 msgid "cannot use more than one of -anrw"
 msgstr "-anrw を2つ以上一緒に使用することはできません"
 
-#: builtins/history.def:195 builtins/history.def:207 builtins/history.def:218
-#: builtins/history.def:243 builtins/history.def:250
+#: builtins/history.def:192 builtins/history.def:204 builtins/history.def:215
+#: builtins/history.def:228 builtins/history.def:240 builtins/history.def:247
 msgid "history position"
 msgstr "ヒストリ位置"
 
-#: builtins/history.def:278
-#, fuzzy
-msgid "empty filename"
-msgstr "空の配列変数名です"
-
-#: builtins/history.def:280 subst.c:8233
-#, c-format
-msgid "%s: parameter null or not set"
-msgstr "%s: パラメータが null または設定されていません"
-
-#: builtins/history.def:349
+#: builtins/history.def:338
 #, c-format
 msgid "%s: invalid timestamp"
 msgstr "%s: 無効なタイムスタンプです"
 
-#: builtins/history.def:457
+#: builtins/history.def:449
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: ヒストリの展開に失敗しました"
@@ -633,113 +598,113 @@ msgstr "%s: inlib が失敗しました"
 msgid "no other options allowed with `-x'"
 msgstr "`-x' は他のオプションを同時に使用できません"
 
-#: builtins/kill.def:210
+#: builtins/kill.def:211
 #, c-format
 msgid "%s: arguments must be process or job IDs"
 msgstr "%s: 引数はプロセスIDかジョブIDでなければいけません"
 
-#: builtins/kill.def:271
+#: builtins/kill.def:274
 msgid "Unknown error"
 msgstr "不明なエラーです"
 
-#: builtins/let.def:96 builtins/let.def:120 expr.c:634 expr.c:652
+#: builtins/let.def:97 builtins/let.def:122 expr.c:640 expr.c:658
 msgid "expression expected"
 msgstr "式が予期されます"
 
-#: builtins/mapfile.def:249 builtins/read.def:359
+#: builtins/mapfile.def:180
+#, c-format
+msgid "%s: not an indexed array"
+msgstr "%s: インデックス配列ではありません"
+
+#: builtins/mapfile.def:276 builtins/read.def:336
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: 無効なファイル記述子指定です"
 
-#: builtins/mapfile.def:257 builtins/read.def:366
+#: builtins/mapfile.def:284 builtins/read.def:343
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: 無効なファイル記述子: %s"
 
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:293 builtins/mapfile.def:331
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: 無効な行数です"
 
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: 無効な配列の原点です"
 
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:321
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: コールバックの quantum が無効です"
 
-#: builtins/mapfile.def:327
+#: builtins/mapfile.def:354
 msgid "empty array variable name"
 msgstr "空の配列変数名です"
 
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:375
 msgid "array variable support required"
 msgstr "配列変数のサポートが必要です"
 
-#: builtins/printf.def:475
+#: builtins/printf.def:430
 #, c-format
 msgid "`%s': missing format character"
 msgstr "`%s': 書式指定文字がありません"
 
-#: builtins/printf.def:600
+#: builtins/printf.def:485
 #, c-format
 msgid "`%c': invalid time format specification"
 msgstr "`%c': 無効な時間書式指定です"
 
-#: builtins/printf.def:702
-#, c-format
-msgid "%%Q: string length: %s"
-msgstr ""
-
-#: builtins/printf.def:802
+#: builtins/printf.def:708
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "`%c': 無効な書式指定文字です"
 
-#: builtins/printf.def:827 execute_cmd.c:6080
+#: builtins/printf.def:734
 #, c-format
-msgid "%s: %s"
-msgstr "%s: %s"
+msgid "warning: %s: %s"
+msgstr "警告: %s: %s"
 
-#: builtins/printf.def:919
+#: builtins/printf.def:822
 #, c-format
 msgid "format parsing problem: %s"
 msgstr "書式解析問題です: %s"
 
-#: builtins/printf.def:1104
+#: builtins/printf.def:919
 msgid "missing hex digit for \\x"
 msgstr "\\x 用の十六進数字がありません"
 
-#: builtins/printf.def:1119
+#: builtins/printf.def:934
 #, c-format
 msgid "missing unicode digit for \\%c"
 msgstr "\\%c 用のユニコード数値がありません"
 
-#: builtins/pushd.def:198
+#: builtins/pushd.def:199
 msgid "no other directory"
 msgstr "他のディレクトリはありません"
 
-#: builtins/pushd.def:358 builtins/pushd.def:383
+#: builtins/pushd.def:360
 #, c-format
 msgid "%s: invalid argument"
 msgstr "%s: 無効な引数です"
 
-#: builtins/pushd.def:501
+#: builtins/pushd.def:480
 msgid "<no current directory>"
 msgstr "<カレントディレクトリがありません>"
 
-#: builtins/pushd.def:543
+#: builtins/pushd.def:524
 msgid "directory stack empty"
 msgstr "ディレクトリスタックが空です"
 
-#: builtins/pushd.def:545
+#: builtins/pushd.def:526
 msgid "directory stack index"
 msgstr "ディレクトリスタックのインデックス"
 
-#: builtins/pushd.def:708
+#: builtins/pushd.def:701
 msgid ""
 "Display the list of currently remembered directories.  Directories\n"
 "    find their way onto the list with the `pushd' command; you can get\n"
@@ -754,12 +719,10 @@ msgid ""
 "    \twith its position in the stack\n"
 "    \n"
 "    Arguments:\n"
-"      +N\tDisplays the Nth entry counting from the left of the list shown "
-"by\n"
+"      +N\tDisplays the Nth entry counting from the left of the list shown by\n"
 "    \tdirs when invoked without options, starting with zero.\n"
 "    \n"
-"      -N\tDisplays the Nth entry counting from the right of the list shown "
-"by\n"
+"      -N\tDisplays the Nth entry counting from the right of the list shown by\n"
 "\tdirs when invoked without options, starting with zero."
 msgstr ""
 "現在記憶されているディレクトリスタックを表示します。ディレクトリは `pushd'\n"
@@ -781,7 +744,7 @@ msgstr ""
 "      -N\tオプションなしで起動された場合にリストの末尾から数えて\n"
 "\tN番目の要素を表示します。開始番号は0です。"
 
-#: builtins/pushd.def:730
+#: builtins/pushd.def:723
 msgid ""
 "Adds a directory to the top of the directory stack, or rotates\n"
 "    the stack, making the new top of the stack the current working\n"
@@ -825,7 +788,7 @@ msgstr ""
 "    \n"
 "    `dirs' ビルトインコマンドでディレクトリスタックを表示します。"
 
-#: builtins/pushd.def:755
+#: builtins/pushd.def:748
 msgid ""
 "Removes entries from the directory stack.  With no arguments, removes\n"
 "    the top directory from the stack, and changes to the new top directory.\n"
@@ -863,331 +826,319 @@ msgstr ""
 "    \n"
 "    `dirs' ビルトインコマンドでディレクトリスタックを表示します。"
 
-#: builtins/read.def:331
+#: builtins/read.def:308
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: 無効なタイムアウト指定です"
 
-#: builtins/read.def:868
+#: builtins/read.def:827
 #, c-format
 msgid "read error: %d: %s"
 msgstr "読み込みエラー: %d: %s"
 
-#: builtins/return.def:73
+#: builtins/return.def:68
 msgid "can only `return' from a function or sourced script"
 msgstr "`return' は関数または source されたスクリプト内のみで利用できます"
 
-#: builtins/set.def:863
+#: builtins/set.def:869
 msgid "cannot simultaneously unset a function and a variable"
 msgstr "変数と関数を同時に消去することはできません"
 
-#: builtins/set.def:981
+#: builtins/set.def:969
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: 配列変数ではありません"
 
-#: builtins/setattr.def:187
+#: builtins/setattr.def:189
 #, c-format
 msgid "%s: not a function"
 msgstr "%s: 関数ではありません"
 
-#: builtins/setattr.def:192
+#: builtins/setattr.def:194
 #, c-format
 msgid "%s: cannot export"
 msgstr "%s: export できません"
 
-#: builtins/shift.def:74 builtins/shift.def:86
+#: builtins/shift.def:72 builtins/shift.def:79
 msgid "shift count"
 msgstr "シフト回数"
 
-#: builtins/shopt.def:330
+#: builtins/shopt.def:323
 msgid "cannot set and unset shell options simultaneously"
 msgstr "シェルオプションを同時に有効かつ無効にできません"
 
-#: builtins/shopt.def:454
+#: builtins/shopt.def:444
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: 無効なシェルオプション名です"
 
-#: builtins/source.def:127
+#: builtins/source.def:128
 msgid "filename argument required"
 msgstr "ファイル名が引数として必要です"
 
-#: builtins/source.def:153
+#: builtins/source.def:154
 #, c-format
 msgid "%s: file not found"
 msgstr "%s: ファイルが見つかりません"
 
-#: builtins/suspend.def:105
+#: builtins/suspend.def:102
 msgid "cannot suspend"
 msgstr "中断できません"
 
-#: builtins/suspend.def:111
+#: builtins/suspend.def:112
 msgid "cannot suspend a login shell"
 msgstr "ログインシェルを中断できません"
 
-#: builtins/type.def:231
+#: builtins/type.def:235
 #, c-format
 msgid "%s is aliased to `%s'\n"
 msgstr "%s は `%s' のエイリアスです\n"
 
-#: builtins/type.def:252
+#: builtins/type.def:256
 #, c-format
 msgid "%s is a shell keyword\n"
 msgstr "%s はシェルの予約語です\n"
 
-#: builtins/type.def:270 builtins/type.def:314
-#, c-format
-msgid "%s is a special shell builtin\n"
-msgstr "%s は特殊シェル組み込み関数です\n"
-
-#: builtins/type.def:289
+#: builtins/type.def:275
 #, c-format
 msgid "%s is a function\n"
 msgstr "%s は関数です\n"
 
-#: builtins/type.def:316
+#: builtins/type.def:299
+#, c-format
+msgid "%s is a special shell builtin\n"
+msgstr "%s は特殊シェル組み込み関数です\n"
+
+#: builtins/type.def:301
 #, c-format
 msgid "%s is a shell builtin\n"
 msgstr "%s はシェル組み込み関数です\n"
 
-#: builtins/type.def:338 builtins/type.def:425
+#: builtins/type.def:323 builtins/type.def:408
 #, c-format
 msgid "%s is %s\n"
 msgstr "%s は %s です\n"
 
-#: builtins/type.def:358
+#: builtins/type.def:343
 #, c-format
 msgid "%s is hashed (%s)\n"
 msgstr "%s はハッシュされています (%s)\n"
 
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:400
 #, c-format
 msgid "%s: invalid limit argument"
 msgstr "%s: limit の無効な引数です"
 
-#: builtins/ulimit.def:424
+#: builtins/ulimit.def:426
 #, c-format
 msgid "`%c': bad command"
 msgstr "`%c': 誤ったコマンドです"
 
-#: builtins/ulimit.def:459
+#: builtins/ulimit.def:464
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s: limit を取得できません: %s"
 
-#: builtins/ulimit.def:492
+#: builtins/ulimit.def:490
 msgid "limit"
 msgstr "limit"
 
-#: builtins/ulimit.def:504 builtins/ulimit.def:790
+#: builtins/ulimit.def:502 builtins/ulimit.def:802
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s: limit を変更できません : %s"
 
-#: builtins/umask.def:114
+#: builtins/umask.def:115
 msgid "octal number"
 msgstr "八進数"
 
-#: builtins/umask.def:256
+#: builtins/umask.def:232
 #, c-format
 msgid "`%c': invalid symbolic mode operator"
 msgstr "`%c': 無効なシンボリックモード演算子です"
 
-#: builtins/umask.def:341
+#: builtins/umask.def:287
 #, c-format
 msgid "`%c': invalid symbolic mode character"
 msgstr "`%c': 無効なシンボリックモード文字です"
 
-#: error.c:83 error.c:311 error.c:313 error.c:315
+#: error.c:89 error.c:373 error.c:375 error.c:377
 msgid " line "
 msgstr " 行 "
 
-#: error.c:151
+#: error.c:164
 #, c-format
 msgid "last command: %s\n"
 msgstr "最後のコマンド: %s\n"
 
-#: error.c:159
+#: error.c:172
 #, c-format
 msgid "Aborting..."
 msgstr "中止しています..."
 
 #. TRANSLATORS: this is a prefix for informational messages.
-#: error.c:244
+#: error.c:287
 #, c-format
 msgid "INFORM: "
 msgstr "情報: "
 
-#: error.c:261
+#: error.c:310
 #, c-format
 msgid "DEBUG warning: "
 msgstr "デバッグ 警告: "
 
-#: error.c:413
+#: error.c:488
 msgid "unknown command error"
 msgstr "不明なコマンドエラーです"
 
-#: error.c:414
+#: error.c:489
 msgid "bad command type"
 msgstr "誤ったコマンドタイプです"
 
-#: error.c:415
+#: error.c:490
 msgid "bad connector"
 msgstr "誤った接続です"
 
-#: error.c:416
+#: error.c:491
 msgid "bad jump"
 msgstr "誤ったジャンプです"
 
-#: error.c:449
+#: error.c:529
 #, c-format
 msgid "%s: unbound variable"
 msgstr "%s: 未割り当ての変数です"
 
-#: eval.c:252
+#: eval.c:243
 msgid "\atimed out waiting for input: auto-logout\n"
 msgstr "\a入力待ちがタイムアウトしました: 自動ログアウト\n"
 
-#: execute_cmd.c:587
+#: execute_cmd.c:555
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "/dev/null から標準入力に対してリダイレクトできません: %s"
 
-#: execute_cmd.c:1369
+#: execute_cmd.c:1317
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "TIMEFORMAT: `%c': 無効な書式文字です"
 
-#: execute_cmd.c:2447
+#: execute_cmd.c:2391
 #, c-format
 msgid "execute_coproc: coproc [%d:%s] still exists"
-msgstr ""
+msgstr "execute_coproc: coproc [%d:%s] は既に存在しています"
 
-#: execute_cmd.c:2600
+#: execute_cmd.c:2524
 msgid "pipe error"
 msgstr "パイプエラー"
 
-#: execute_cmd.c:4048
-#, c-format
-msgid "invalid regular expression `%s': %s"
-msgstr ""
-
-#: execute_cmd.c:4050
-#, c-format
-msgid "invalid regular expression `%s'"
-msgstr ""
-
-#: execute_cmd.c:5028
+#: execute_cmd.c:4923
 #, c-format
 msgid "eval: maximum eval nesting level exceeded (%d)"
 msgstr "eval: eval の入れ子レベルの最大値を超えています (%d)"
 
-#: execute_cmd.c:5041
+#: execute_cmd.c:4935
 #, c-format
 msgid "%s: maximum source nesting level exceeded (%d)"
 msgstr "%s: source の入れ子レベルの最大値を超えています (%d)"
 
-#: execute_cmd.c:5170
+#: execute_cmd.c:5043
 #, c-format
 msgid "%s: maximum function nesting level exceeded (%d)"
 msgstr "%s: 関数の入れ子レベルの最大値を超えています (%d)"
 
-#: execute_cmd.c:5727
+#: execute_cmd.c:5598
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: 制限されています:  `/' をコマンド名の中に指定できません"
 
-#: execute_cmd.c:5844
+#: execute_cmd.c:5715
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: コマンドが見つかりません"
 
-#: execute_cmd.c:6118
+#: execute_cmd.c:5957
 #, c-format
-msgid "%s: %s: bad interpreter"
-msgstr "%s: %s: 誤ったインタプリタです"
+msgid "%s: %s"
+msgstr "%s: %s"
 
-#: execute_cmd.c:6127
+#: execute_cmd.c:5975
 #, c-format
 msgid "%s: cannot execute: required file not found"
 msgstr "%s: 実行できません: 必要なファイルがありません"
 
-#: execute_cmd.c:6164
+#: execute_cmd.c:6000
+#, c-format
+msgid "%s: %s: bad interpreter"
+msgstr "%s: %s: 誤ったインタプリタです"
+
+#: execute_cmd.c:6037
 #, c-format
 msgid "%s: cannot execute binary file: %s"
 msgstr "%s: バイナリファイルを実行できません: %s"
 
-#: execute_cmd.c:6290
+#: execute_cmd.c:6123
+#, c-format
+msgid "`%s': is a special builtin"
+msgstr "`%s': 特殊シェル組み込み関数です"
+
+#: execute_cmd.c:6175
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "fd %d を fd %d に複製できません"
 
-#: expr.c:265
+#: expr.c:263
 msgid "expression recursion level exceeded"
 msgstr "式の再帰可能レベルを越えました"
 
-#: expr.c:293
+#: expr.c:291
 msgid "recursion stack underflow"
 msgstr "再帰スタックがアンダーフローしました"
 
-#: expr.c:472
-#, fuzzy
-msgid "arithmetic syntax error in expression"
+#: expr.c:478
+msgid "syntax error in expression"
 msgstr "式に構文エラーがあります"
 
-#: expr.c:516
+#: expr.c:522
 msgid "attempted assignment to non-variable"
 msgstr "非変数に割り当てを行おうとしてます"
 
-#: expr.c:525
-#, fuzzy
-msgid "arithmetic syntax error in variable assignment"
+#: expr.c:531
+msgid "syntax error in variable assignment"
 msgstr "変数の割り当てに構文エラーがあります"
 
-#: expr.c:539 expr.c:906
+#: expr.c:545 expr.c:912
 msgid "division by 0"
 msgstr "0 による除算です"
 
-#: expr.c:587
+#: expr.c:593
 msgid "bug: bad expassign token"
 msgstr "バグ: 誤った式のトークンです"
 
-#: expr.c:641
+#: expr.c:647
 msgid "`:' expected for conditional expression"
 msgstr "条件式には `:' が予期されます"
 
-#: expr.c:968
+#: expr.c:973
 msgid "exponent less than 0"
 msgstr "0より小さい指数部です"
 
-#: expr.c:1029
+#: expr.c:1030
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "識別子は前置インクリメントまたは前置デクリメントが予期されます"
 
-#: expr.c:1056
+#: expr.c:1057
 msgid "missing `)'"
 msgstr "`)' がありません"
 
-#: expr.c:1107 expr.c:1490
-#, fuzzy
-msgid "arithmetic syntax error: operand expected"
+#: expr.c:1108 expr.c:1492
+msgid "syntax error: operand expected"
 msgstr "構文エラー: オペランドが予期されます"
 
-#: expr.c:1451 expr.c:1472
-msgid "--: assignment requires lvalue"
-msgstr ""
-
-#: expr.c:1453 expr.c:1474
-msgid "++: assignment requires lvalue"
-msgstr ""
-
-#: expr.c:1492
-#, fuzzy
-msgid "arithmetic syntax error: invalid arithmetic operator"
+#: expr.c:1494
+msgid "syntax error: invalid arithmetic operator"
 msgstr "構文エラー: 無効な計算演算子です"
 
-#: expr.c:1515
+#: expr.c:1518
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
 msgstr "%s%s%s: %s (エラーのあるトークンは \"%s\")"
@@ -1204,7 +1155,7 @@ msgstr "無効な整数定数です"
 msgid "value too great for base"
 msgstr "基底の値が大きすぎます"
 
-#: expr.c:1654
+#: expr.c:1652
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: 式のエラー\n"
@@ -1213,51 +1164,46 @@ msgstr "%s: 式のエラー\n"
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd: 親ディレクトリにアクセスできません"
 
-#: general.c:452
-#, c-format
-msgid "`%s': is a special builtin"
-msgstr "`%s': 特殊シェル組み込み関数です"
-
-#: input.c:98 subst.c:6580
+#: input.c:99 subst.c:6208
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "ファイル記述子(fd) %d を無遅延モードに再設定できません"
 
-#: input.c:254
+#: input.c:266
 #, c-format
 msgid "cannot allocate new file descriptor for bash input from fd %d"
 msgstr "新規ファイル記述子(fd) %d を bash の入力として割り当てられません"
 
-#: input.c:262
+#: input.c:274
 #, c-format
 msgid "save_bash_input: buffer already exists for new fd %d"
 msgstr "save_bash_input: 新規 fd %d のバッファはすでに存在します"
 
-#: jobs.c:539
+#: jobs.c:543
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline: pgrp pipe"
 
-#: jobs.c:899
+#: jobs.c:907
 #, c-format
 msgid "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_delete: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:951
+#: jobs.c:960
 #, c-format
 msgid "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 msgstr "bgp_search: LOOP: psi (%d) == storage[psi].bucket_next"
 
-#: jobs.c:1292
+#: jobs.c:1279
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "実行中のジョブ %2$d で fork した pid %1$d が出現しました"
 
-#: jobs.c:1408
+#: jobs.c:1397
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "プロセスグループ %2$ld のジョブ %1$d を削除しています"
 
-#: jobs.c:1509
+#: jobs.c:1502
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "add_process: pid %5ld (%s) はまだ存在しているとマークされています"
@@ -1267,138 +1213,137 @@ msgstr "add_process: pid %5ld (%s) はまだ存在しているとマークされ
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid: %ld: そのような pid は存在しません"
 
-#: jobs.c:1853
+#: jobs.c:1854
 #, c-format
 msgid "Signal %d"
 msgstr "シグナル %d"
 
-#: jobs.c:1864 jobs.c:1890
+#: jobs.c:1868 jobs.c:1894
 msgid "Done"
 msgstr "終了"
 
-#: jobs.c:1869 siglist.c:123
+#: jobs.c:1873 siglist.c:123
 msgid "Stopped"
 msgstr "停止"
 
-#: jobs.c:1873
+#: jobs.c:1877
 #, c-format
 msgid "Stopped(%s)"
 msgstr "停止 (%s)"
 
-#: jobs.c:1877
+#: jobs.c:1881
 msgid "Running"
 msgstr "実行中"
 
-#: jobs.c:1894
+#: jobs.c:1898
 #, c-format
 msgid "Done(%d)"
 msgstr "終了(%d)"
 
-#: jobs.c:1896
+#: jobs.c:1900
 #, c-format
 msgid "Exit %d"
 msgstr "終了 %d"
 
-#: jobs.c:1899
+#: jobs.c:1903
 msgid "Unknown status"
 msgstr "不明なステータス"
 
-#: jobs.c:1983
+#: jobs.c:1990
 #, c-format
 msgid "(core dumped) "
 msgstr "(コアダンプ) "
 
-#: jobs.c:2002
+#: jobs.c:2009
 #, c-format
 msgid "  (wd: %s)"
 msgstr "  (wd: %s)"
 
-#: jobs.c:2229
+#: jobs.c:2250
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "子プロセス setpgid (%ld から %ld)"
 
-#: jobs.c:2580 nojobs.c:637
+#: jobs.c:2608 nojobs.c:666
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: pid %ld はこのシェルの子プロセスではありません"
 
-#: jobs.c:2872
+#: jobs.c:2884
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for: プロセス %ld の記録がありません"
 
-#: jobs.c:3228
+#: jobs.c:3223
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: ジョブ %d は停止しています"
 
-#: jobs.c:3566
+#: jobs.c:3551
 #, c-format
 msgid "%s: no current jobs"
 msgstr "%s: カレントジョブがありません"
 
-#: jobs.c:3573
+#: jobs.c:3558
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: ジョブは終了しました"
 
-#: jobs.c:3582
+#: jobs.c:3567
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: ジョブ %d はすでにバックグラウンドで動作しています"
 
-#: jobs.c:3810
+#: jobs.c:3793
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr "waitchld: 不定のブロックを避けるために WNOHANG をオンにしました。"
 
-#: jobs.c:4348
+#: jobs.c:4307
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: %d 行: "
 
-#: jobs.c:4363 nojobs.c:892
+#: jobs.c:4321 nojobs.c:921
 #, c-format
 msgid " (core dumped)"
 msgstr " (コアダンプ)"
 
-#: jobs.c:4379 jobs.c:4399
+#: jobs.c:4333 jobs.c:4346
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(wd now: %s)\n"
 
-#: jobs.c:4430
+#: jobs.c:4378
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp が失敗しました"
 
-#: jobs.c:4486
+#: jobs.c:4434
 msgid "initialize_job_control: no job control in background"
-msgstr ""
-"initialize_job_control: バックグラウンドにジョブコントロールがありません"
+msgstr "initialize_job_control: バックグラウンドにジョブコントロールがありません"
 
-#: jobs.c:4502
+#: jobs.c:4450
 msgid "initialize_job_control: line discipline"
 msgstr "initialize_job_control: line discipline"
 
-#: jobs.c:4512
+#: jobs.c:4460
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid"
 
-#: jobs.c:4533 jobs.c:4542
+#: jobs.c:4481 jobs.c:4490
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr "端末プロセスグループを設定できません (%d)"
 
-#: jobs.c:4547
+#: jobs.c:4495
 msgid "no job control in this shell"
 msgstr "このシェルではジョブ制御が無効になっています"
 
-#: lib/malloc/malloc.c:364
+#: lib/malloc/malloc.c:367
 #, c-format
 msgid "malloc: failed assertion: %s\n"
 msgstr "malloc: 失敗したアサーション: %s\n"
 
-#: lib/malloc/malloc.c:375
+#: lib/malloc/malloc.c:383
 #, c-format
 msgid ""
 "\r\n"
@@ -1407,389 +1352,376 @@ msgstr ""
 "\r\n"
 "malloc: %s:%d: アサーション失敗\r\n"
 
-#: lib/malloc/malloc.c:376 lib/malloc/malloc.c:925
+#: lib/malloc/malloc.c:384 lib/malloc/malloc.c:941
 msgid "unknown"
 msgstr "不明"
 
-#: lib/malloc/malloc.c:876
+#: lib/malloc/malloc.c:892
 msgid "malloc: block on free list clobbered"
 msgstr "malloc: free ブロックリストが壊れています"
 
-#: lib/malloc/malloc.c:961
+#: lib/malloc/malloc.c:980
 msgid "free: called with already freed block argument"
 msgstr "free: 既に free されたブロックを引数として呼び出されました"
 
-#: lib/malloc/malloc.c:964
+#: lib/malloc/malloc.c:983
 msgid "free: called with unallocated block argument"
 msgstr "free: 未割当のブロックを引数として呼び出されました"
 
-#: lib/malloc/malloc.c:982
+#: lib/malloc/malloc.c:1001
 msgid "free: underflow detected; mh_nbytes out of range"
 msgstr "free: アンダーフローを検出しました。 mh_nbytes が範囲外です"
 
-#: lib/malloc/malloc.c:988
+#: lib/malloc/malloc.c:1007
 msgid "free: underflow detected; magic8 corrupted"
 msgstr "free: アンダーフローを検出しました。magic8 壊れています"
 
-#: lib/malloc/malloc.c:995
+#: lib/malloc/malloc.c:1014
 msgid "free: start and end chunk sizes differ"
 msgstr "free: 開始と終了の塊の大きさが異なっています"
 
-#: lib/malloc/malloc.c:1154
+#: lib/malloc/malloc.c:1176
 msgid "realloc: called with unallocated block argument"
 msgstr "realloc: 未割当のブロックを引数として呼び出されました"
 
-#: lib/malloc/malloc.c:1169
+#: lib/malloc/malloc.c:1191
 msgid "realloc: underflow detected; mh_nbytes out of range"
 msgstr "realloc: アンダーフローを検出しました。 mh_nbytes が範囲外です"
 
-#: lib/malloc/malloc.c:1175
+#: lib/malloc/malloc.c:1197
 msgid "realloc: underflow detected; magic8 corrupted"
 msgstr "realloc: アンダーフローを検出しました。magic8 が壊れています"
 
-#: lib/malloc/malloc.c:1183
+#: lib/malloc/malloc.c:1205
 msgid "realloc: start and end chunk sizes differ"
 msgstr "realloc: 開始と終了の塊の大きさが異なっています"
 
-#: lib/malloc/table.c:179
+#: lib/malloc/table.c:191
 #, c-format
 msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
 msgstr "register_alloc: FIND_ALLOC で割り当てテーブルがいっぱいです\n"
 
-#: lib/malloc/table.c:188
+#: lib/malloc/table.c:200
 #, c-format
 msgid "register_alloc: %p already in table as allocated?\n"
 msgstr "register_alloc: %p 既にテーブル上では割り当てられています\n"
 
-#: lib/malloc/table.c:237
+#: lib/malloc/table.c:253
 #, c-format
 msgid "register_free: %p already in table as free?\n"
 msgstr "register_free: %p テーブル上では既に解放されています\n"
 
-#: lib/sh/fmtulong.c:90
+#: lib/sh/fmtulong.c:102
 msgid "invalid base"
 msgstr "無効な基底"
 
-#: lib/sh/netopen.c:161
+#: lib/sh/netopen.c:168
 #, c-format
 msgid "%s: host unknown"
 msgstr "%s: 不明なホストです"
 
-#: lib/sh/netopen.c:168
+#: lib/sh/netopen.c:175
 #, c-format
 msgid "%s: invalid service"
 msgstr "%s: 無効なサービスです"
 
-#: lib/sh/netopen.c:294
+#: lib/sh/netopen.c:306
 #, c-format
 msgid "%s: bad network path specification"
 msgstr "%s: ネットワークパス指定に誤りがあります"
 
-#: lib/sh/netopen.c:332
+#: lib/sh/netopen.c:347
 msgid "network operations not supported"
 msgstr "ネットワーク操作はサポートされていません"
 
-#: locale.c:222
+#: locale.c:219
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale: LC_ALL: ロケールを変更できません (%s)"
 
-#: locale.c:224
+#: locale.c:221
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale: LC_ALL: ロケールを変更できません (%s): %s"
 
-#: locale.c:297
+#: locale.c:294
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale: %s: ロケールを変更できません (%s)"
 
-#: locale.c:299
+#: locale.c:296
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale: %s: ロケールを変更できません (%s): %s"
 
-#: mailcheck.c:435
+#: mailcheck.c:439
 msgid "You have mail in $_"
 msgstr "メールが $_ にあります"
 
-#: mailcheck.c:460
+#: mailcheck.c:464
 msgid "You have new mail in $_"
 msgstr "新しいメールが $_ にあります"
 
-#: mailcheck.c:476
+#: mailcheck.c:480
 #, c-format
 msgid "The mail in %s has been read\n"
 msgstr "%s のメールは既読です\n"
 
-#: make_cmd.c:286
+#: make_cmd.c:314
 msgid "syntax error: arithmetic expression required"
 msgstr "構文エラー: 数値の式が必要です"
 
-#: make_cmd.c:288
+#: make_cmd.c:316
 msgid "syntax error: `;' unexpected"
 msgstr "構文エラー: 予期しない `;' です"
 
-#: make_cmd.c:289
+#: make_cmd.c:317
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "構文エラー: `((%s))'"
 
-#: make_cmd.c:523
+#: make_cmd.c:569
 #, c-format
 msgid "make_here_document: bad instruction type %d"
 msgstr "make_here_document: 誤った指定の種類 %d"
 
-#: make_cmd.c:627
+#: make_cmd.c:668
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
-msgstr ""
-"ヒアドキュメントの %d 行目でファイル終了 (EOF) に達しました (`%s' が必要)"
+msgstr "ヒアドキュメントの %d 行目でファイル終了 (EOF) に達しました (`%s' が必要)"
 
-#: make_cmd.c:722
+#: make_cmd.c:769
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr "make_redirection: リダイレクト指定 `%d' は範囲外です"
 
-#: parse.y:2518
+#: parse.y:2428
 #, c-format
-msgid ""
-"shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line "
-"truncated"
-msgstr ""
-
-#: parse.y:2810
-#, fuzzy, c-format
-msgid "script file read error: %s"
-msgstr "書き込みエラー: %s"
+msgid "shell_getc: shell_input_line_size (%zu) exceeds SIZE_MAX (%lu): line truncated"
+msgstr "shell_getc: shell_input_line_size (%zu) が SIZE_MAX (%lu)を越えています: 行が途中で切られました"
 
-#: parse.y:3046
+#: parse.y:2921
 msgid "maximum here-document count exceeded"
 msgstr "ヒアドキュメントの最大数を超えました"
 
-#: parse.y:3831 parse.y:4727 parse.y:6767
+#: parse.y:3684 parse.y:4244 parse.y:6148
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
-msgstr "対å¿\9cã\81\99ã\82\8b `%c' ã\82\92æ\8e¢ç´¢ä¸­ã\81«äº\88æ\9c\9fã\81\97ã\81ªã\81\84ã\83\95ã\82¡ã\82¤ã\83«çµ\82äº\86 (EOF) ã\81§ã\81\99"
+msgstr "対å¿\9cã\81\99ã\82\8b `%c' ã\82\92æ\8e¢ç´¢ä¸­ã\81«äº\88æ\9c\9fã\81\9bã\81\9aã\83\95ã\82¡ã\82¤ã\83«ã\81\8cçµ\82äº\86ã\81\97ã\81¾ã\81\97ã\81\9f (EOF)"
 
-#: parse.y:4934
+#: parse.y:4452
 msgid "unexpected EOF while looking for `]]'"
-msgstr "`]]' ã\82\92æ\8e¢ç´¢ä¸­ã\81«äº\88æ\9c\9fã\81\97ã\81ªã\81\84ã\83\95ã\82¡ã\82¤ã\83«çµ\82äº\86 (EOF) ã\81§ã\81\99"
+msgstr "`]]' ã\82\92æ\8e¢ç´¢ä¸­ã\81«äº\88æ\9c\9fã\81\9bã\81\9aã\83\95ã\82¡ã\82¤ã\83«ã\81\8cçµ\82äº\86ã\81\97ã\81¾ã\81\97ã\81\9f (EOF)"
 
-#: parse.y:4939
+#: parse.y:4457
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "条件式に構文エラー: 予期しないトークン `%s' です"
 
-#: parse.y:4943
+#: parse.y:4461
 msgid "syntax error in conditional expression"
 msgstr "条件式に構文エラーがあります"
 
-#: parse.y:5021
+#: parse.y:4539
 #, c-format
 msgid "unexpected token `%s', expected `)'"
 msgstr "予期しないトークン `%s' です。`)' が予期されます"
 
-#: parse.y:5025
+#: parse.y:4543
 msgid "expected `)'"
 msgstr "`)' が予期されます"
 
-#: parse.y:5053
+#: parse.y:4571
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
-msgstr "条件単項演算子に予期しない引数 `%s' です"
+msgstr "条件単項演算子に対する予期しない引数 `%s' です"
 
-#: parse.y:5057
+#: parse.y:4575
 msgid "unexpected argument to conditional unary operator"
-msgstr "条件単項演算子に予期しない引数です"
+msgstr "条件単項演算子に対する予期しない引数です"
 
-#: parse.y:5104
+#: parse.y:4621
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
 msgstr "`%s` は予期しないトークンです。条件二項演算子が予期されます"
 
-#: parse.y:5108
+#: parse.y:4625
 msgid "conditional binary operator expected"
 msgstr "条件二項演算子が予期されます"
 
-#: parse.y:5135
+#: parse.y:4647
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
-msgstr "条件二項演算子に予期しない引数 `%s' です"
+msgstr "条件二項演算子に対する予期しない引数 `%s' です"
 
-#: parse.y:5139
+#: parse.y:4651
 msgid "unexpected argument to conditional binary operator"
-msgstr "条件二項演算子に予期しない引数です"
+msgstr "条件二項演算子に対する予期しない引数です"
 
-#: parse.y:5150
+#: parse.y:4662
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "条件コマンドに予期しないトークン `%c' があります"
 
-#: parse.y:5153
+#: parse.y:4665
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "条件コマンドに予期しないトークン `%s' があります"
 
-#: parse.y:5157
+#: parse.y:4669
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "条件コマンドに予期しないトークン %d があります"
 
-#: parse.y:6737
+#: parse.y:6118
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "予期しないトークン `%s' 周辺に構文エラーがあります"
 
-#: parse.y:6756
+#: parse.y:6137
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "`%s' 周辺に構文エラーがあります"
 
-#: parse.y:6769
-#, fuzzy, c-format
-msgid "syntax error: unexpected end of file from command on line %d"
-msgstr "構文エラー: 予期しないファイル終了 (EOF) です"
-
-#: parse.y:6772
+#: parse.y:6151
 msgid "syntax error: unexpected end of file"
 msgstr "構文エラー: 予期しないファイル終了 (EOF) です"
 
-#: parse.y:6772
+#: parse.y:6151
 msgid "syntax error"
 msgstr "構文エラー"
 
-#: parse.y:6821
+#: parse.y:6216
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "シェルから脱出するには \"%s\" を使用してください。\n"
 
-#: parse.y:7018
+#: parse.y:6394
 msgid "unexpected EOF while looking for matching `)'"
-msgstr "対å¿\9cã\81\99ã\82\8b `)' ã\82\92æ\8e¢ç´¢ä¸­ã\81«äº\88æ\9c\9fã\81\97ã\81ªã\81\84ã\83\95ã\82¡ã\82¤ã\83«çµ\82äº\86(EOF)ã\81§ã\81\99"
+msgstr "対å¿\9cã\81\99ã\82\8b `)' ã\82\92æ\8e¢ç´¢ä¸­ã\81«äº\88æ\9c\9fã\81\9bã\81\9aã\83\95ã\82¡ã\82¤ã\83«ã\81\8cçµ\82äº\86ã\81\97ã\81¾ã\81\97ã\81\9f (EOF)"
 
-#: pcomplete.c:1070
+#: pcomplete.c:1132
 #, c-format
 msgid "completion: function `%s' not found"
 msgstr "completion: 関数 `%s' が見つかりません"
 
-#: pcomplete.c:1654
+#: pcomplete.c:1722
 #, c-format
 msgid "programmable_completion: %s: possible retry loop"
-msgstr ""
+msgstr "programmable_completion: %s: リライトループになる可能性があります"
 
-#: pcomplib.c:176
+#: pcomplib.c:182
 #, c-format
 msgid "progcomp_insert: %s: NULL COMPSPEC"
 msgstr "progcomp_insert: %s: NULL COMPSPEC"
 
-#: print_cmd.c:324
+#: print_cmd.c:302
 #, c-format
 msgid "print_command: bad connector `%d'"
 msgstr "print_command: 誤った接続 `%d'"
 
-#: print_cmd.c:399
+#: print_cmd.c:375
 #, c-format
 msgid "xtrace_set: %d: invalid file descriptor"
 msgstr "xtrace_set: %d: 無効なファイル記述子です"
 
-#: print_cmd.c:404
+#: print_cmd.c:380
 msgid "xtrace_set: NULL file pointer"
 msgstr "xtrace_set: NULL ファイルポインタです"
 
-#: print_cmd.c:408
+#: print_cmd.c:384
 #, c-format
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
 
-#: print_cmd.c:1576
+#: print_cmd.c:1545
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf: `%c': 無効な書式文字です"
 
-#: redir.c:145 redir.c:193
+#: redir.c:150 redir.c:198
 msgid "file descriptor out of range"
 msgstr "ファイル記述子が範囲外です"
 
-#: redir.c:200
+#: redir.c:205
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: 曖昧なリダイレクトです"
 
-#: redir.c:204
+#: redir.c:209
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: 存在するファイルを上書きできません"
 
-#: redir.c:209
+#: redir.c:214
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: 制限されています: 出力をリダイレクト出来ません"
 
-#: redir.c:214
+#: redir.c:219
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "ヒアドキュメント用一時ファイルを作成できません: %s"
 
-#: redir.c:218
+#: redir.c:223
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: ファイル記述子 (fd) を変数に設定することはできません"
 
-#: redir.c:633
+#: redir.c:650
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "ネットワークが無効な場合 /dev/(tcp|udp)/host/port はサポートされません"
 
-#: redir.c:920 redir.c:1034 redir.c:1092 redir.c:1256
+#: redir.c:945 redir.c:1065 redir.c:1130 redir.c:1303
 msgid "redirection error: cannot duplicate fd"
 msgstr "リダイレクトエラー: ファイル記述子を複製できません"
 
-#: shell.c:359
+#: shell.c:353
 msgid "could not find /tmp, please create!"
 msgstr "/tmp が見つかりません。作成してください!"
 
-#: shell.c:363
+#: shell.c:357
 msgid "/tmp must be a valid directory name"
 msgstr "/tmp は有効なディレクトリ名でなければいけません"
 
-#: shell.c:825
+#: shell.c:826
 msgid "pretty-printing mode ignored in interactive shells"
 msgstr "pretty-printing モードはインタラクティブシェルでは無視されます"
 
-#: shell.c:967
+#: shell.c:972
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: 無効なオプション"
 
-#: shell.c:1355
+#: shell.c:1343
 #, c-format
 msgid "cannot set uid to %d: effective uid %d"
 msgstr "uidを %d に設定できません: 実効uid %d"
 
-#: shell.c:1371
+#: shell.c:1354
 #, c-format
 msgid "cannot set gid to %d: effective gid %d"
 msgstr "gidを %d に設定できません: 実効gid %d"
 
-#: shell.c:1560
+#: shell.c:1544
 msgid "cannot start debugger; debugging mode disabled"
 msgstr "デバッガを開始できません。デバッガモードが無効になっています"
 
-#: shell.c:1673
+#: shell.c:1658
 #, c-format
 msgid "%s: Is a directory"
 msgstr "%s: ディレクトリです"
 
-#: shell.c:1889
+#: shell.c:1907
 msgid "I have no name!"
 msgstr "私は名前がありません!"
 
-#: shell.c:2053
+#: shell.c:2061
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash, バージョン %s-(%s)\n"
 
-#: shell.c:2054
+#: shell.c:2062
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1798,51 +1730,49 @@ msgstr ""
 "使用法:\t%s [GNU long option] [option] ...\n"
 "\t%s [GNU long option] [option] script-file ...\n"
 
-#: shell.c:2056
+#: shell.c:2064
 msgid "GNU long options:\n"
 msgstr "GNU 形式の長いオプション:\n"
 
-#: shell.c:2060
+#: shell.c:2068
 msgid "Shell options:\n"
 msgstr "シェルオプション:\n"
 
-#: shell.c:2061
+#: shell.c:2069
 msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "\t-ilrsD, -c command または -O shopt_option\t\t(起動時のみ)\n"
 
-#: shell.c:2080
+#: shell.c:2088
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s または -o option\n"
 
-#: shell.c:2086
+#: shell.c:2094
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
-msgstr ""
-"シェルオプションの詳細については `%s -c \"help set\"'と入力してください。\n"
+msgstr "シェルオプションの詳細については `%s -c \"help set\"'と入力してください。\n"
 
-#: shell.c:2087
+#: shell.c:2095
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
 msgstr "シェル組み込みコマンドについては `%s -c help' と入力してください。\n"
 
-#: shell.c:2088
+#: shell.c:2096
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "バグ報告をする場合は `bashbug' コマンドを使用してください。\n"
 
-#: shell.c:2090
+#: shell.c:2098
 #, c-format
 msgid "bash home page: <http://www.gnu.org/software/bash>\n"
 msgstr "bashホームページ: <http://www.gnu.org/software/bash>\n"
 
-#: shell.c:2091
+#: shell.c:2099
 #, c-format
 msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
-msgstr ""
-"GNUソフトウェアを使用する時の一般的なヘルプ : <http://www.gnu.org/gethelp/>\n"
+msgstr "GNUソフトウェアを使用する時の一般的なヘルプ : <http://www.gnu.org/gethelp/>\n"
 
-#: sig.c:808
+#: sig.c:765
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask: %d: 無効な操作です"
@@ -2012,305 +1942,282 @@ msgstr "情報要求"
 msgid "Unknown Signal #%d"
 msgstr "不明なシグナル番号 %d"
 
-#: subst.c:1501 subst.c:1793 subst.c:1999
+#: subst.c:1480 subst.c:1670
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
 msgstr "誤った代入: 閉じる `%s' が %s に存在しません"
 
-#: subst.c:3602
+#: subst.c:3307
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: リストを配列要素に割り当てできません"
 
-#: subst.c:6420 subst.c:6436
+#: subst.c:6048 subst.c:6064
 msgid "cannot make pipe for process substitution"
 msgstr "プロセス代入ではパイプを作成できません"
 
-#: subst.c:6496
+#: subst.c:6124
 msgid "cannot make child for process substitution"
 msgstr "プロセス代入では子プロセスを作成できません"
 
-#: subst.c:6570
+#: subst.c:6198
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "名前付きパイプ %s を読み込み用に開けません"
 
-#: subst.c:6572
+#: subst.c:6200
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "名前付きパイプ %s を書き込み用に開けません"
 
-#: subst.c:6595
+#: subst.c:6223
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "名前付きパイプ %s をファイル記述子(fd) %d として複製できません"
 
-#: subst.c:6761
+#: subst.c:6370
 msgid "command substitution: ignored null byte in input"
 msgstr "コマンド代入: 入力のヌルバイトを無視しました"
 
-#: subst.c:6990
-msgid "function_substitute: cannot open anonymous file for output"
-msgstr ""
-
-#: subst.c:7064
-#, fuzzy
-msgid "function_substitute: cannot duplicate anonymous file as standard output"
-msgstr "command_substitute: パイプを fd 1 として複製できません"
-
-#: subst.c:7236 subst.c:7257
+#: subst.c:6533
 msgid "cannot make pipe for command substitution"
 msgstr "コマンド代入ではパイプを作成できません"
 
-#: subst.c:7305
+#: subst.c:6580
 msgid "cannot make child for command substitution"
 msgstr "コマンド代入では子プロセスを作成できません"
 
-#: subst.c:7338
+#: subst.c:6613
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute: パイプを fd 1 として複製できません"
 
-#: subst.c:7820 subst.c:10996
+#: subst.c:7082 subst.c:10252
 #, c-format
 msgid "%s: invalid variable name for name reference"
 msgstr "%s: 名前参照として無効な変数です"
 
-#: subst.c:7913 subst.c:7931 subst.c:8107
+#: subst.c:7178 subst.c:7196 subst.c:7369
 #, c-format
 msgid "%s: invalid indirect expansion"
 msgstr "%s: 無効な間接展開です"
 
-#: subst.c:7947 subst.c:8115
+#: subst.c:7212 subst.c:7377
 #, c-format
 msgid "%s: invalid variable name"
 msgstr "%s: 無効な変数名です"
 
-#: subst.c:8132 subst.c:10278 subst.c:10305
-#, c-format
-msgid "%s: bad substitution"
-msgstr "%s: 誤った代入です"
-
-#: subst.c:8231
+#: subst.c:7478
 #, c-format
 msgid "%s: parameter not set"
 msgstr "%s: パラメータが設定されていません"
 
-#: subst.c:8487 subst.c:8502
+#: subst.c:7480
+#, c-format
+msgid "%s: parameter null or not set"
+msgstr "%s: パラメータが null または設定されていません"
+
+#: subst.c:7727 subst.c:7742
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: substring expression < 0"
 
-#: subst.c:10404
+#: subst.c:9560 subst.c:9587
+#, c-format
+msgid "%s: bad substitution"
+msgstr "%s: 誤った代入です"
+
+#: subst.c:9678
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: この方法で割当はできません"
 
-#: subst.c:10862
-msgid ""
-"future versions of the shell will force evaluation as an arithmetic "
-"substitution"
+#: subst.c:10111
+msgid "future versions of the shell will force evaluation as an arithmetic substitution"
 msgstr "将来のバージョンのシェルでは強制的に数値代入として評価されます"
 
-#: subst.c:11542
+#: subst.c:10795
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "誤った代入: %s に閉じる \"`\" がありません"
 
-#: subst.c:12615
+#: subst.c:11874
 #, c-format
 msgid "no match: %s"
 msgstr "一致しません: %s"
 
-#: test.c:156
+#: test.c:147
 msgid "argument expected"
 msgstr "引数が予期されます"
 
-#: test.c:164
-#, fuzzy, c-format
-msgid "%s: integer expected"
+#: test.c:156
+#, c-format
+msgid "%s: integer expression expected"
 msgstr "%s: 整数の式が予期されます"
 
-#: test.c:292
+#: test.c:265
 msgid "`)' expected"
 msgstr "`)' が予期されます"
 
-#: test.c:294
+#: test.c:267
 #, c-format
 msgid "`)' expected, found %s"
 msgstr "`)' が予期されますが、見つかったのは %s です"
 
-#: test.c:488 test.c:831
+#: test.c:469 test.c:814
 #, c-format
 msgid "%s: binary operator expected"
 msgstr "%s: 二項演算子が予期されます"
 
-#: test.c:792 test.c:795
+#: test.c:771 test.c:774
 #, c-format
 msgid "%s: unary operator expected"
 msgstr "%s: 単項演算子が予期されます"
 
-#: test.c:926
+#: test.c:896
 msgid "missing `]'"
 msgstr "`]'がありません"
 
-#: test.c:944
+#: test.c:914
 #, c-format
 msgid "syntax error: `%s' unexpected"
 msgstr "構文エラー: 予期しない `%s' です"
 
-#: trap.c:225
+#: trap.c:220
 msgid "invalid signal number"
 msgstr "無効なシグナル番号"
 
-#: trap.c:358
+#: trap.c:323
 #, c-format
 msgid "trap handler: maximum trap handler level exceeded (%d)"
 msgstr "trap handler: trap handler の最大レベルを超えています (%d)"
 
-#: trap.c:450
+#: trap.c:412
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
 msgstr "run_pending_traps: trap_list[%d] に誤った値があります: %p"
 
-#: trap.c:454
+#: trap.c:416
 #, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
-"run_pending_traps: シグナルハンドラーは SIG_DFLです。, %d (%s) を自身に再送し"
-"ます。"
+msgid "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr "run_pending_traps: シグナルハンドラーは SIG_DFLです。, %d (%s) を自身に再送します。"
 
-#: trap.c:582
+#: trap.c:509
 #, c-format
 msgid "trap_handler: bad signal %d"
 msgstr "trap_handler: 誤ったシグナル %d"
 
-#: variables.c:440
+#: variables.c:424
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "`%s' の関数定義をインポート中にエラーが発生しました"
 
-#: variables.c:863
+#: variables.c:838
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
 msgstr "シェルレベル (%d) は高すぎます。1に再設定されました"
 
-#: variables.c:2190 variables.c:2219 variables.c:2277 variables.c:2296
-#: variables.c:2314 variables.c:2349 variables.c:2377 variables.c:2404
-#: variables.c:2430 variables.c:3273 variables.c:3281 variables.c:3793
-#: variables.c:3837
-#, fuzzy, c-format
-msgid "%s: maximum nameref depth (%d) exceeded"
-msgstr "ヒアドキュメントの最大数を超えました"
-
-#: variables.c:2640
+#: variables.c:2642
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable: 現在のスコープは関数コンテキストではありません"
 
-#: variables.c:2659
+#: variables.c:2661
 #, c-format
 msgid "%s: variable may not be assigned value"
 msgstr "%s: 変数が初期化されていないかもしれません"
 
-#: variables.c:2830 variables.c:2883
+#: variables.c:2818 variables.c:2874
 #, c-format
 msgid "%s: cannot inherit value from incompatible type"
 msgstr "%s: 互換性のないタイプからは継承できません"
 
-#: variables.c:3436
+#: variables.c:3459
 #, c-format
 msgid "%s: assigning integer to name reference"
 msgstr "%s: 名前参照に整数を代入しようとしています"
 
-#: variables.c:4389
+#: variables.c:4390
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables: 現在のスコープは関数コンテキストではありません"
 
-#: variables.c:4793
+#: variables.c:4757
 #, c-format
 msgid "%s has null exportstr"
 msgstr "%s は null の exportstr を持っています"
 
-#: variables.c:4798 variables.c:4807
+#: variables.c:4762 variables.c:4771
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "%2$s に対する exportstr で %1$d は無効な文字です"
 
-#: variables.c:4813
+#: variables.c:4777
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "%s に対する exportstr に `=' がありません"
 
-#: variables.c:5331
+#: variables.c:5317
 msgid "pop_var_context: head of shell_variables not a function context"
-msgstr ""
-"pop_var_context: shell_variables の先頭です。関数コンテキストではありません"
+msgstr "pop_var_context: shell_variables の先頭です。関数コンテキストではありません"
 
-#: variables.c:5344
+#: variables.c:5330
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context: global_variables コンテキストではありません"
 
-#: variables.c:5434
+#: variables.c:5410
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr "pop_scope: shell_variables の先頭です。一時環境スコープではありません"
 
-#: variables.c:6404
+#: variables.c:6400
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s: ファイルとして開くことができません"
 
-#: variables.c:6409
+#: variables.c:6405
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr "%s: %s: トレースファイル記述子として無効な値です"
 
-#: variables.c:6453
+#: variables.c:6450
 #, c-format
 msgid "%s: %s: compatibility value out of range"
 msgstr "%s: %s: 値の互換性が範囲外です"
 
-#: version.c:46
-#, fuzzy
-msgid "Copyright (C) 2024 Free Software Foundation, Inc."
+#: version.c:46 version2.c:46
+msgid "Copyright (C) 2022 Free Software Foundation, Inc."
 msgstr "Copyright (C) 2022 Free Software Foundation, Inc."
 
-#: version.c:47
-msgid ""
-"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
-"html>\n"
-msgstr ""
-"ライセンス GPLv3+: GNU GPL バージョン 3 またはそれ以降 <http://gnu.org/"
-"licenses/gpl.html>\n"
+#: version.c:47 version2.c:47
+msgid "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+msgstr "ライセンス GPLv3+: GNU GPL バージョン 3 またはそれ以降 <http://gnu.org/licenses/gpl.html>\n"
 
-#: version.c:85
+#: version.c:86 version2.c:86
 #, c-format
 msgid "GNU bash, version %s (%s)\n"
 msgstr "GNU bash, バージョン %s (%s)\n"
 
-#: version.c:90
+#: version.c:91 version2.c:91
 msgid "This is free software; you are free to change and redistribute it."
 msgstr "This is free software; you are free to change and redistribute it."
 
-#: version.c:91
+#: version.c:92 version2.c:92
 msgid "There is NO WARRANTY, to the extent permitted by law."
 msgstr "There is NO WARRANTY, to the extent permitted by law."
 
-#: xmalloc.c:84
+#: xmalloc.c:93
 #, c-format
 msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
 msgstr "%s: %lu バイトを割当できません (%lu バイトを割当済み)"
 
-#: xmalloc.c:86
+#: xmalloc.c:95
 #, c-format
 msgid "%s: cannot allocate %lu bytes"
 msgstr "%s: %lu バイトを割当できません"
 
-#: xmalloc.c:164
+#: xmalloc.c:165
 #, c-format
 msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
 msgstr "%s: %s:%d: %lu バイトを割当できません (%lu バイトを割当済み)"
 
-#: xmalloc.c:166
+#: xmalloc.c:167
 #, c-format
 msgid "%s: %s:%d: cannot allocate %lu bytes"
 msgstr "%s: %s:%d: %lu バイトを割当できません"
@@ -2324,12 +2231,8 @@ msgid "unalias [-a] name [name ...]"
 msgstr "unalias [-a] name [name ...]"
 
 #: builtins.c:53
-msgid ""
-"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
-"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
-msgstr ""
-"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
-"x keyseq:shell-command] [keyseq:readline-function または readline-command]"
+msgid "bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]"
+msgstr "bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function または readline-command]"
 
 #: builtins.c:56
 msgid "break [n]"
@@ -2348,8 +2251,7 @@ msgid "caller [expr]"
 msgstr "caller [expr]"
 
 #: builtins.c:66
-#, fuzzy
-msgid "cd [-L|[-P [-e]]] [-@] [dir]"
+msgid "cd [-L|[-P [-e]] [-@]] [dir]"
 msgstr "cd [-L|[-P [-e]] [-@]] [dir]"
 
 #: builtins.c:68
@@ -2361,20 +2263,12 @@ msgid "command [-pVv] command [arg ...]"
 msgstr "command [-pVv] command [arg ...]"
 
 #: builtins.c:78
-msgid ""
-"declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] "
-"[name ...]"
-msgstr ""
-"declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] "
-"[name ...]"
+msgid "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
+msgstr "declare [-aAfFgiIlnrtux] [name[=value] ...] or declare -p [-aAfFilnrtux] [name ...]"
 
 #: builtins.c:80
-msgid ""
-"typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] "
-"[name ...]"
-msgstr ""
-"typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] "
-"[name ...]"
+msgid "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
+msgstr "typeset [-aAfFgiIlnrtux] name[=value] ... or typeset -p [-aAfFilnrtux] [name ...]"
 
 #: builtins.c:82
 msgid "local [option] name[=value] ..."
@@ -2433,12 +2327,8 @@ msgid "help [-dms] [pattern ...]"
 msgstr "help [-dms] [pattern ...]"
 
 #: builtins.c:123
-msgid ""
-"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
-"[arg...]"
-msgstr ""
-"history [-c] [-d offset] [n] または history -anrw [filename] または history -"
-"ps arg [arg...]"
+msgid "history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]"
+msgstr "history [-c] [-d offset] [n] または history -anrw [filename] または history -ps arg [arg...]"
 
 #: builtins.c:127
 msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
@@ -2449,25 +2339,16 @@ msgid "disown [-h] [-ar] [jobspec ... | pid ...]"
 msgstr "disown [-h] [-ar] [jobspec ... | pid ...]"
 
 #: builtins.c:134
-msgid ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
-"[sigspec]"
-msgstr ""
-"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... または kill -l "
-"[sigspec]"
+msgid "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
+msgstr "kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... または kill -l [sigspec]"
 
 #: builtins.c:136
 msgid "let arg [arg ...]"
 msgstr "let 引数 [引数 ...]"
 
 #: builtins.c:138
-#, fuzzy
-msgid ""
-"read [-Eers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
-"prompt] [-t timeout] [-u fd] [name ...]"
-msgstr ""
-"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
-"prompt] [-t timeout] [-u fd] [name ...]"
+msgid "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]"
+msgstr "read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]"
 
 #: builtins.c:140
 msgid "return [n]"
@@ -2514,8 +2395,7 @@ msgid "[ arg... ]"
 msgstr "[ arg... ]"
 
 #: builtins.c:166
-#, fuzzy
-msgid "trap [-Plp] [[action] signal_spec ...]"
+msgid "trap [-lp] [[arg] signal_spec ...]"
 msgstr "trap [-lp] [[arg] signal_spec ...]"
 
 #: builtins.c:168
@@ -2539,134 +2419,106 @@ msgid "wait [pid ...]"
 msgstr "wait [pid ...]"
 
 #: builtins.c:184
-msgid "! PIPELINE"
-msgstr ""
-
-#: builtins.c:186
 msgid "for NAME [in WORDS ... ] ; do COMMANDS; done"
 msgstr "for NAME [in WORDS ... ] ; do COMMANDS; done"
 
-#: builtins.c:188
+#: builtins.c:186
 msgid "for (( exp1; exp2; exp3 )); do COMMANDS; done"
 msgstr "for (( exp1; exp2; exp3 )); do COMMANDS; done"
 
-#: builtins.c:190
+#: builtins.c:188
 msgid "select NAME [in WORDS ... ;] do COMMANDS; done"
 msgstr "select NAME [in WORDS ... ;] do COMMANDS; done"
 
-#: builtins.c:192
+#: builtins.c:190
 msgid "time [-p] pipeline"
 msgstr "time [-p] pipeline"
 
-#: builtins.c:194
+#: builtins.c:192
 msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
 msgstr "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
 
-#: builtins.c:196
-msgid ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
-msgstr ""
-"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
-"COMMANDS; ] fi"
+#: builtins.c:194
+msgid "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
+msgstr "if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi"
 
-#: builtins.c:198
+#: builtins.c:196
 msgid "while COMMANDS; do COMMANDS-2; done"
 msgstr "while COMMANDS; do COMMANDS-2; done"
 
-#: builtins.c:200
+#: builtins.c:198
 msgid "until COMMANDS; do COMMANDS-2; done"
 msgstr "until COMMANDS; do COMMANDS-2; done"
 
-#: builtins.c:202
+#: builtins.c:200
 msgid "coproc [NAME] command [redirections]"
 msgstr "coproc [NAME] command [redirections]"
 
-#: builtins.c:204
+#: builtins.c:202
 msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
 msgstr "function name { COMMANDS ; } または name () { COMMANDS ; }"
 
-#: builtins.c:206
+#: builtins.c:204
 msgid "{ COMMANDS ; }"
 msgstr "{ COMMANDS ; }"
 
-#: builtins.c:208
+#: builtins.c:206
 msgid "job_spec [&]"
 msgstr "job_spec [&]"
 
-#: builtins.c:210
+#: builtins.c:208
 msgid "(( expression ))"
 msgstr "(( expression ))"
 
-#: builtins.c:212
+#: builtins.c:210
 msgid "[[ expression ]]"
 msgstr "[[ expression ]]"
 
-#: builtins.c:214
+#: builtins.c:212
 msgid "variables - Names and meanings of some shell variables"
 msgstr "変数 - 変数の名前とその意味"
 
-#: builtins.c:217
+#: builtins.c:215
 msgid "pushd [-n] [+N | -N | dir]"
 msgstr "pushd [-n] [+N | -N | dir]"
 
-#: builtins.c:221
+#: builtins.c:219
 msgid "popd [-n] [+N | -N]"
 msgstr "popd [-n] [+N | -N]"
 
-#: builtins.c:225
+#: builtins.c:223
 msgid "dirs [-clpv] [+N] [-N]"
 msgstr "dirs [-clpv] [+N] [-N]"
 
-#: builtins.c:228
+#: builtins.c:226
 msgid "shopt [-pqsu] [-o] [optname ...]"
 msgstr "shopt [-pqsu] [-o] [optname ...]"
 
-#: builtins.c:230
+#: builtins.c:228
 msgid "printf [-v var] format [arguments]"
 msgstr "printf [-v var] format [arguments]"
 
-#: builtins.c:233
-msgid ""
-"complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-"
-"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
-"suffix] [name ...]"
-msgstr ""
-"complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-"
-"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
-"suffix] [name ...]"
+#: builtins.c:231
+msgid "complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]"
+msgstr "complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]"
 
-#: builtins.c:237
-#, fuzzy
-msgid ""
-"compgen [-V varname] [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-"
-"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
-"suffix] [word]"
-msgstr ""
-"compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-"
-"F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
+#: builtins.c:235
+msgid "compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
+msgstr "compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
 
-#: builtins.c:241
+#: builtins.c:239
 msgid "compopt [-o|+o option] [-DEI] [name ...]"
 msgstr "compopt [-o|+o option] [-DEI] [name ...]"
 
-#: builtins.c:244
-msgid ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
+#: builtins.c:242
+msgid "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "mapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
 
-#: builtins.c:246
-msgid ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
-msgstr ""
-"readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C "
-"callback] [-c quantum] [array]"
+#: builtins.c:244
+msgid "readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
+msgstr "readarray [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]"
 
-#: builtins.c:258
+#: builtins.c:256
 msgid ""
 "Define or display aliases.\n"
 "    \n"
@@ -2681,30 +2533,25 @@ msgid ""
 "      -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"
+"    alias returns true unless a NAME is supplied for which no alias has been\n"
 "    defined."
 msgstr ""
 "エイリアスを定義または表示します。\n"
 "    \n"
-"    引数がない場合、`alias` はエイリアス一覧を `alias 名前=値' という再使用可"
-"能な\n"
+"    引数がない場合、`alias` はエイリアス一覧を `alias 名前=値' という再使用可能な\n"
 "    形式で標準出力に表示します。\n"
 "    \n"
-"    そうでなければ、与えられた名前と値でエイリアスを定義します。値の後続に空"
-"白\n"
-"    が存在する場合は次の語はエイリアス展開時にエイリアス代入対象として確認さ"
-"れ\n"
+"    そうでなければ、与えられた名前と値でエイリアスを定義します。値の後続に空白\n"
+"    が存在する場合は次の語はエイリアス展開時にエイリアス代入対象として確認され\n"
 "    ます。\n"
 "\n"
 "    オプション:\n"
 "      -p\tすべての定義されたエイリアスを再利用可能な形式で表示します\n"
 "    \n"
 "    終了ステータス:\n"
-"    alias は与えられた名前でエイリアスが定義されなかった場合を除き true を返"
-"します。"
+"    alias は与えられた名前でエイリアスが定義されなかった場合を除き true を返します。"
 
-#: builtins.c:280
+#: builtins.c:278
 msgid ""
 "Remove each NAME from the list of defined aliases.\n"
 "    \n"
@@ -2720,7 +2567,7 @@ msgstr ""
 "    \n"
 "    名前がエイリアスに存在しない場合を除き true を返します。"
 
-#: builtins.c:293
+#: builtins.c:291
 msgid ""
 "Set Readline key bindings and variables.\n"
 "    \n"
@@ -2732,30 +2579,25 @@ msgid ""
 "    Options:\n"
 "      -m  keymap         Use KEYMAP as the keymap for the duration of this\n"
 "                         command.  Acceptable keymap names are emacs,\n"
-"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
-"move,\n"
+"                         emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,\n"
 "                         vi-command, and vi-insert.\n"
 "      -l                 List names of functions.\n"
 "      -P                 List function names and bindings.\n"
 "      -p                 List functions and bindings in a form that can be\n"
 "                         reused as input.\n"
-"      -S                 List key sequences that invoke macros and their "
-"values\n"
-"      -s                 List key sequences that invoke macros and their "
-"values\n"
+"      -S                 List key sequences that invoke macros and their values\n"
+"      -s                 List key sequences that invoke macros and their values\n"
 "                         in a form that can be reused as input.\n"
 "      -V                 List variable names and values\n"
 "      -v                 List variable names and values in a form that can\n"
 "                         be reused as input.\n"
 "      -q  function-name  Query about which keys invoke the named function.\n"
-"      -u  function-name  Unbind all keys which are bound to the named "
-"function.\n"
+"      -u  function-name  Unbind all keys which are bound to the named function.\n"
 "      -r  keyseq         Remove the binding for KEYSEQ.\n"
 "      -f  filename       Read key bindings from FILENAME.\n"
 "      -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
 "    \t\t\t\tKEYSEQ is entered.\n"
-"      -X                 List key sequences bound with -x and associated "
-"commands\n"
+"      -X                 List key sequences bound with -x and associated commands\n"
 "                         in a form that can be reused as input.\n"
 "    \n"
 "    Exit Status:\n"
@@ -2769,19 +2611,14 @@ msgstr ""
 "    例: bind '\"\\C-x\\C-r\": re-read-init-file'\n"
 "\n"
 "    オプション:\n"
-"      -m  keymap         このコマンドの間のキーマップとして KEYMAP を使用す"
-"る。\n"
-"                         利用可能なキーマップ名は emacs, emacs-standard, "
-"emacs-meta,\n"
-"                          emacs-ctlx, vi, vi-move, vi-command, および vi-"
-"insertです。\n"
+"      -m  keymap         このコマンドの間のキーマップとして KEYMAP を使用する。\n"
+"                         利用可能なキーマップ名は emacs, emacs-standard, emacs-meta,\n"
+"                          emacs-ctlx, vi, vi-move, vi-command, および vi-insertです。\n"
 "      -l                 関数名一覧を表示する。\n"
 "      -P                 関数名およびキー割り当て一覧を表示する。\n"
-"      -p                 入力として再利用可能な形式で、関数名とキー割り当てを"
-"一覧\n"
+"      -p                 入力として再利用可能な形式で、関数名とキー割り当てを一覧\n"
 "                         表示する\n"
-"      -S                 マクロを起動するキーシーケンスとその値を一覧表示す"
-"る\n"
+"      -S                 マクロを起動するキーシーケンスとその値を一覧表示する\n"
 "      -s                 入力として再利用可能な形式で、マクロを起動する\n"
 "                         キーシーケンスとその値を一覧表示する\n"
 "      -V                 変数名と値の一覧を表示する\n"
@@ -2800,7 +2637,7 @@ msgstr ""
 "    bind は解釈できないオプションが渡された場合およびエラーが発生した場合\n"
 "    を除き 0 を返します。"
 
-#: builtins.c:332
+#: builtins.c:330
 msgid ""
 "Exit for, while, or until loops.\n"
 "    \n"
@@ -2812,14 +2649,13 @@ msgid ""
 msgstr ""
 "for、 while、または until ループを脱出します。\n"
 "    \n"
-"    FOR、 WHILE、または UNTIL ループを脱出します  もし N が指定されている場"
-"合、\n"
+"    FOR、 WHILE、または UNTIL ループを脱出します  もし N が指定されている場合、\n"
 "    N階層のループを終了します。\n"
 "    \n"
 "    終了ステータス:\n"
 "    N が1未満の場合を除き、終了ステータスは 0 です。"
 
-#: builtins.c:344
+#: builtins.c:342
 msgid ""
 "Resume for, while, or until loops.\n"
 "    \n"
@@ -2837,14 +2673,13 @@ msgstr ""
 "    終了ステータス:\n"
 "    N  が1未満の場合を除き、終了ステータスは 0 です。"
 
-#: builtins.c:356
+#: builtins.c:354
 msgid ""
 "Execute shell builtins.\n"
 "    \n"
 "    Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
 "    lookup.  This is useful when you wish to reimplement a shell builtin\n"
-"    as a shell function, but need to execute the builtin within the "
-"function.\n"
+"    as a shell function, but need to execute the builtin within the function.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
@@ -2860,7 +2695,7 @@ msgstr ""
 "    シェル組み込みコマンドの終了ステータスを返します。シェル組み込みコマ\n"
 "    ンドが無い場合は false を返します。"
 
-#: builtins.c:371
+#: builtins.c:369
 msgid ""
 "Return the context of the current subroutine call.\n"
 "    \n"
@@ -2878,8 +2713,7 @@ msgstr ""
 "現在のサブルーチン呼び出しのコンテキストを返します。\n"
 "    \n"
 "    EXPR が無い場合 \"$line $filename\" を返します。  EXPR がある場合、\n"
-"    \"$line $subroutine $filename\" を返します。この追加の情報はスタックト"
-"レース\n"
+"    \"$line $subroutine $filename\" を返します。この追加の情報はスタックトレース\n"
 "    を提供する時に利用します。\n"
 "    \n"
 "    EXPR の値は現在のフレームに戻るまでに何回フレームが呼び出されているかを\n"
@@ -2888,27 +2722,21 @@ msgstr ""
 "    終了ステータス:\n"
 "    シェルが関数を実行できないか式 EXPR が無効な場合を除き 0 を返します。"
 
-#: builtins.c:389
+#: builtins.c:387
 #, fuzzy
 msgid ""
 "Change the shell working directory.\n"
 "    \n"
-"    Change the current directory to DIR.  The default DIR is the value of "
-"the\n"
-"    HOME shell variable. If DIR is \"-\", it is converted to $OLDPWD.\n"
+"    Change the current directory to DIR.  The default DIR is the value of the\n"
+"    HOME shell variable.\n"
 "    \n"
-"    The variable CDPATH defines the search path for the directory "
-"containing\n"
-"    DIR.  Alternative directory names in CDPATH are separated by a colon "
-"(:).\n"
-"    A null directory name is the same as the current directory.  If DIR "
-"begins\n"
+"    The variable CDPATH defines the search path for the directory containing\n"
+"    DIR.  Alternative directory names in CDPATH are separated by a colon (:).\n"
+"    A null directory name is the same as the current directory.  If DIR begins\n"
 "    with a slash (/), then CDPATH is not used.\n"
 "    \n"
-"    If the directory is not found, and the shell option `cdable_vars' is "
-"set,\n"
-"    the word is assumed to be  a variable name.  If that variable has a "
-"value,\n"
+"    If the directory is not found, and the shell option `cdable_vars' is set,\n"
+"    the word is assumed to be  a variable name.  If that variable has a value,\n"
 "    its value is used for DIR.\n"
 "    \n"
 "    Options:\n"
@@ -2924,13 +2752,11 @@ msgid ""
 "    \t\tattributes as a directory containing the file attributes\n"
 "    \n"
 "    The default is to follow symbolic links, as if `-L' were specified.\n"
-"    `..' is processed by removing the immediately previous pathname "
-"component\n"
+"    `..' is processed by removing the immediately previous pathname component\n"
 "    back to a slash or the beginning of DIR.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns 0 if the directory is changed, and if $PWD is set successfully "
-"when\n"
+"    Returns 0 if the directory is changed, and if $PWD is set successfully when\n"
 "    -P is used; non-zero otherwise."
 msgstr ""
 "シェルの作業ディレクトリを変更します。\n"
@@ -2938,41 +2764,33 @@ msgstr ""
 "    カレントディレクトリを DIR へ変更します。DIR のデフォルトは HOME シェル\n"
 "    変数の値です。\n"
 "    \n"
-"    変数 CDPATH は DIR を含んでいる検索パスを定義します。CDPATH にはコロン"
-"(:)\n"
+"    変数 CDPATH は DIR を含んでいる検索パスを定義します。CDPATH にはコロン(:)\n"
 "    で区切られた代替ディレクトリ名を指定します。\n"
 "    値がないディレクトリ名はカレントディレクトリと同義です。 DIR が\n"
 "    スラッシュ (/) から始まる場合は CDPATH は使用されません。\n"
 "    \n"
-"    ディレクトリが見つからなく、かつ `cdabl_vars' シェルオプションが設定され"
-"て\n"
-"    いる場合、引数は変数名として扱われます。その変数に値がある場合、その値"
-"が\n"
+"    ディレクトリが見つからなく、かつ `cdabl_vars' シェルオプションが設定されて\n"
+"    いる場合、引数は変数名として扱われます。その変数に値がある場合、その値が\n"
 "    DIR として扱われます。\n"
 "    \n"
 "    オプション:\n"
 "        -L\tシンボリックリンクを強制的にたどります: '..' を処理後、\n"
 "                DIR のシンボリックリンクを解決します。\n"
-"        -P\tシンボリックリンクをたどらず物理構造を利用します: '..' を処理前"
-"に\n"
+"        -P\tシンボリックリンクをたどらず物理構造を利用します: '..' を処理前に\n"
 "                DIR のシンボリックリンクを解決します。\n"
 "        -e\t-P オプションが与えられ、かつ、現在の作業ディレクトリが正しく\n"
 "                決定できない場合、終了ステータスが 0 以外で終了します\n"
 "        -@\tサポートしているシステムでは、\n"
-"                拡張属性のファイルをファイル属性つきのディレクトリとして表示"
-"します。\n"
+"                拡張属性のファイルをファイル属性つきのディレクトリとして表示します。\n"
 "    \n"
-"    デフォルトでは `-L' が指定された場合と同様シンボリックリンクをたどりま"
-"す。\n"
-"    `..' はその前のパスコンポーネント(ディレクトリ)を'/'か DIRの最初まで削除"
-"します。\n"
+"    デフォルトでは `-L' が指定された場合と同様シンボリックリンクをたどります。\n"
+"    `..' はその前のパスコンポーネント(ディレクトリ)を'/'か DIRの最初まで削除します。\n"
 "    \n"
 "    終了ステータス:\n"
-"    ディレクトリを変更した場合、および -P が使用されている時に $PWD が正し"
-"く\n"
+"    ディレクトリを変更した場合、および -P が使用されている時に $PWD が正しく\n"
 "    設定された場合は 0、それ以外は 0 以外の値です。"
 
-#: builtins.c:427
+#: builtins.c:425
 msgid ""
 "Print the name of the current working directory.\n"
 "    \n"
@@ -3000,7 +2818,7 @@ msgstr ""
 "    無効なオプションまたはカレントディレクトリを読み込めない場合を除き\n"
 "    0を返します。"
 
-#: builtins.c:444
+#: builtins.c:442
 msgid ""
 "Null command.\n"
 "    \n"
@@ -3016,7 +2834,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    常に成功です。"
 
-#: builtins.c:455
+#: builtins.c:453
 msgid ""
 "Return a successful result.\n"
 "    \n"
@@ -3028,7 +2846,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    常に成功です。"
 
-#: builtins.c:464
+#: builtins.c:462
 msgid ""
 "Return an unsuccessful result.\n"
 "    \n"
@@ -3040,13 +2858,12 @@ msgstr ""
 "    終了ステータス:\n"
 "    常に失敗です。"
 
-#: builtins.c:473
+#: builtins.c:471
 msgid ""
 "Execute a simple command or display information about commands.\n"
 "    \n"
 "    Runs COMMAND with ARGS suppressing  shell function lookup, or display\n"
-"    information about the specified COMMANDs.  Can be used to invoke "
-"commands\n"
+"    information about the specified COMMANDs.  Can be used to invoke commands\n"
 "    on disk when a function with the same name exists.\n"
 "    \n"
 "    Options:\n"
@@ -3071,10 +2888,9 @@ msgstr ""
 "      -V\tCOMMAND に対してより冗長な説明を表示する\n"
 "    \n"
 "    終了ステータス:\n"
-"    COMMAND の終了ステータスを返します。または COMMAND が見つからない時に失敗"
-"を返します。"
+"    COMMAND の終了ステータスを返します。または COMMAND が見つからない時に失敗を返します。"
 
-#: builtins.c:492
+#: builtins.c:490
 #, fuzzy
 msgid ""
 "Set variable values and attributes.\n"
@@ -3103,14 +2919,12 @@ msgid ""
 "      -u\tto convert the value of each NAME to upper case on assignment\n"
 "      -x\tto make NAMEs export\n"
 "    \n"
-"    Using `+' instead of `-' turns off the given attribute, except for a,\n"
-"    A, and r.\n"
+"    Using `+' instead of `-' turns off the given attribute.\n"
 "    \n"
 "    Variables with the integer attribute have arithmetic evaluation (see\n"
 "    the `let' command) performed when the variable is assigned a value.\n"
 "    \n"
-"    When used in a function, `declare' makes NAMEs local, as with the "
-"`local'\n"
+"    When used in a function, `declare' makes NAMEs local, as with the `local'\n"
 "    command.  The `-g' option suppresses this behavior.\n"
 "    \n"
 "    Exit Status:\n"
@@ -3146,14 +2960,13 @@ msgstr ""
 "    整数属性を与えられた変数は値を割り当てられた時に、数値として評価され\n"
 "    ます。(`let' コマンド参照してください。)\n"
 "\n"
-"    関数内で使用された場合は `local' コマンドを使用した時と同様に "
-"`declare' \n"
+"    関数内で使用された場合は `local' コマンドを使用した時と同様に `declare' \n"
 "    は NAME をローカル変数にします。`-g' オプションはこの動作を抑止します。\n"
 "    \n"
 "    終了ステータス:\n"
 "    無効なオプションが与えられたかエラーが発生しない限り成功を返します。"
 
-#: builtins.c:535
+#: builtins.c:532
 msgid ""
 "Set variable values and attributes.\n"
 "    \n"
@@ -3163,7 +2976,7 @@ msgstr ""
 "    \n"
 "    declare の同義語です。`help declare'を参照してください。"
 
-#: builtins.c:543
+#: builtins.c:540
 msgid ""
 "Define local variables.\n"
 "    \n"
@@ -3182,22 +2995,19 @@ msgstr ""
 "    NAME という名前のローカル変数を定義し値を VALUE に設定します。OPTION は\n"
 "    `declare'と同じすべてのオプションを受け付けます。\n"
 "    \n"
-"    局所変数はシェル関数の中でのみ使用できます。宣言された関数の中およびそ"
-"の\n"
+"    局所変数はシェル関数の中でのみ使用できます。宣言された関数の中およびその\n"
 "    子関数のみで参照できます。\n"
 "    \n"
 "    終了ステータス:\n"
-"    無効なオプションが与えられる、エラーが発生する、またはシェルが関数を実行"
-"できない\n"
+"    無効なオプションが与えられる、エラーが発生する、またはシェルが関数を実行できない\n"
 "    場合を除き成功を返します。"
 
-#: builtins.c:560
+#: builtins.c:557
 #, fuzzy
 msgid ""
 "Write arguments to the standard output.\n"
 "    \n"
-"    Display the ARGs, separated by a single space character and followed by "
-"a\n"
+"    Display the ARGs, separated by a single space character and followed by a\n"
 "    newline, on the standard output.\n"
 "    \n"
 "    Options:\n"
@@ -3221,11 +3031,9 @@ msgid ""
 "    \t\t0 to 3 octal digits\n"
 "      \\xHH\tthe eight-bit character whose value is HH (hexadecimal).  HH\n"
 "    \t\tcan be one or two hex digits\n"
-"      \\uHHHH\tthe Unicode character whose value is the hexadecimal value "
-"HHHH.\n"
+"      \\uHHHH\tthe Unicode character whose value is the hexadecimal value HHHH.\n"
 "    \t\tHHHH can be one to four hex digits.\n"
-"      \\UHHHHHHHH the Unicode character whose value is the hexadecimal "
-"value\n"
+"      \\UHHHHHHHH the Unicode character whose value is the hexadecimal value\n"
 "    \t\tHHHHHHHH. HHHHHHHH can be one to eight hex digits.\n"
 "    \n"
 "    Exit Status:\n"
@@ -3233,8 +3041,7 @@ msgid ""
 msgstr ""
 "引数を標準出力に書き出します。\n"
 "    \n"
-"    引数 ARG を単一空白文字で区切り、最後に改行を加えて標準出力に表示しま"
-"す。\n"
+"    引数 ARG を単一空白文字で区切り、最後に改行を加えて標準出力に表示します。\n"
 "    \n"
 "    オプション:\n"
 "      -n\t最後に改行を加えない\n"
@@ -3259,7 +3066,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    書き込みエラーが発生しない限り成功を返します。"
 
-#: builtins.c:600
+#: builtins.c:597
 msgid ""
 "Write arguments to the standard output.\n"
 "    \n"
@@ -3281,8 +3088,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    書き込みエラーが発生しない限り成功を返します。"
 
-#: builtins.c:615
-#, fuzzy
+#: builtins.c:612
 msgid ""
 "Enable and disable shell builtins.\n"
 "    \n"
@@ -3302,12 +3108,6 @@ msgid ""
 "    \n"
 "    Without options, each NAME is enabled.\n"
 "    \n"
-"    On systems with dynamic loading, the shell variable BASH_LOADABLES_PATH\n"
-"    defines a search path for the directory containing FILENAMEs that do\n"
-"    not contain a slash. It may include \".\" to force a search of the "
-"current\n"
-"    directory.\n"
-"    \n"
 "    To use the `test' found in $PATH instead of the shell builtin\n"
 "    version, type `enable -n test'.\n"
 "    \n"
@@ -3316,10 +3116,8 @@ msgid ""
 msgstr ""
 "シェル組み込み関数を有効または無効にします。\n"
 "    \n"
-"    シェル組み込み関数を有効または無効にします。シェル組み込み関数を無効にす"
-"ると\n"
-"    ディスク上に存在するシェル組み込み関数と同じ名前のコマンドをフルパスを指"
-"定す\n"
+"    シェル組み込み関数を有効または無効にします。シェル組み込み関数を無効にすると\n"
+"    ディスク上に存在するシェル組み込み関数と同じ名前のコマンドをフルパスを指定す\n"
 "    ることなく実行することが出来ます。\n"
 "    \n"
 "    オプション:\n"
@@ -3340,12 +3138,11 @@ msgstr ""
 "    終了ステータス:\n"
 "    NAME が組み込み関数ではないかエラーが発生しない限り成功を返します。"
 
-#: builtins.c:648
+#: builtins.c:640
 msgid ""
 "Execute arguments as a shell command.\n"
 "    \n"
-"    Combine ARGs into a single string, use the result as input to the "
-"shell,\n"
+"    Combine ARGs into a single string, use the result as input to the shell,\n"
 "    and execute the resulting commands.\n"
 "    \n"
 "    Exit Status:\n"
@@ -3360,7 +3157,7 @@ msgstr ""
 "    コマンドの終了ステータスを返します。コマンドが null の場合は成功を\n"
 "    返します。"
 
-#: builtins.c:660
+#: builtins.c:652
 #, fuzzy
 msgid ""
 "Parse option arguments.\n"
@@ -3438,14 +3235,13 @@ msgstr ""
 "    オプションが見つかった場合に成功を返します。オプションの終わり\n"
 "    に到達するかエラーが発生した時に失敗を返します。"
 
-#: builtins.c:702
+#: builtins.c:694
 #, fuzzy
 msgid ""
 "Replace the shell with the given command.\n"
 "    \n"
 "    Execute COMMAND, replacing this shell with the specified program.\n"
-"    ARGUMENTS become the arguments to COMMAND.  If COMMAND is not "
-"specified,\n"
+"    ARGUMENTS become the arguments to COMMAND.  If COMMAND is not specified,\n"
 "    any redirections take effect in the current shell.\n"
 "    \n"
 "    Options:\n"
@@ -3453,19 +3249,16 @@ msgid ""
 "      -c\texecute COMMAND with an empty environment\n"
 "      -l\tplace a dash in the zeroth argument to COMMAND\n"
 "    \n"
-"    If the command cannot be executed, a non-interactive shell exits, "
-"unless\n"
+"    If the command cannot be executed, a non-interactive shell exits, unless\n"
 "    the shell option `execfail' is set.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless COMMAND is not found or a redirection error "
-"occurs."
+"    Returns success unless COMMAND is not found or a redirection error occurs."
 msgstr ""
 "シェルを与えられたコマンドで置換します。\n"
 "    \n"
 "    指定したプログラムでシェルを置換して COMMAND を実行します。ARGUMENTS は\n"
-"    COMMAND の引数となります。もし COMMAND が指定されない場合は、現在のシェ"
-"ル\n"
+"    COMMAND の引数となります。もし COMMAND が指定されない場合は、現在のシェル\n"
 "    に対する全てのリダイレクトが行われます。\n"
 "    \n"
 "    オプション:\n"
@@ -3473,15 +3266,13 @@ msgstr ""
 "      -c\t\tCOMMAND を環境変数なしで実行します\n"
 "      -l\t\tdash(-) を COMMAND の 0 番目の引数とします\n"
 "    \n"
-"    もしコマンドが実行できない場合、非対話的なシェルは終了し、対話的なシェル"
-"は\n"
+"    もしコマンドが実行できない場合、非対話的なシェルは終了し、対話的なシェルは\n"
 "    オプション `execfail' が設定されます。\n"
 "    \n"
 "    終了ステータス:\n"
-"    COMMAND が見つからないかリダイレクトエラーが発生しない限り成功を返しま"
-"す。"
+"    COMMAND が見つからないかリダイレクトエラーが発生しない限り成功を返します。"
 
-#: builtins.c:723
+#: builtins.c:715
 msgid ""
 "Exit the shell.\n"
 "    \n"
@@ -3493,34 +3284,29 @@ msgstr ""
 "    終了ステータス N でシェルを終了します。 N を指定しない場合は\n"
 "    最後に実行したコマンドの終了ステータスになります。"
 
-#: builtins.c:732
+#: builtins.c:724
 msgid ""
 "Exit a login shell.\n"
 "    \n"
-"    Exits a login shell with exit status N.  Returns an error if not "
-"executed\n"
+"    Exits a login shell with exit status N.  Returns an error if not executed\n"
 "    in a login shell."
 msgstr ""
 "ログインシェルを終了します。\n"
 "    \n"
-"    終了ステータス N でログインシェルを終了します。実行したのがログインシェ"
-"ル\n"
+"    終了ステータス N でログインシェルを終了します。実行したのがログインシェル\n"
 "    内で無い場合はエラーを返します。"
 
-#: builtins.c:742
-#, fuzzy
+#: builtins.c:734
 msgid ""
 "Display or execute commands from the history list.\n"
 "    \n"
-"    fc is used to list or edit and re-execute commands from the history "
-"list.\n"
+"    fc is used to list or edit and re-execute commands from the history list.\n"
 "    FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
 "    string, which means the most recent command beginning with that\n"
 "    string.\n"
 "    \n"
 "    Options:\n"
-"      -e ENAME\tselect which editor to use.  Default is FCEDIT, then "
-"EDITOR,\n"
+"      -e ENAME\tselect which editor to use.  Default is FCEDIT, then EDITOR,\n"
 "    \t\tthen vi\n"
 "      -l \tlist lines instead of editing\n"
 "      -n\tomit line numbers when listing\n"
@@ -3533,24 +3319,17 @@ msgid ""
 "    runs the last command beginning with `cc' and typing `r' re-executes\n"
 "    the last command.\n"
 "    \n"
-"    The history builtin also operates on the history list.\n"
-"    \n"
 "    Exit Status:\n"
-"    Returns success or status of executed command; non-zero if an error "
-"occurs."
+"    Returns success or status of executed command; non-zero if an error occurs."
 msgstr ""
 "ヒストリ一覧からコマンドを表示または実行します。\n"
 "    \n"
-"    fc はヒストリ一覧を表示または編集してコマンドを再実行するために使用しま"
-"す。\n"
-"    FIRST および LAST は範囲を指定する数値です。FIRST は文字列を指定すること"
-"も\n"
-"    できます。その場合はその文字列で始まる直近に実行したコマンドを表しま"
-"す。\n"
+"    fc はヒストリ一覧を表示または編集してコマンドを再実行するために使用します。\n"
+"    FIRST および LAST は範囲を指定する数値です。FIRST は文字列を指定することも\n"
+"    できます。その場合はその文字列で始まる直近に実行したコマンドを表します。\n"
 "    \n"
 "    オプション:\n"
-"      -e ENAME\t使用するエディタを選択します。デフォルトは FCEDIT で、次は "
-"EDITOR、\n"
+"      -e ENAME\t使用するエディタを選択します。デフォルトは FCEDIT で、次は EDITOR、\n"
 "     \t\tそして vi の順です。\n"
 "      -l \t編集ではなく行を一覧表示します\n"
 "      -n\t一覧表示時に行番号を表示しません\n"
@@ -3559,18 +3338,15 @@ msgstr ""
 "    `fc -s [pat=rep ...] [command]' 形式を使用すると、COMMAND は\n"
 "    OLD=NEW の置換が行われた後に再実行されます。\n"
 "    \n"
-"    これを使った使いやすいエイリアスは r='fc -s' です。これで `r cc' を実行す"
-"る\n"
-"    と最後に実行した cc で始まるコマンドが実行されます。`r' で直前のコマンド"
-"が\n"
+"    これを使った使いやすいエイリアスは r='fc -s' です。これで `r cc' を実行する\n"
+"    と最後に実行した cc で始まるコマンドが実行されます。`r' で直前のコマンドが\n"
 "    実行されます。\n"
 "    \n"
 "    終了ステータス:\n"
-"    実行したコマンドのステータスまたは成功が帰ります。エラーが発生した場合は "
-"0 \n"
+"    実行したコマンドのステータスまたは成功が帰ります。エラーが発生した場合は 0 \n"
 "    以外の値になります。"
 
-#: builtins.c:774
+#: builtins.c:764
 msgid ""
 "Move job to the foreground.\n"
 "    \n"
@@ -3583,26 +3359,21 @@ msgid ""
 msgstr ""
 "ジョブをフォアグランドにします。\n"
 "    \n"
-"    JOB_SPEC で識別されたジョブをフォアグランドにして、現在のジョブにしま"
-"す。\n"
-"    もし JOB_SPEC が存在しない場合、シェルが現在のレントジョブとして考えてい"
-"る\n"
+"    JOB_SPEC で識別されたジョブをフォアグランドにして、現在のジョブにします。\n"
+"    もし JOB_SPEC が存在しない場合、シェルが現在のレントジョブとして考えている\n"
 "    ものが利用されます。\n"
 "    \n"
 "    \n"
 "    終了ステータス:\n"
-"    フォアグラウンドになったコマンドのステータスを返します。または、エラー"
-"が\n"
+"    フォアグラウンドになったコマンドのステータスを返します。または、エラーが\n"
 "    発生した時に失敗を返します。"
 
-#: builtins.c:789
+#: builtins.c:779
 msgid ""
 "Move jobs to the background.\n"
 "    \n"
-"    Place the jobs identified by each JOB_SPEC in the background, as if "
-"they\n"
-"    had been started with `&'.  If JOB_SPEC is not present, the shell's "
-"notion\n"
+"    Place the jobs identified by each JOB_SPEC in the background, as if they\n"
+"    had been started with `&'.  If JOB_SPEC is not present, the shell's notion\n"
 "    of the current job is used.\n"
 "    \n"
 "    Exit Status:\n"
@@ -3610,23 +3381,20 @@ msgid ""
 msgstr ""
 "ジョブをバックグラウンドにします。\n"
 "    \n"
-"    JOB_SPEC で識別されるジョブを `&' と共に始めた時のようにバックグラウンド"
-"に\n"
-"    します。もし JOB_SPEC が存在しない場合、シェルが現在のジョブとして考えて"
-"い\n"
+"    JOB_SPEC で識別されるジョブを `&' と共に始めた時のようにバックグラウンドに\n"
+"    します。もし JOB_SPEC が存在しない場合、シェルが現在のジョブとして考えてい\n"
 "    るものが利用されます。\n"
 "    \n"
 "    終了ステータス:\n"
 "    ジョブ制御が有効になっていないかエラーが発生しない限り成功を返します。"
 
-#: builtins.c:803
+#: builtins.c:793
 #, fuzzy
 msgid ""
 "Remember or display program locations.\n"
 "    \n"
 "    Determine and remember the full pathname of each command NAME.  If\n"
-"    no arguments are given, information about remembered commands is "
-"displayed.\n"
+"    no arguments are given, information about remembered commands is displayed.\n"
 "    \n"
 "    Options:\n"
 "      -d\tforget the remembered location of each NAME\n"
@@ -3645,8 +3413,7 @@ msgid ""
 msgstr ""
 "プログラムの位置を記憶または表示します。\n"
 "    \n"
-"    各コマンド NAME のフルパスを決定し記憶します。もし引数が与えられなかった"
-"場合、\n"
+"    各コマンド NAME のフルパスを決定し記憶します。もし引数が与えられなかった場合、\n"
 "    記憶しているコマンドの情報が表示されます。\n"
 "    \n"
 "    オプション:\n"
@@ -3663,7 +3430,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    NAME が見つからないか、無効なオプションが与えられない限り成功を返します。"
 
-#: builtins.c:828
+#: builtins.c:818
 #, fuzzy
 msgid ""
 "Display information about builtin commands.\n"
@@ -3682,8 +3449,7 @@ msgid ""
 "      PATTERN\tPattern specifying a help topic\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless PATTERN is not found or an invalid option is "
-"given."
+"    Returns success unless PATTERN is not found or an invalid option is given."
 msgstr ""
 "組み込みコマンドの情報を表示します。\n"
 "    \n"
@@ -3701,10 +3467,9 @@ msgstr ""
 "      PATTERN\tヘルプトピックを指定するパターン\n"
 "    \n"
 "    終了ステータス:\n"
-"    PATTERN が見つからないか無効なオプションが与えられない限り成功を返しま"
-"す。"
+"    PATTERN が見つからないか無効なオプションが与えられない限り成功を返します。"
 
-#: builtins.c:852
+#: builtins.c:842
 #, fuzzy
 msgid ""
 "Display or manipulate the history list.\n"
@@ -3729,24 +3494,18 @@ msgid ""
 "      -s\tappend the ARGs to the history list as a single entry\n"
 "    \n"
 "    If FILENAME is given, it is used as the history file.  Otherwise,\n"
-"    if HISTFILE has a value, that is used. If FILENAME is not supplied\n"
-"    and HISTFILE is unset or null, the -a, -n, -r, and -w options have\n"
-"    no effect and return success.\n"
-"    \n"
-"    The fc builtin also operates on the history list.\n"
+"    if HISTFILE has a value, that is used, else ~/.bash_history.\n"
 "    \n"
 "    If the HISTTIMEFORMAT variable is set and not null, its value is used\n"
 "    as a format string for strftime(3) to print the time stamp associated\n"
-"    with each displayed history entry.  No time stamps are printed "
-"otherwise.\n"
+"    with each displayed history entry.  No time stamps are printed otherwise.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given or an error occurs."
 msgstr ""
 "ヒストリ一覧を表示または操作します。\n"
 "    \n"
-"    行番号をつけてヒストリを表示します。操作した各項目には前に`*'が付きま"
-"す。\n"
+"    行番号をつけてヒストリを表示します。操作した各項目には前に`*'が付きます。\n"
 "    引数 N がある場合は最後の N 個の項目のみを表示します。\n"
 "    \n"
 "    オプション:\n"
@@ -3763,20 +3522,18 @@ msgstr ""
 "    \tしないで表示します\n"
 "      -s\tARG を単一の項目としてヒストリ一覧に追加します\n"
 "    \n"
-"    FILENAME を与えた場合、FILENAME がヒストリファイルをして使用されます。そ"
-"れが\n"
+"    FILENAME を与えた場合、FILENAME がヒストリファイルをして使用されます。それが\n"
 "    無く、$HISTFILE に値がある場合その値が使用されます。そうでなければ \n"
 "    ~/.bash_history が使用されます。\n"
 "\n"
-"    もし $HISTTIMEFORMAT 変数が設定され、NULL で無ければ、strftime(3) の書"
-"式\n"
+"    もし $HISTTIMEFORMAT 変数が設定され、NULL で無ければ、strftime(3) の書式\n"
 "    文字列として各ヒストリ項目の時刻を表示する際に使用されます。それ以外は\n"
 "    時刻は表示されません。\n"
 "    \n"
 "    終了ステータス:\n"
 "    無効なオプションが与えられるかエラーが発生しない限り成功を返します。"
 
-#: builtins.c:893
+#: builtins.c:879
 #, fuzzy
 msgid ""
 "Display status of jobs.\n"
@@ -3802,10 +3559,8 @@ msgid ""
 msgstr ""
 "ジョブのステータスを表示します。\n"
 "    \n"
-"    アクティブなジョブを一覧表示します。JOBSPEC はジョブの出力を制限しま"
-"す。\n"
-"    オプションがない場合全てのアクティブなジョブのステータスが表示されま"
-"す。\n"
+"    アクティブなジョブを一覧表示します。JOBSPEC はジョブの出力を制限します。\n"
+"    オプションがない場合全てのアクティブなジョブのステータスが表示されます。\n"
 "    \n"
 "    オプション:\n"
 "      -l\t通常の情報に加えてプロセスIDを一覧表示する\n"
@@ -3816,14 +3571,13 @@ msgstr ""
 "      -s\t停止中のジョブの出力を制限する\n"
 "    \n"
 "    -x が指定された場合、 COMMAND は ARGS に現れるジョブをプロセスグルー\n"
-"    プリーダーのプロセス ID に置き換えた全てのジョブ指定の後に実行されま"
-"す。\n"
+"    プリーダーのプロセス ID に置き換えた全てのジョブ指定の後に実行されます。\n"
 "    \n"
 "    終了ステータス:\n"
 "    無効なオプションが与えられるかエラーが発生しない限り成功を返します。\n"
 "    もし -x が使用された場合、COMMAND の終了ステータスを返します。"
 
-#: builtins.c:920
+#: builtins.c:906
 msgid ""
 "Remove jobs from current shell.\n"
 "    \n"
@@ -3841,21 +3595,19 @@ msgid ""
 msgstr ""
 "現在のシェルからジョブを削除します。\n"
 "    \n"
-"    アクティブなジョブのテーブルから各引数の JOBSPEC を削除します。JOBSPEC が"
-"指定\n"
+"    アクティブなジョブのテーブルから各引数の JOBSPEC を削除します。JOBSPEC が指定\n"
 "    されない場合、シェルが現在のジョブと考えているものが使用されます。\n"
 "    \n"
 "    オプション:\n"
 "      -a\tJOBSPEC が与えられない時に全てのジョブを削除する\n"
-"      -h\tシェルが SIGHUP を受け取った時に各 JOBSPEC のジョブに対して "
-"SIGHUP \n"
+"      -h\tシェルが SIGHUP を受け取った時に各 JOBSPEC のジョブに対して SIGHUP \n"
 "    \tが送られないようにマークする\n"
 "      -r\t実行中のジョブのみ削除する\n"
 "    \n"
 "    終了ステータス:\n"
 "    無効なオプションか JOBSPEC が与えられない限り成功を返します。"
 
-#: builtins.c:939
+#: builtins.c:925
 #, fuzzy
 msgid ""
 "Send a signal to a job.\n"
@@ -3880,10 +3632,8 @@ msgid ""
 msgstr ""
 "ジョブにシグナルを送ります。\n"
 "    \n"
-"    PID または JOBSPEC で識別されるプロセスに SIGSPEC または SIGNUM で名付け"
-"ら\n"
-"    れるシグナルを送ります。もし SIGSPEC も SIGNUM も指定されない場合、"
-"SIGTERM\n"
+"    PID または JOBSPEC で識別されるプロセスに SIGSPEC または SIGNUM で名付けら\n"
+"    れるシグナルを送ります。もし SIGSPEC も SIGNUM も指定されない場合、SIGTERM\n"
 "    と見なされます。\n"
 "    \n"
 "    オプション:\n"
@@ -3892,24 +3642,21 @@ msgstr ""
 "      -l\tシグナル名を一覧表示する。-l の後に引数が続いた場合、\n"
 "    \tそれらは一覧表示されるべきシグナル番号であると見なされる\n"
 "    \n"
-"    Kill は次の2つの理由からシェル組み込み関数です。一つはプロセスIDの代わり"
-"に\n"
-"    ジョブIDを使用できるようにするためです。もう一つは作成したプロセスが制限"
-"に\n"
+"    Kill は次の2つの理由からシェル組み込み関数です。一つはプロセスIDの代わりに\n"
+"    ジョブIDを使用できるようにするためです。もう一つは作成したプロセスが制限に\n"
 "    達した時にプロセスを kill することができるようにするためです。\n"
 "    \n"
 "    終了ステータス:\n"
 "    無効なオプションが与えられるかエラーが発生しない限り成功を返します。"
 
-#: builtins.c:963
+#: builtins.c:949
 msgid ""
 "Evaluate arithmetic expressions.\n"
 "    \n"
 "    Evaluate each ARG as an arithmetic expression.  Evaluation is done in\n"
 "    fixed-width integers with no check for overflow, though division by 0\n"
 "    is trapped and flagged as an error.  The following list of operators is\n"
-"    grouped into levels of equal-precedence operators.  The levels are "
-"listed\n"
+"    grouped into levels of equal-precedence operators.  The levels are listed\n"
 "    in order of decreasing precedence.\n"
 "    \n"
 "    \tid++, id--\tvariable post-increment, post-decrement\n"
@@ -3973,37 +3720,31 @@ msgstr ""
 "    \t+=, -=, <<=, >>=,\n"
 "    \t&=, ^=, |=\t代入\n"
 "    \n"
-"    シェル変数は被演算子として使用できます。変数名は数式内で (強制的に固定"
-"長\n"
+"    シェル変数は被演算子として使用できます。変数名は数式内で (強制的に固定長\n"
 "    整数の) 値に置き換えられます。変数は数式内で使用する時には必ずしも\n"
 "    整数属性を持っている必要はありません。\n"
 "\n"
-"    演算子は優先順位の順に評価されます。小括弧でくくられた数式は先に評価さ"
-"れ、\n"
+"    演算子は優先順位の順に評価されます。小括弧でくくられた数式は先に評価され、\n"
 "    上記の優先順位を上書きするかもしれません。\n"
 "    \n"
 "    終了ステータス:\n"
 "    ARG の最終的な評価値が 0 の場合 let は 1 を返します。それ以外の場合は\n"
 "     let は 0 を返します。"
 
-#: builtins.c:1008
+#: builtins.c:994
 #, fuzzy
 msgid ""
 "Read a line from the standard input and split it into fields.\n"
 "    \n"
 "    Reads a single line from the standard input, or from file descriptor FD\n"
-"    if the -u option is supplied.  The line is split into fields as with "
-"word\n"
+"    if the -u option is supplied.  The line is split into fields as with word\n"
 "    splitting, and the first word is assigned to the first NAME, the second\n"
 "    word to the second NAME, and so on, with any leftover words assigned to\n"
-"    the last NAME.  Only the characters found in $IFS are recognized as "
-"word\n"
-"    delimiters. By default, the backslash character escapes delimiter "
-"characters\n"
+"    the last NAME.  Only the characters found in $IFS are recognized as word\n"
+"    delimiters. By default, the backslash character escapes delimiter characters\n"
 "    and newline.\n"
 "    \n"
-"    If no NAMEs are supplied, the line read is stored in the REPLY "
-"variable.\n"
+"    If no NAMEs are supplied, the line read is stored in the REPLY variable.\n"
 "    \n"
 "    Options:\n"
 "      -a array\tassign the words read to sequential indices of the array\n"
@@ -4011,14 +3752,11 @@ msgid ""
 "      -d delim\tcontinue until the first character of DELIM is read, rather\n"
 "    \t\tthan newline\n"
 "      -e\tuse Readline to obtain the line\n"
-"      -E\tuse Readline to obtain the line and use the bash default\n"
-"    \t\tcompletion instead of Readline's default completion\n"
 "      -i text\tuse TEXT as the initial text for Readline\n"
 "      -n nchars\treturn after reading NCHARS characters rather than waiting\n"
 "    \t\tfor a newline, but honor a delimiter if fewer than\n"
 "    \t\tNCHARS characters are read before the delimiter\n"
-"      -N nchars\treturn only after reading exactly NCHARS characters, "
-"unless\n"
+"      -N nchars\treturn only after reading exactly NCHARS characters, unless\n"
 "    \t\tEOF is encountered or read times out, ignoring any\n"
 "    \t\tdelimiter\n"
 "      -p prompt\toutput the string PROMPT without a trailing newline before\n"
@@ -4036,43 +3774,33 @@ msgid ""
 "      -u fd\tread from file descriptor FD instead of the standard input\n"
 "    \n"
 "    Exit Status:\n"
-"    The return code is zero, unless end-of-file is encountered, read times "
-"out\n"
-"    (in which case it's greater than 128), a variable assignment error "
-"occurs,\n"
+"    The return code is zero, unless end-of-file is encountered, read times out\n"
+"    (in which case it's greater than 128), a variable assignment error occurs,\n"
 "    or an invalid file descriptor is supplied as the argument to -u."
 msgstr ""
 "標準入力から一行読み込みフィールド毎に分割します。\n"
 "    \n"
-"    標準入力から一行読み込みます。または -u が指定されている場合はファイル記"
-"述子\n"
-"    FD から読み込みます。行は単語分割によってフィールドに分割され、最初の単語"
-"が\n"
-"    最初の NAME に、2番目の単語が2番目に NAME にという順で割り当てられます。"
-"残っ\n"
-"    た単語は全て最後の NAME に割り当てられます。変数 $IFS に設定された文字の"
-"みが\n"
+"    標準入力から一行読み込みます。または -u が指定されている場合はファイル記述子\n"
+"    FD から読み込みます。行は単語分割によってフィールドに分割され、最初の単語が\n"
+"    最初の NAME に、2番目の単語が2番目に NAME にという順で割り当てられます。残っ\n"
+"    た単語は全て最後の NAME に割り当てられます。変数 $IFS に設定された文字のみが\n"
 "    単語の区切りとして認識されます。\n"
 "    \n"
 "    もし NAME を指定しなかった場合、行は REPLY 変数に保存されます。\n"
 "    \n"
 "    オプション:\n"
-"      -a array\t読み込んだ単語をインデックス型配列 ARRAY に順番に割り当てま"
-"す。\n"
+"      -a array\t読み込んだ単語をインデックス型配列 ARRAY に順番に割り当てます。\n"
 "    \t\t開始番号は 0 です。\n"
 "      -d delim\t改行ではなく文字 DELIM が最初に現れるまで読み込みを続けます\n"
 "      -e\t\t対話的シェルで行を得るのに Readline を使用します\n"
 "      -i text\tReadline の初期テキストとして TEXT を使用します\n"
-"      -n nchars\t改行が無くても文字数 NCHARS を読み込んだら復帰します。"
-"NCHARS\n"
+"      -n nchars\t改行が無くても文字数 NCHARS を読み込んだら復帰します。NCHARS\n"
 "    \t\tより前に区切り文字 (DELIMITER) が現れた場合は区切り文字が\n"
 "    \t\t優先されます\n"
-"      -N nchars\t厳密に文字数 NCHARS を読み込み復帰します。ただし、ファイル"
-"終\n"
+"      -N nchars\t厳密に文字数 NCHARS を読み込み復帰します。ただし、ファイル終\n"
 "    \t\t了(EOF) になるか読み込みタイムアウトが発生した場合は除きます。\n"
 "    \t\t区切り文字 (DELIMITER) は無視されます\n"
-"      -p prompt\t読み込み前に文字列 PROMPT を後ろに改行を付けないで表示しま"
-"す\n"
+"      -p prompt\t読み込み前に文字列 PROMPT を後ろに改行を付けないで表示します\n"
 "      -r\t\tバックスペースで文字をエスケープすることを禁止します\n"
 "      -s\t\t端末から読み込まれる文字をエコーバックしません\n"
 "      -t timeout\tTIMEOUT 秒以内に入力行が完全に読み込まれなかった場合\n"
@@ -4085,11 +3813,10 @@ msgstr ""
 "      -u fd\t\t読み込みに標準入力ではなくファイル記述子 FD を使用します\n"
 "    \n"
 "    終了ステータス:\n"
-"    ファイル終了(EOF)、読み込みタイムアウト(この場合は128以上)、変数への代入"
-"エ\n"
+"    ファイル終了(EOF)、読み込みタイムアウト(この場合は128以上)、変数への代入エ\n"
 "    ラーが発生、 -u に無効なファイル記述子が与えられた場合を除き0を返します。"
 
-#: builtins.c:1058
+#: builtins.c:1042
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -4102,18 +3829,15 @@ msgid ""
 msgstr ""
 "シェル関数から復帰します。\n"
 "    \n"
-"    N で指定した値を戻り値として関数または source されたスクリプトを終了しま"
-"す。\n"
-"    N が指定されない場合、関数またはスクリプトで最後に実行したコマンドの戻り"
-"値\n"
+"    N で指定した値を戻り値として関数または source されたスクリプトを終了します。\n"
+"    N が指定されない場合、関数またはスクリプトで最後に実行したコマンドの戻り値\n"
 "    が使用されます。\n"
 "    \n"
 "    終了ステータス:\n"
-"    戻り値 N、またはシェルが関数またはスクリプトを実行していない場合は失敗"
-"を\n"
+"    戻り値 N、またはシェルが関数またはスクリプトを実行していない場合は失敗を\n"
 "    返します。"
 
-#: builtins.c:1071
+#: builtins.c:1055
 #, fuzzy
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
@@ -4157,8 +3881,7 @@ msgid ""
 "              physical     same as -P\n"
 "              pipefail     the return value of a pipeline is the status of\n"
 "                           the last command to exit with a non-zero status,\n"
-"                           or zero if no command exited with a non-zero "
-"status\n"
+"                           or zero if no command exited with a non-zero status\n"
 "              posix        change the behavior of bash where the default\n"
 "                           operation differs from the Posix standard to\n"
 "                           match the standard\n"
@@ -4182,18 +3905,13 @@ msgid ""
 "          by default when the shell is interactive.\n"
 "      -P  If set, do not resolve symbolic links when executing commands\n"
 "          such as cd which change the current directory.\n"
-"      -T  If set, the DEBUG and RETURN traps are inherited by shell "
-"functions.\n"
+"      -T  If set, the DEBUG and RETURN traps are inherited by shell functions.\n"
 "      --  Assign any remaining arguments to the positional parameters.\n"
 "          If there are no remaining arguments, the positional parameters\n"
 "          are unset.\n"
 "      -   Assign any remaining arguments to the positional parameters.\n"
 "          The -x and -v options are turned off.\n"
 "    \n"
-"    If -o is supplied with no option-name, set prints the current shell\n"
-"    option settings. If +o is supplied with no option-name, set prints a\n"
-"    series of set commands to recreate the current option settings.\n"
-"    \n"
 "    Using + rather than - causes these flags to be turned off.  The\n"
 "    flags can also be used upon invocation of the shell.  The current\n"
 "    set of flags may be found in $-.  The remaining n ARGs are positional\n"
@@ -4243,8 +3961,7 @@ msgstr ""
 "              nounset      -u と同様\n"
 "              onecmd       -t と同様\n"
 "              physical     -P と同様\n"
-"              pipefail     パイプラインの戻り値を最後に 0 以外で終了したコ"
-"マ\n"
+"              pipefail     パイプラインの戻り値を最後に 0 以外で終了したコマ\n"
 "                           ンドの終了ステータスにする。0 以外のステータスで\n"
 "                           終了したコマンドが無い場合には 0 にする。\n"
 "              posix        Posix 標準とデフォルト動作が異なる bash の動作を\n"
@@ -4283,7 +4000,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    無効なオプションが与えられない限り成功を返します。"
 
-#: builtins.c:1160
+#: builtins.c:1140
 #, fuzzy
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
@@ -4296,8 +4013,7 @@ msgid ""
 "      -n\ttreat each NAME as a name reference and unset the variable itself\n"
 "    \t\trather than the variable it references\n"
 "    \n"
-"    Without options, unset first tries to unset a variable, and if that "
-"fails,\n"
+"    Without options, unset first tries to unset a variable, and if that fails,\n"
 "    tries to unset a function.\n"
 "    \n"
 "    Some variables cannot be unset; also see `readonly'.\n"
@@ -4315,23 +4031,20 @@ msgstr ""
 "      -n\t各 NAME を名前参照として扱い、変数自身を消去する。参照として\n"
 "\t\t評価はしない。              \n"
 "    \n"
-"    オプションが無い場合、最初に変数を消去しようと試みます。失敗した場合に"
-"は\n"
+"    オプションが無い場合、最初に変数を消去しようと試みます。失敗した場合には\n"
 "    関数を消去しようと試みます。\n"
 "    \n"
 "    いくつかの変数は消去できません。`readonly' も参照してください。\n"
 "    \n"
 "    終了ステータス:\n"
-"    無効なオプションが与えられるか NAME が読み取り専用の場合を除き成功を返し"
-"ます。"
+"    無効なオプションが与えられるか NAME が読み取り専用の場合を除き成功を返します。"
 
-#: builtins.c:1182
+#: builtins.c:1162
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
 "    Marks each NAME for automatic export to the environment of subsequently\n"
-"    executed commands.  If VALUE is supplied, assign VALUE before "
-"exporting.\n"
+"    executed commands.  If VALUE is supplied, assign VALUE before exporting.\n"
 "    \n"
 "    Options:\n"
 "      -f\trefer to shell functions\n"
@@ -4360,7 +4073,7 @@ msgstr ""
 "    無効なオプションが与えられるか、無効な NAME が与えられない限り成功\n"
 "    を返します。"
 
-#: builtins.c:1201
+#: builtins.c:1181
 #, fuzzy
 msgid ""
 "Mark shell variables as unchangeable.\n"
@@ -4400,7 +4113,7 @@ msgstr ""
 "    無効なオプションが与えられるか、与えられた NAME が無効な場合を除き成功\n"
 "    を返します。"
 
-#: builtins.c:1223
+#: builtins.c:1203
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -4418,7 +4131,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    Nが負の値または $# より大きい場合を除き成功を返します。"
 
-#: builtins.c:1235 builtins.c:1250
+#: builtins.c:1215 builtins.c:1230
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -4442,18 +4155,16 @@ msgstr ""
 "    FILENAME で最後に実行したコマンドのステータスを返します。FILENAME が\n"
 "    読み込めなかった場合は失敗を返します。"
 
-#: builtins.c:1266
+#: builtins.c:1246
 #, fuzzy
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
 "    Suspend the execution of this shell until it receives a SIGCONT signal.\n"
-"    Unless forced, login shells and shells without job control cannot be\n"
-"    suspended.\n"
+"    Unless forced, login shells cannot be suspended.\n"
 "    \n"
 "    Options:\n"
-"      -f\tforce the suspend, even if the shell is a login shell or job\n"
-"    \t\tcontrol is not enabled.\n"
+"      -f\tforce the suspend, even if the shell is a login shell\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless job control is not enabled or an error occurs."
@@ -4469,7 +4180,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    ジョブ制御が有効でないかエラーが発生しない限り成功を返します。"
 
-#: builtins.c:1284
+#: builtins.c:1262
 #, fuzzy
 msgid ""
 "Evaluate conditional expression.\n"
@@ -4504,8 +4215,7 @@ msgid ""
 "      -x FILE        True if the file is executable by you.\n"
 "      -O FILE        True if the file is effectively owned by you.\n"
 "      -G FILE        True if the file is effectively owned by your group.\n"
-"      -N FILE        True if the file has been modified since it was last "
-"read.\n"
+"      -N FILE        True if the file has been modified since it was last read.\n"
 "    \n"
 "      FILE1 -nt FILE2  True if file1 is newer than file2 (according to\n"
 "                       modification date).\n"
@@ -4526,8 +4236,7 @@ msgid ""
 "      STRING1 != STRING2\n"
 "                     True if the strings are not equal.\n"
 "      STRING1 < STRING2\n"
-"                     True if STRING1 sorts before STRING2 "
-"lexicographically.\n"
+"                     True if STRING1 sorts before STRING2 lexicographically.\n"
 "      STRING1 > STRING2\n"
 "                     True if STRING1 sorts after STRING2 lexicographically.\n"
 "    \n"
@@ -4580,13 +4289,10 @@ msgstr ""
 "      -w FILE        ファイルがユーザに対して書き込み可能な時に真(true)\n"
 "      -x FILE        ファイルがユーザに対して実行可能な時に真(true)\n"
 "      -O FILE        ファイルをユーザが実効的に所有されている時に真(true)\n"
-"      -G FILE        ファイルのグループにユーザが実効的に所属している時に真"
-"(true)\n"
-"      -N FILE        ファイルを最後に読み込んだ以降に変更されている時に真"
-"(true)\n"
+"      -G FILE        ファイルのグループにユーザが実効的に所属している時に真(true)\n"
+"      -N FILE        ファイルを最後に読み込んだ以降に変更されている時に真(true)\n"
 "    \n"
-"      FILE1 -nt FILE2  file1 が file2 より新しい時(更新時間に基づく)に真"
-"(true)\n"
+"      FILE1 -nt FILE2  file1 が file2 より新しい時(更新時間に基づく)に真(true)\n"
 "                       \n"
 "    \n"
 "      FILE1 -ot FILE2  file1 が file2 より古い時に真(true)\n"
@@ -4616,8 +4322,7 @@ msgstr ""
 "      -R VAR         シェル変数 VAR が設定され、名前参照の時に真(true)\n"
 "      ! EXPR         式 expr が偽(fales)の時に真(true)\n"
 "      EXPR1 -a EXPR2 式 expr1 および expr2 の両方とも真(true)の時に真(true)\n"
-"      EXPR1 -o EXPR2 式 expr1 または expr2 のいずれかが真(true)の時に真"
-"(true)\n"
+"      EXPR1 -o EXPR2 式 expr1 または expr2 のいずれかが真(true)の時に真(true)\n"
 "    \n"
 "      arg1 OP arg2   数値比較演算を行なう。OP は -eq, -ne, -lt, -le, -gt,\n"
 "                     または -ge のいずれかとなる。\n"
@@ -4627,11 +4332,10 @@ msgstr ""
 "    以上(-ge)の時に真(true)を返します。\n"
 "    \n"
 "    終了ステータス:\n"
-"    式 EXPR の評価値が真(true)の時に成功を返します。EXPR の評価値が偽(false) "
-"または\n"
+"    式 EXPR の評価値が真(true)の時に成功を返します。EXPR の評価値が偽(false) または\n"
 "    引数が無効な場合に失敗を返します。"
 
-#: builtins.c:1366
+#: builtins.c:1344
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4640,16 +4344,14 @@ msgid ""
 msgstr ""
 "条件式を評価します。\n"
 "    \n"
-"    これは test 組み込み関数と同義語です。ただし、最後の引数に開始の`['と一"
-"致\n"
+"    これは test 組み込み関数と同義語です。ただし、最後の引数に開始の`['と一致\n"
 "    するように文字`]'を与えなければいけません。"
 
-#: builtins.c:1375
+#: builtins.c:1353
 msgid ""
 "Display process times.\n"
 "    \n"
-"    Prints the accumulated user and system times for the shell and all of "
-"its\n"
+"    Prints the accumulated user and system times for the shell and all of its\n"
 "    child processes.\n"
 "    \n"
 "    Exit Status:\n"
@@ -4657,88 +4359,65 @@ msgid ""
 msgstr ""
 "プロセスの時間を表示します。\n"
 "    \n"
-"    シェルとその子プロセスが使用したユーザー時間とシステム時間それぞれの累積"
-"を\n"
+"    シェルとその子プロセスが使用したユーザー時間とシステム時間それぞれの累積を\n"
 "    表示します。\n"
 "    \n"
 "    終了ステータス:\n"
 "    常に成功を返します。"
 
-#: builtins.c:1387
-#, fuzzy
+#: builtins.c:1365
 msgid ""
 "Trap signals and other events.\n"
 "    \n"
-"    Defines and activates handlers to be run when the shell receives "
-"signals\n"
+"    Defines and activates handlers to be run when the shell receives signals\n"
 "    or other conditions.\n"
 "    \n"
-"    ACTION is a command to be read and executed when the shell receives the\n"
-"    signal(s) SIGNAL_SPEC.  If ACTION is absent (and a single SIGNAL_SPEC\n"
+"    ARG is a command to be read and executed when the shell receives the\n"
+"    signal(s) SIGNAL_SPEC.  If ARG is absent (and a single SIGNAL_SPEC\n"
 "    is supplied) or `-', each specified signal is reset to its original\n"
-"    value.  If ACTION is the null string each SIGNAL_SPEC is ignored by the\n"
+"    value.  If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
 "    shell and by the commands it invokes.\n"
 "    \n"
-"    If a SIGNAL_SPEC is EXIT (0) ACTION is executed on exit from the shell.\n"
-"    If a SIGNAL_SPEC is DEBUG, ACTION is executed before every simple "
-"command\n"
-"    and selected other commands. If a SIGNAL_SPEC is RETURN, ACTION is\n"
-"    executed each time a shell function or a script run by the . or source\n"
-"    builtins finishes executing.  A SIGNAL_SPEC of ERR means to execute "
-"ACTION\n"
-"    each time a command's failure would cause the shell to exit when the -e\n"
-"    option is enabled.\n"
-"    \n"
-"    If no arguments are supplied, trap prints the list of commands "
-"associated\n"
-"    with each trapped signal in a form that may be reused as shell input to\n"
-"    restore the same signal dispositions.\n"
+"    If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell.  If\n"
+"    a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.  If\n"
+"    a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or a\n"
+"    script run by the . or source builtins finishes executing.  A SIGNAL_SPEC\n"
+"    of ERR means to execute ARG each time a command's failure would cause the\n"
+"    shell to exit when the -e option is enabled.\n"
+"    \n"
+"    If no arguments are supplied, trap prints the list of commands associated\n"
+"    with each signal.\n"
 "    \n"
 "    Options:\n"
 "      -l\tprint a list of signal names and their corresponding numbers\n"
-"      -p\tdisplay the trap commands associated with each SIGNAL_SPEC in a\n"
-"    \t\tform that may be reused as shell input; or for all trapped\n"
-"    \t\tsignals if no arguments are supplied\n"
-"      -P\tdisplay the trap commands associated with each SIGNAL_SPEC. At "
-"least\n"
-"    \t\tone SIGNAL_SPEC must be supplied. -P and -p cannot be used\n"
-"    \t\ttogether.\n"
-"    \n"
-"    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
-"number.\n"
+"      -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
+"    \n"
+"    Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal number.\n"
 "    Signal names are case insensitive and the SIG prefix is optional.  A\n"
 "    signal may be sent to the shell with \"kill -signal $$\".\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless a SIGSPEC is invalid or an invalid option is "
-"given."
+"    Returns success unless a SIGSPEC is invalid or an invalid option is given."
 msgstr ""
 "シグナルまたは他のイベントをトラップします。\n"
 "    \n"
-"    シェルがシグナルを受け取るか他の条件が発生した時に実行されるハンドラー"
-"を\n"
+"    シェルがシグナルを受け取るか他の条件が発生した時に実行されるハンドラーを\n"
 "    定義および有効化します。\n"
 "    \n"
 "    ARG はシグナル SIGNAL_SPEC を受け取った時に読み込まれ実行されるコマンド\n"
-"    です。もし ARG が無い (かつシグナル SIGNAL_SPEC が与えられた場合) また"
-"は\n"
+"    です。もし ARG が無い (かつシグナル SIGNAL_SPEC が与えられた場合) または\n"
 "    `-' の場合、各指定したシグナルはオリジナルの値にリセットされます。\n"
 "    ARG が NULL 文字列の場合、各シグナル SIGNAL_SPEC はシェルにおよび起動さ\n"
 "    れたコマンドによって無視されます。\n"
 "    \n"
-"    もし SIGNAL_SPEC が EXIT (0) の場合、ARG がシェルの終了時に実行されま"
-"す。\n"
-"    もし SIGNAL_SPEC が DEBUG の場合 ARG は単に毎回コマンドの前に実行されま"
-"す。\n"
+"    もし SIGNAL_SPEC が EXIT (0) の場合、ARG がシェルの終了時に実行されます。\n"
+"    もし SIGNAL_SPEC が DEBUG の場合 ARG は単に毎回コマンドの前に実行されます。\n"
 "    もし SIGNAL_SPEC が RETURN の場合 ARG はシェル関数または . か source に\n"
-"    よって実行されたスクリプトが終了した時に実行されます。 SIGNAL_SPEC が "
-"ERR\n"
-"    の場合、-e オプションが有効な場合にシェルが終了するようなコマンド失敗が"
-"発\n"
+"    よって実行されたスクリプトが終了した時に実行されます。 SIGNAL_SPEC が ERR\n"
+"    の場合、-e オプションが有効な場合にシェルが終了するようなコマンド失敗が発\n"
 "    生するたびに実行されます。\n"
 "    \n"
-"    もし引数が与えられない場合、 trap は各シグナルに割り当てられたコマンド"
-"の\n"
+"    もし引数が与えられない場合、 trap は各シグナルに割り当てられたコマンドの\n"
 "    一覧を表示します。\n"
 "    \n"
 "    オプション:\n"
@@ -4752,7 +4431,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    SIGSPEC が無効か、無効なオプションを与えられない限り成功を返します。"
 
-#: builtins.c:1430
+#: builtins.c:1401
 #, fuzzy
 msgid ""
 "Display information about command type.\n"
@@ -4779,8 +4458,7 @@ msgid ""
 "      NAME\tCommand name to be interpreted.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success if all of the NAMEs are found; fails if any are not "
-"found."
+"    Returns success if all of the NAMEs are found; fails if any are not found."
 msgstr ""
 "コマンドの種類に関する情報を表示します。\n"
 "    \n"
@@ -4799,25 +4477,22 @@ msgstr ""
 "    \tが `file' を返さない場合、何も返しません。\n"
 "      -t\t次のいずれかの単語を返します。`alias', `keyword', `function',\n"
 "    \t `builtin', `file' or `'。それぞれ NAME がエイリアス、シェル予約語、\n"
-"    \tシェル関数、シェル組み込み関数、ディスク上のファイル、何も見つからな"
-"い\n"
+"    \tシェル関数、シェル組み込み関数、ディスク上のファイル、何も見つからない\n"
 "    \tに対応します。\n"
 "    \n"
 "    引数:\n"
 "      NAME\t解釈するコマンドの名前です。\n"
 "    \n"
 "    終了ステータス:\n"
-"    全ての NAME が見つかった場合に成功を返します。どれかが見つからなかった場"
-"合\n"
+"    全ての NAME が見つかった場合に成功を返します。どれかが見つからなかった場合\n"
 "    は失敗を返します。"
 
-#: builtins.c:1461
+#: builtins.c:1432
 #, fuzzy
 msgid ""
 "Modify shell resource limits.\n"
 "    \n"
-"    Provides control over the resources available to the shell and "
-"processes\n"
+"    Provides control over the resources available to the shell and processes\n"
 "    it creates, on systems that allow such control.\n"
 "    \n"
 "    Options:\n"
@@ -4854,18 +4529,16 @@ msgid ""
 "    Otherwise, the current value of the specified resource is printed.  If\n"
 "    no option is given, then -f is assumed.\n"
 "    \n"
-"    Values are in 1024-byte increments, except for -t, which is in seconds;\n"
-"    -p, which is in increments of 512 bytes; -R, which is in microseconds;\n"
-"    -b, which is in bytes; and -e, -i, -k, -n, -q, -r, -u, -x, and -P,\n"
-"    which accept unscaled values.\n"
+"    Values are in 1024-byte increments, except for -t, which is in seconds,\n"
+"    -p, which is in increments of 512 bytes, and -u, which is an unscaled\n"
+"    number of processes.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is supplied or an error occurs."
 msgstr ""
 "シェルの資源制限を変更します。\n"
 "    \n"
-"    システムがシェルの資源制御を提供している場合、シェル、およびシェルが生"
-"成\n"
+"    システムがシェルの資源制御を提供している場合、シェル、およびシェルが生成\n"
 "    するプロセスに対する資源の制御を行います。\n"
 "    \n"
 "    オプション:\n"
@@ -4896,8 +4569,7 @@ msgstr ""
 "    LIMIT を指定した場合、指定した資源に新しい値が設定されます。`soft', \n"
 "    `hard' および `unlimited' という特別な値は現在の緩やかな制限、現在の\n"
 "    厳しい制限、および無制限を意味します。\n"
-"    LIMIT を指定しない場合、指定した資源の現在の値を表示します。オプション"
-"を\n"
+"    LIMIT を指定しない場合、指定した資源の現在の値を表示します。オプションを\n"
 "    指定しない場合、-f と見なされます。\n"
 "    \n"
 "    -t は秒単位、-p は 512バイトごと、-u はプロセス数であり、それ以外は\n"
@@ -4906,7 +4578,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    無効なオプションを与えるか、エラーが発生しない限り、成功を返します。"
 
-#: builtins.c:1513
+#: builtins.c:1483
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4925,12 +4597,10 @@ msgid ""
 msgstr ""
 "ファイルのモードマスクを表示または設定します。\n"
 "    \n"
-"    ユーザーがファイル作成時のマスクを MODE に設定します。MODE が指定されない"
-"場合\n"
+"    ユーザーがファイル作成時のマスクを MODE に設定します。MODE が指定されない場合\n"
 "    現在のマスクの値を表示します。\n"
 "    \n"
-"    MODE が数値で開始した場合8進数として解釈されます。それ以外は chmod(1) で"
-"受け\n"
+"    MODE が数値で開始した場合8進数として解釈されます。それ以外は chmod(1) で受け\n"
 "    入れられるシンボルモードの文字列として扱われます。\n"
 "    \n"
 "    オプション:\n"
@@ -4940,28 +4610,24 @@ msgstr ""
 "    終了ステータス:\n"
 "    MODE が無効か、無効なオプションが与えられない限り成功を返します。"
 
-#: builtins.c:1533
+#: builtins.c:1503
 #, fuzzy
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
-"    Waits for each process identified by an ID, which may be a process ID or "
-"a\n"
+"    Waits for each process identified by an ID, which may be a process ID or a\n"
 "    job specification, and reports its termination status.  If ID is not\n"
 "    given, waits for all currently active child processes, and the return\n"
 "    status is zero.  If ID is a job specification, waits for all processes\n"
 "    in that job's pipeline.\n"
 "    \n"
-"    If the -n option is supplied, waits for a single job from the list of "
-"IDs,\n"
-"    or, if no IDs are supplied, for the next job to complete and returns "
-"its\n"
+"    If the -n option is supplied, waits for a single job from the list of IDs,\n"
+"    or, if no IDs are supplied, for the next job to complete and returns its\n"
 "    exit status.\n"
 "    \n"
 "    If the -p option is supplied, the process or job identifier of the job\n"
 "    for which the exit status is returned is assigned to the variable VAR\n"
-"    named by the option argument. The variable will be unset initially, "
-"before\n"
+"    named by the option argument. The variable will be unset initially, before\n"
 "    any assignment. This is useful only when the -n option is supplied.\n"
 "    \n"
 "    If the -f option is supplied, and job control is enabled, waits for the\n"
@@ -4974,8 +4640,7 @@ msgid ""
 msgstr ""
 "ジョブの実行完了を待ち、終了ステータスを返します。\n"
 "    \n"
-"    ID で識別される各プロセス (プロセスID または ジョブ指定) を待ち、その終"
-"了\n"
+"    ID で識別される各プロセス (プロセスID または ジョブ指定) を待ち、その終了\n"
 "    ステータスを返します。ID が与えられない場合、現在アクティブな全ての子プ\n"
 "    ロセスを待ち 0 を返します。ID がジョブ指定の場合ジョブのパイプラインに\n"
 "    ある全てのプロセスを待ちます。\n"
@@ -4984,42 +4649,29 @@ msgstr ""
 "    最後の ID の終了ステータスを返します。IDが無効であるか、無効なオプ\n"
 "    ションが与えられた場合には失敗を返します。"
 
-#: builtins.c:1564
+#: builtins.c:1534
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
-"    Waits for each process specified by a PID and reports its termination "
-"status.\n"
+"    Waits for each process specified by a PID and reports its termination status.\n"
 "    If PID is not given, waits for all currently active child processes,\n"
 "    and the return status is zero.  PID must be a process ID.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns the status of the last PID; fails if PID is invalid or an "
-"invalid\n"
+"    Returns the status of the last PID; fails if PID is invalid or an invalid\n"
 "    option is given."
 msgstr ""
 "プロセスの実行完了を待ち、終了ステータスを返します。\n"
 "    \n"
-"    PIDで指定された各プロレスを待ち、その終了ステータスを返します。PID が与え"
-"られ\n"
+"    PIDで指定された各プロレスを待ち、その終了ステータスを返します。PID が与えられ\n"
 "    ない場合、現在アクティブな全ての子プロセスを待ち、0 を返します。PID は\n"
 "    プロセスIDでなければいけません。\n"
 "    \n"
 "    終了ステータス:\n"
-"    最後の PID の終了ステータスを返します。PIDが無効か、無効なオプションが与"
-"えられた\n"
+"    最後の PID の終了ステータスを返します。PIDが無効か、無効なオプションが与えられた\n"
 "    場合は失敗します。"
 
-#: builtins.c:1579
-msgid ""
-"Execute PIPELINE, which can be a simple command, and negate PIPELINE's\n"
-"    return status.\n"
-"    \n"
-"    Exit Status:\n"
-"    The logical negation of PIPELINE's return status."
-msgstr ""
-
-#: builtins.c:1589
+#: builtins.c:1549
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -5040,7 +4692,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    最後に実行したコマンドのステータスを返します。"
 
-#: builtins.c:1603
+#: builtins.c:1563
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -5070,7 +4722,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    最後に実行したコマンドのステータスを返します。"
 
-#: builtins.c:1621
+#: builtins.c:1581
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -5105,7 +4757,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    最後に実行したコマンドのステータスを返します。"
 
-#: builtins.c:1642
+#: builtins.c:1602
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -5133,7 +4785,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    PIPELINE の戻り値が終了ステータスとなります。"
 
-#: builtins.c:1659
+#: builtins.c:1619
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -5145,28 +4797,22 @@ msgid ""
 msgstr ""
 "パターン一致の結果に基づいてコマンドを実行します。\n"
 "    \n"
-"    WORD が PATTERN に一致するかどうかに基づいて選択的に COMMANDS を実行しま"
-"す。\n"
+"    WORD が PATTERN に一致するかどうかに基づいて選択的に COMMANDS を実行します。\n"
 "    複数のパターンを区切るために `|' が使用されます。\n"
 "    \n"
 "    終了ステータス:\n"
 "    最後に実行したコマンドのステータスを返します。"
 
-#: builtins.c:1671
+#: builtins.c:1631
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
-"    The `if COMMANDS' list is executed.  If its exit status is zero, then "
-"the\n"
-"    `then COMMANDS' list is executed.  Otherwise, each `elif COMMANDS' list "
-"is\n"
+"    The `if COMMANDS' list is executed.  If its exit status is zero, then the\n"
+"    `then COMMANDS' list is executed.  Otherwise, each `elif COMMANDS' list is\n"
 "    executed in turn, and if its exit status is zero, the corresponding\n"
-"    `then COMMANDS' list is executed and the if command completes.  "
-"Otherwise,\n"
-"    the `else COMMANDS' list is executed, if present.  The exit status of "
-"the\n"
-"    entire construct is the exit status of the last command executed, or "
-"zero\n"
+"    `then COMMANDS' list is executed and the if command completes.  Otherwise,\n"
+"    the `else COMMANDS' list is executed, if present.  The exit status of the\n"
+"    entire construct is the exit status of the last command executed, or zero\n"
 "    if no condition tested true.\n"
 "    \n"
 "    Exit Status:\n"
@@ -5174,25 +4820,22 @@ msgid ""
 msgstr ""
 "条件に従ってコマンドを実行します。\n"
 "    \n"
-"    `if COMMANDS' を実行します。この終了ステータスが 0 の場合、`then "
-"COMMANDS'\n"
+"    `if COMMANDS' を実行します。この終了ステータスが 0 の場合、`then COMMANDS'\n"
 "    を実行します。そうでない場合は、各 `elif COMMANDS' を順番に実行し、その\n"
 "    終了ステータスが 0 の場合に、関連した `then COMMANDS' を実行し、if 文が\n"
 "    完了します。それ以外の場合、 `else COMMANDS' が存在する場合には実行され\n"
-"    ます。文全体の終了ステータスは、最後に実行したコマンドの終了ステータス"
-"か、\n"
+"    ます。文全体の終了ステータスは、最後に実行したコマンドの終了ステータスか、\n"
 "    または、テストした条件に true となるものが無い場合は 0 です。\n"
 "    \n"
 "    終了ステータス:\n"
 "    最後に実行したコマンドの終了ステータスを返します。"
 
-#: builtins.c:1688
+#: builtins.c:1648
 #, fuzzy
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
-"    Expand and execute COMMANDS-2 as long as the final command in COMMANDS "
-"has\n"
+"    Expand and execute COMMANDS-2 as long as the final command in COMMANDS has\n"
 "    an exit status of zero.\n"
 "    \n"
 "    Exit Status:\n"
@@ -5206,13 +4849,12 @@ msgstr ""
 "    終了ステータス:\n"
 "    最後に実行したコマンドのステータスを返します。"
 
-#: builtins.c:1700
+#: builtins.c:1660
 #, fuzzy
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
-"    Expand and execute COMMANDS-2 as long as the final command in COMMANDS "
-"has\n"
+"    Expand and execute COMMANDS-2 as long as the final command in COMMANDS has\n"
 "    an exit status which is not zero.\n"
 "    \n"
 "    Exit Status:\n"
@@ -5226,7 +4868,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    最後に実行したコマンドのステータスを返します。"
 
-#: builtins.c:1712
+#: builtins.c:1672
 #, fuzzy
 msgid ""
 "Create a coprocess named NAME.\n"
@@ -5249,13 +4891,12 @@ msgstr ""
 "    終了ステータス:\n"
 "    COMMAND の終了ステータスを返します。"
 
-#: builtins.c:1726
+#: builtins.c:1686
 msgid ""
 "Define shell function.\n"
 "    \n"
 "    Create a shell function named NAME.  When invoked as a simple command,\n"
-"    NAME runs COMMANDs in the calling shell's context.  When NAME is "
-"invoked,\n"
+"    NAME runs COMMANDs in the calling shell's context.  When NAME is invoked,\n"
 "    the arguments are passed to the function as $1...$n, and the function's\n"
 "    name is in $FUNCNAME.\n"
 "    \n"
@@ -5264,17 +4905,15 @@ msgid ""
 msgstr ""
 "シェル関数を定義します。\n"
 "    \n"
-"    NAME という名前のシェル関数を作成します。単にコマンドとして起動された時"
-"は\n"
-"    NAME は COMMANDs をシェルのコンテキスト内で呼び出します。NAME を起動し"
-"た\n"
+"    NAME という名前のシェル関数を作成します。単にコマンドとして起動された時は\n"
+"    NAME は COMMANDs をシェルのコンテキスト内で呼び出します。NAME を起動した\n"
 "    時に引数は関数に $1...$n という位置パラメーターで、関数名は $FUNCNAME\n"
 "    変数として渡されます。\n"
 "    \n"
 "    終了ステータス:\n"
 "    NAME が読み取り専用でない限り成功を返します。"
 
-#: builtins.c:1740
+#: builtins.c:1700
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -5292,7 +4931,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    最後に実行したコマンドのステータスを返します。"
 
-#: builtins.c:1752
+#: builtins.c:1712
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -5315,7 +4954,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    再開されたジョブの終了ステータスを返します。"
 
-#: builtins.c:1767
+#: builtins.c:1727
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -5333,16 +4972,13 @@ msgstr ""
 "    終了ステータス:\n"
 "    EXPRESSION の評価値が 0 の場合は 1、それ以外は 0 を返します。"
 
-#: builtins.c:1779
+#: builtins.c:1739
 msgid ""
 "Execute conditional command.\n"
 "    \n"
-"    Returns a status of 0 or 1 depending on the evaluation of the "
-"conditional\n"
-"    expression EXPRESSION.  Expressions are composed of the same primaries "
-"used\n"
-"    by the `test' builtin, and may be combined using the following "
-"operators:\n"
+"    Returns a status of 0 or 1 depending on the evaluation of the conditional\n"
+"    expression EXPRESSION.  Expressions are composed of the same primaries used\n"
+"    by the `test' builtin, and may be combined using the following operators:\n"
 "    \n"
 "      ( EXPRESSION )\tReturns the value of EXPRESSION\n"
 "      ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
@@ -5369,17 +5005,14 @@ msgstr ""
 "      ( EXPRESSION )\tEXPRESSION の値を返します\n"
 "      ! EXPRESSION\t\tEXPRESSION が true の時 false を返します。それ\n"
 "                  \t\t以外は false を返します\n"
-"      EXPR1 && EXPR2\tEXPR1 および EXPR2 の両方が true の時 true を返しま"
-"す。\n"
+"      EXPR1 && EXPR2\tEXPR1 および EXPR2 の両方が true の時 true を返します。\n"
 "      \tそれ以外は false を返します。\n"
 "      EXPR1 || EXPR2\tEXPR1 および EXPR2 のいずれかが true の時 true を返し\n"
 "      \tます。それ以外は false を返します。\n"
 "    \n"
-"    `==' および `!=' 演算子が使用された場合、演算子の右側の文字列をパターン"
-"と\n"
+"    `==' および `!=' 演算子が使用された場合、演算子の右側の文字列をパターンと\n"
 "    した左側の文字列に対するパターン一致処理が行われます。\n"
-"    `=~' 演算子が使用された場合、演算子の右側の文字列が正規表現として扱われ"
-"ま\n"
+"    `=~' 演算子が使用された場合、演算子の右側の文字列が正規表現として扱われま\n"
 "    す。\n"
 "    \n"
 "    && および || 演算子は EXPR1 で式の値を決定するのに十分な場合は EXPR2 を\n"
@@ -5388,7 +5021,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    EXPRESSION の値に基づいて 0 または 1 を返します。"
 
-#: builtins.c:1805
+#: builtins.c:1765
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -5489,7 +5122,7 @@ msgstr ""
 "    HISTIGNORE\tヒストリ一覧に保存されるコマンドを決める時に使用される\n"
 "    \t\tコロン (:) で区切られたパターンの一覧。\n"
 
-#: builtins.c:1862
+#: builtins.c:1822
 #, fuzzy
 msgid ""
 "Add directories to stack.\n"
@@ -5549,7 +5182,7 @@ msgstr ""
 "    無効な引数が与えられるかディレクトリ変更が失敗しない限り成功を\n"
 "    返します。"
 
-#: builtins.c:1896
+#: builtins.c:1856
 #, fuzzy
 msgid ""
 "Remove directories from stack.\n"
@@ -5579,8 +5212,7 @@ msgstr ""
 "ディレクトリスタックからディレクトリを削除します。\n"
 "    \n"
 "    ディレクトリスタックから要素を削除します。引数がない場合、ディレクトリ\n"
-"    スタックの先頭から削除し、新しいスタック先頭のディレクトリに移動しま"
-"す。\n"
+"    スタックの先頭から削除し、新しいスタック先頭のディレクトリに移動します。\n"
 "    \n"
 "    オプション:\n"
 "      -n\tスタックからディレクトリを削除した時、通常のディレクトリ変\n"
@@ -5601,7 +5233,7 @@ msgstr ""
 "    無効な引数が与えられるかディレクトリ変更が失敗しない限り成功を\n"
 "    返します。"
 
-#: builtins.c:1926
+#: builtins.c:1886
 #, fuzzy
 msgid ""
 "Display directory stack.\n"
@@ -5654,7 +5286,7 @@ msgstr ""
 "    終了ステータス:\n"
 "    無効なオプションが与えられるかエラーが発生しない限り成功を返します。"
 
-#: builtins.c:1957
+#: builtins.c:1917
 #, fuzzy
 msgid ""
 "Set and unset shell options.\n"
@@ -5690,7 +5322,7 @@ msgstr ""
 "    OPTNAME が有効な場合は成功を返します。無効なオプションが与えられた場合\n"
 "    または OPTNAME が無効な場合は失敗を返します。"
 
-#: builtins.c:1978
+#: builtins.c:1938
 #, fuzzy
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
@@ -5699,79 +5331,61 @@ msgid ""
 "      -v var\tassign the output to shell variable VAR rather than\n"
 "    \t\tdisplay it on the standard output\n"
 "    \n"
-"    FORMAT is a character string which contains three types of objects: "
-"plain\n"
-"    characters, which are simply copied to standard output; character "
-"escape\n"
+"    FORMAT is a character string which contains three types of objects: plain\n"
+"    characters, which are simply copied to standard output; character escape\n"
 "    sequences, which are converted and copied to the standard output; and\n"
-"    format specifications, each of which causes printing of the next "
-"successive\n"
+"    format specifications, each of which causes printing of the next successive\n"
 "    argument.\n"
 "    \n"
-"    In addition to the standard format characters csndiouxXeEfFgGaA "
-"described\n"
-"    in printf(3), printf interprets:\n"
+"    In addition to the standard format specifications described in printf(1),\n"
+"    printf interprets:\n"
 "    \n"
 "      %b\texpand backslash escape sequences in the corresponding argument\n"
 "      %q\tquote the argument in a way that can be reused as shell input\n"
 "      %Q\tlike %q, but apply any precision to the unquoted argument before\n"
 "    \t\tquoting\n"
-"      %(fmt)T\toutput the date-time string resulting from using FMT as a "
-"format\n"
+"      %(fmt)T\toutput the date-time string resulting from using FMT as a format\n"
 "    \t        string for strftime(3)\n"
 "    \n"
 "    The format is re-used as necessary to consume all of the arguments.  If\n"
 "    there are fewer arguments than the format requires,  extra format\n"
-"    specifications behave as if a zero value or null string, as "
-"appropriate,\n"
+"    specifications behave as if a zero value or null string, as appropriate,\n"
 "    had been supplied.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless an invalid option is given or a write or "
-"assignment\n"
+"    Returns success unless an invalid option is given or a write or assignment\n"
 "    error occurs."
 msgstr ""
 "ARGUMENTS を FORMAT で書式整形して表示します。\n"
 "    \n"
 "    オプション:\n"
-"      -v var\t標準出力に表示するのではなく、出力をシェル変数 VAR に代入しま"
-"す\n"
+"      -v var\t標準出力に表示するのではなく、出力をシェル変数 VAR に代入します\n"
 "    \n"
-"    FORMAT は次の3種類のオブジェクトを含む文字列です。一つ目は普通の文字で単"
-"に\n"
-"    標準出力にコピーされます。二つ目はエスケープ文字で変換された後標準出力"
-"に\n"
-"    コピーされます。三つ目は書式指定文字で、各文字は後に続く引数を表示しま"
-"す。\n"
+"    FORMAT は次の3種類のオブジェクトを含む文字列です。一つ目は普通の文字で単に\n"
+"    標準出力にコピーされます。二つ目はエスケープ文字で変換された後標準出力に\n"
+"    コピーされます。三つ目は書式指定文字で、各文字は後に続く引数を表示します。\n"
 "    \n"
-"    printf(1) に記述される標準の書式指定に加えて、printf は次の文字を解釈しま"
-"す。\n"
+"    printf(1) に記述される標準の書式指定に加えて、printf は次の文字を解釈します。\n"
 "    \n"
 "      %b\t対応する引数のバックスラッシュエスケープ文字を展開する\n"
 "      %q\tシェル入力として引数をクオートする\n"
-"      %(fmt)T   FMT を strftime(3) 用の書式文字列として日付と時間の文字列を出"
-"力する\n"
+"      %(fmt)T   FMT を strftime(3) 用の書式文字列として日付と時間の文字列を出力する\n"
 "    \n"
-"    FORMAT はすべての ARGUMENTS を使い切る必要があります。FORMATが必要とす"
-"る\n"
-"    ARGUMENTS より少ない場合、残りの書式指定は値が 0 または null 文字列が適"
-"切\n"
+"    FORMAT はすべての ARGUMENTS を使い切る必要があります。FORMATが必要とする\n"
+"    ARGUMENTS より少ない場合、残りの書式指定は値が 0 または null 文字列が適切\n"
 "    に与えられているかのように動作します。\n"
 "\n"
 "    終了ステータス:\n"
-"    無効な引数が与えられるか、書き込み、代入エラーが発生しない限り成功を返し"
-"ます。"
+"    無効な引数が与えられるか、書き込み、代入エラーが発生しない限り成功を返します。"
 
-#: builtins.c:2014
+#: builtins.c:1974
 #, fuzzy
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
-"    For each NAME, specify how arguments are to be completed.  If no "
-"options\n"
-"    or NAMEs are supplied, display existing completion specifications in a "
-"way\n"
-"    that allows them to be reused as input.\n"
+"    For each NAME, specify how arguments are to be completed.  If no options\n"
+"    are supplied, existing completion specifications are printed in a way that\n"
+"    allows them to be reused as input.\n"
 "    \n"
 "    Options:\n"
 "      -p\tprint existing completion specifications in a reusable format\n"
@@ -5785,20 +5399,16 @@ msgid ""
 "    \t\tcommand) word\n"
 "    \n"
 "    When completion is attempted, the actions are applied in the order the\n"
-"    uppercase-letter options are listed above. If multiple options are "
-"supplied,\n"
-"    the -D option takes precedence over -E, and both take precedence over -"
-"I.\n"
+"    uppercase-letter options are listed above. If multiple options are supplied,\n"
+"    the -D option takes precedence over -E, and both take precedence over -I.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is supplied or an error occurs."
 msgstr ""
 "引数が Readline によってどのように補完されるかを指定します。\n"
 "    \n"
-"    各 NAME に対してどのように引数が補完されるかを指定します。オプションが与"
-"え\n"
-"    られない場合、既存の補完指定が入力として再利用可能な形式で表示されま"
-"す。\n"
+"    各 NAME に対してどのように引数が補完されるかを指定します。オプションが与え\n"
+"    られない場合、既存の補完指定が入力として再利用可能な形式で表示されます。\n"
 "    \n"
 "    \n"
 "    オプション:\n"
@@ -5816,44 +5426,34 @@ msgstr ""
 "    終了ステータス:\n"
 "    無効なオプションが与えられるかエラーが発生しない限り成功を返します。"
 
-#: builtins.c:2044
-#, fuzzy
+#: builtins.c:2004
 msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
 "    Intended to be used from within a shell function generating possible\n"
-"    completions.  If the optional WORD argument is present, generate "
-"matches\n"
-"    against WORD.\n"
-"    \n"
-"    If the -V option is supplied, store the possible completions in the "
-"indexed\n"
-"    array VARNAME instead of printing them to the standard output.\n"
+"    completions.  If the optional WORD argument is supplied, matches against\n"
+"    WORD are generated.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is supplied or an error occurs."
 msgstr ""
 "オプションに基づいた補完候補を表示します。\n"
 "    \n"
-"    シェル関数の中で補完候補を生成するために使用するように意図されていま"
-"す。\n"
+"    シェル関数の中で補完候補を生成するために使用するように意図されています。\n"
 "    オプション引数 WORD が与えられた場合、WORD に対して一致した候補が生成\n"
 "    されます。\n"
 "    \n"
 "    終了ステータス:\n"
 "    無効なオプションが与えられるかエラーが発生しない限り成功を返します。"
 
-#: builtins.c:2062
+#: builtins.c:2019
 #, fuzzy
 msgid ""
 "Modify or display completion options.\n"
 "    \n"
-"    Modify the completion options for each NAME, or, if no NAMEs are "
-"supplied,\n"
-"    the completion currently being executed.  If no OPTIONs are given, "
-"print\n"
-"    the completion options for each NAME or the current completion "
-"specification.\n"
+"    Modify the completion options for each NAME, or, if no NAMEs are supplied,\n"
+"    the completion currently being executed.  If no OPTIONs are given, print\n"
+"    the completion options for each NAME or the current completion specification.\n"
 "    \n"
 "    Options:\n"
 "    \t-o option\tSet completion option OPTION for each NAME\n"
@@ -5890,38 +5490,31 @@ msgstr ""
 "    \n"
 "    引数:\n"
 "    \n"
-"    各 NAME は `complete' 組み込み関数を使って事前に定義された補完指定をコ"
-"マ\n"
+"    各 NAME は `complete' 組み込み関数を使って事前に定義された補完指定をコマ\n"
 "    ンドを指し示さなければなりません。NAME が与えられない場合、compopt は\n"
 "    補完をこれから生成する関数から呼び出されなければいけません。そして\n"
 "    補完をこれから生成する関数に対するオプションが変更されます。\n"
 "    \n"
 "    終了ステータス:\n"
-"    無効なオプションが与えられるか、 NAME が補完指定として定義されていない場"
-"合\n"
+"    無効なオプションが与えられるか、 NAME が補完指定として定義されていない場合\n"
 "    を除き、成功を返します。"
 
-#: builtins.c:2093
+#: builtins.c:2050
 #, fuzzy
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
 "    \n"
-"    Read lines from the standard input into the indexed array variable "
-"ARRAY, or\n"
-"    from file descriptor FD if the -u option is supplied.  The variable "
-"MAPFILE\n"
+"    Read lines from the standard input into the indexed array variable ARRAY, or\n"
+"    from file descriptor FD if the -u option is supplied.  The variable MAPFILE\n"
 "    is the default ARRAY.\n"
 "    \n"
 "    Options:\n"
 "      -d delim\tUse DELIM to terminate lines, instead of newline\n"
-"      -n count\tCopy at most COUNT lines.  If COUNT is 0, all lines are "
-"copied\n"
-"      -O origin\tBegin assigning to ARRAY at index ORIGIN.  The default "
-"index is 0\n"
+"      -n count\tCopy at most COUNT lines.  If COUNT is 0, all lines are copied\n"
+"      -O origin\tBegin assigning to ARRAY at index ORIGIN.  The default index is 0\n"
 "      -s count\tDiscard the first COUNT lines read\n"
 "      -t\tRemove a trailing DELIM from each line read (default newline)\n"
-"      -u fd\tRead lines from file descriptor FD instead of the standard "
-"input\n"
+"      -u fd\tRead lines from file descriptor FD instead of the standard input\n"
 "      -C callback\tEvaluate CALLBACK each time QUANTUM lines are read\n"
 "      -c quantum\tSpecify the number of lines read between each call to\n"
 "    \t\t\tCALLBACK\n"
@@ -5934,26 +5527,21 @@ msgid ""
 "    element to be assigned and the line to be assigned to that element\n"
 "    as additional arguments.\n"
 "    \n"
-"    If not supplied with an explicit origin, mapfile will clear ARRAY "
-"before\n"
+"    If not supplied with an explicit origin, mapfile will clear ARRAY before\n"
 "    assigning to it.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless an invalid option is given or ARRAY is readonly "
-"or\n"
+"    Returns success unless an invalid option is given or ARRAY is readonly or\n"
 "    not an indexed array."
 msgstr ""
 "標準入力から行を読み込みインデックス型配列に代入します。\n"
 "    \n"
-"    標準入力、-u オプションが与えられた場合はファイル記述子 FD から行を読み込"
-"み、\n"
-"    インデックス型配列変数 ARRAY に代入します。変数 ARRAY のデフォルトは "
-"MAPFILE\n"
+"    標準入力、-u オプションが与えられた場合はファイル記述子 FD から行を読み込み、\n"
+"    インデックス型配列変数 ARRAY に代入します。変数 ARRAY のデフォルトは MAPFILE\n"
 "    です。\n"
 "    \n"
 "    オプション:\n"
-"      -n count\t最大 COUNT 行をコピーする。COUNT が 0 の場合、全ての行をコ"
-"ピーする\n"
+"      -n count\t最大 COUNT 行をコピーする。COUNT が 0 の場合、全ての行をコピーする\n"
 "      -O origin\t配列の開始番号を ORIGIN にする。デフォルトは 0\n"
 "      -s count \t最初の COUNT 行の読み込みを破棄する\n"
 "      -t\t\t各行を読み込んだ時に最後の改行を削除する\n"
@@ -5964,21 +5552,17 @@ msgstr ""
 "    引数:\n"
 "      ARRAY\t\tデータを保存するために使用する配列変数名\n"
 "    \n"
-"    もし -c が指定されずに -C が与えられた場合、デフォルトの quantum は 5000 "
-"です。\n"
-"    CALLBACK が評価された時、代入される配列の次要素のインデックスと、要素に代"
-"入さ\n"
+"    もし -c が指定されずに -C が与えられた場合、デフォルトの quantum は 5000 です。\n"
+"    CALLBACK が評価された時、代入される配列の次要素のインデックスと、要素に代入さ\n"
 "    れる行が追加の引数として渡されます。\n"
 "    \n"
-"    明示的に開始番号が与えられない場合、mapfile は代入前に ARRAY を空にしま"
-"す。\n"
+"    明示的に開始番号が与えられない場合、mapfile は代入前に ARRAY を空にします。\n"
 "    \n"
 "    終了ステータス:\n"
-"    無効なオプションが与えられる、配列が読み取り専用、またはインデックス型配"
-"列で無い\n"
+"    無効なオプションが与えられる、配列が読み取り専用、またはインデックス型配列で無い\n"
 "    場合を除き成功を返します。"
 
-#: builtins.c:2129
+#: builtins.c:2086
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
@@ -5987,30 +5571,3 @@ msgstr ""
 "ファイルから行を読み込み配列変数に代入します。\n"
 "    \n"
 "    `mapfile'の別名です。"
-
-#~ msgid ""
-#~ "Returns the context of the current subroutine call.\n"
-#~ "    \n"
-#~ "    Without EXPR, returns \"$line $filename\".  With EXPR, returns\n"
-#~ "    \"$line $subroutine $filename\"; this extra information can be used "
-#~ "to\n"
-#~ "    provide a stack trace.\n"
-#~ "    \n"
-#~ "    The value of EXPR indicates how many call frames to go back before "
-#~ "the\n"
-#~ "    current one; the top frame is frame 0."
-#~ msgstr ""
-#~ "現在のサブルーチン呼び出しのコンテキストを返します。\n"
-#~ "    \n"
-#~ "    EXPR が無い場合 \"$line $filename\" を返します。  EXPR がある場合、\n"
-#~ "    \"$line $subroutine $filename\" を返します。この追加の情報はスタックト"
-#~ "レース\n"
-#~ "    を提供する時に利用します。\n"
-#~ "    \n"
-#~ "    EXPR の値は現在のフレームに戻るまでに何回フレームが呼び出されているか"
-#~ "を\n"
-#~ "    意味します。最上位のフレームは 0 です。"
-
-#, c-format
-#~ msgid "warning: %s: %s"
-#~ msgstr "警告: %s: %s"
diff --git a/subst.c b/subst.c
index 175cd5c36dbb628c5d55ee47eb39d78971096154..3faa4068aba32c0a82855f8ba121c61930b53eff 100644 (file)
--- a/subst.c
+++ b/subst.c
@@ -7278,7 +7278,10 @@ command_substitute (char *string, int quoted, int flags)
      for example). */
   if ((subshell_environment & (SUBSHELL_FORK|SUBSHELL_PIPE)) == 0)
     pipeline_pgrp = shell_pgrp;
+  /* this can happen if we're performing word expansion in the second or
+     subsequent commands in a pipeline */
   cleanup_the_pipeline ();
+  /* at this point, the_pipeline is NULL */
 #endif /* JOB_CONTROL */
 
   old_async_pid = last_asynchronous_pid;
@@ -7491,6 +7494,11 @@ command_substitute (char *string, int quoted, int flags)
 
       CHECK_TERMSIG;
 
+#if defined (JOB_CONTROL)
+      /* this is the pipeline we allocated for this command substitution */
+      cleanup_the_pipeline ();
+#endif
+
       ret = alloc_word_desc ();
       ret->word = istring;
       ret->flags = tflag;