Imported from ../bash-4.0.tar.gz.
diff --git a/po/es.po b/po/es.po
index e0d65c4..63b5f25 100644
--- a/po/es.po
+++ b/po/es.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: GNU bash 3.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-01-06 11:56-0500\n"
+"POT-Creation-Date: 2009-02-19 14:53-0500\n"
 "PO-Revision-Date: 2006-10-31 23:36-0600\n"
 "Last-Translator: Cristian Othón Martínez Vera <cfuga@itam.mx>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -38,7 +38,7 @@
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr ""
 
-#: bashhist.c:380
+#: bashhist.c:379
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: no se puede crear: %s"
@@ -248,12 +248,22 @@
 msgid "write error: %s"
 msgstr "error de escritura: %s"
 
-#: builtins/common.c:553
+#: builtins/common.c:329
+#, c-format
+msgid "error setting terminal attributes: %s"
+msgstr ""
+
+#: builtins/common.c:331
+#, c-format
+msgid "error getting terminal attributes: %s"
+msgstr ""
+
+#: builtins/common.c:563
 #, c-format
 msgid "%s: error retrieving current directory: %s: %s\n"
 msgstr "%s: error al obtener el directorio actual: %s: %s\n"
 
-#: builtins/common.c:619 builtins/common.c:621
+#: builtins/common.c:629 builtins/common.c:631
 #, c-format
 msgid "%s: ambiguous job spec"
 msgstr "%s: especificación de trabajo ambigua"
@@ -291,7 +301,7 @@
 msgid "cannot use `-f' to make functions"
 msgstr "no se puede usar `-f' para hacer funciones"
 
-#: builtins/declare.def:365 execute_cmd.c:4731
+#: builtins/declare.def:365 execute_cmd.c:4818
 #, c-format
 msgid "%s: readonly function"
 msgstr "%s: función de sólo lectura"
@@ -330,7 +340,7 @@
 msgid "%s: cannot delete: %s"
 msgstr "%s: no se puede borrar: %s"
 
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4588
+#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4675
 #: shell.c:1439
 #, c-format
 msgid "%s: is a directory"
@@ -348,7 +358,7 @@
 
 # file=fichero. archive=archivo. Si no, es imposible traducir tar. sv
 # De acuerdo. Corregido en todo el fichero. cfuga
-#: builtins/evalfile.c:185 execute_cmd.c:4658 shell.c:1449
+#: builtins/evalfile.c:185 execute_cmd.c:4745 shell.c:1449
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: no se puede ejecutar el fichero binario"
@@ -500,37 +510,37 @@
 msgid "expression expected"
 msgstr "se esperaba una expresión"
 
-#: builtins/mapfile.def:215 builtins/read.def:272
+#: builtins/mapfile.def:241 builtins/read.def:272
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: especificación de descriptor de fichero inválida"
 
-#: builtins/mapfile.def:223 builtins/read.def:279
+#: builtins/mapfile.def:249 builtins/read.def:279
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: descriptor de fichero inválido: %s"
 
-#: builtins/mapfile.def:232 builtins/mapfile.def:270
+#: builtins/mapfile.def:258 builtins/mapfile.def:296
 #, fuzzy, c-format
 msgid "%s: invalid line count"
 msgstr "%s: opción inválida"
 
-#: builtins/mapfile.def:243
+#: builtins/mapfile.def:269
 #, fuzzy, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: opción inválida"
 
-#: builtins/mapfile.def:260
+#: builtins/mapfile.def:286
 #, fuzzy, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: nombre de acción inválido"
 
-#: builtins/mapfile.def:292
+#: builtins/mapfile.def:318
 #, fuzzy
 msgid "empty array variable name"
 msgstr "%s: no es una variable de matriz"
 
-#: builtins/mapfile.def:313
+#: builtins/mapfile.def:339
 msgid "array variable support required"
 msgstr ""
 
@@ -881,32 +891,32 @@
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "no se puede redirigir la salida estándard de /dev/null: %s"
 
-#: execute_cmd.c:1091
+#: execute_cmd.c:1112
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "TIMEFORMAT: `%c': carácter de formato inválido"
 
-#: execute_cmd.c:1942
+#: execute_cmd.c:2011
 #, fuzzy
 msgid "pipe error"
 msgstr "error de escritura: %s"
 
-#: execute_cmd.c:4276
+#: execute_cmd.c:4363
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: restringido: no se puede especificar `/' en nombres de órdenes"
 
-#: execute_cmd.c:4367
+#: execute_cmd.c:4454
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: no se encontró la orden"
 
-#: execute_cmd.c:4621
+#: execute_cmd.c:4708
 #, c-format
 msgid "%s: %s: bad interpreter"
 msgstr "%s: %s: intérprete erróneo"
 
-#: execute_cmd.c:4770
+#: execute_cmd.c:4857
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
 msgstr "no se puede duplicar el df %d al df %d"
@@ -1012,144 +1022,144 @@
 msgid "start_pipeline: pgrp pipe"
 msgstr ""
 
-#: jobs.c:882
+#: jobs.c:887
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "el pid `forked' %d aparece en el trabajo en ejecución %d"
 
-#: jobs.c:1000
+#: jobs.c:1005
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "borrando el trabajo detenido %d con grupo de proceso %ld"
 
-#: jobs.c:1105
+#: jobs.c:1110
 #, c-format
 msgid "add_process: process %5ld (%s) in the_pipeline"
 msgstr ""
 
-#: jobs.c:1108
+#: jobs.c:1113
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr ""
 
 # Cambiaría 'hay' por 'existe' em+
-#: jobs.c:1396
+#: jobs.c:1401
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid: %ld: no existe tal pid"
 
-#: jobs.c:1411
+#: jobs.c:1416
 #, fuzzy, c-format
 msgid "Signal %d"
 msgstr "Señal Desconocida #%d"
 
-#: jobs.c:1425 jobs.c:1450
+#: jobs.c:1430 jobs.c:1455
 msgid "Done"
 msgstr "Hecho"
 
-#: jobs.c:1430 siglist.c:122
+#: jobs.c:1435 siglist.c:122
 msgid "Stopped"
 msgstr "Detenido"
 
-#: jobs.c:1434
+#: jobs.c:1439
 #, fuzzy, c-format
 msgid "Stopped(%s)"
 msgstr "Detenido"
 
-#: jobs.c:1438
+#: jobs.c:1443
 msgid "Running"
 msgstr "Ejecutando"
 
-#: jobs.c:1452
+#: jobs.c:1457
 #, c-format
 msgid "Done(%d)"
 msgstr "Hecho(%d)"
 
-#: jobs.c:1454
+#: jobs.c:1459
 #, c-format
 msgid "Exit %d"
 msgstr "Salida %d"
 
-#: jobs.c:1457
+#: jobs.c:1462
 msgid "Unknown status"
 msgstr "Estado desconocido"
 
-#: jobs.c:1544
+#: jobs.c:1549
 #, c-format
 msgid "(core dumped) "
 msgstr "(`core' generado) "
 
-#: jobs.c:1563
+#: jobs.c:1568
 #, fuzzy, c-format
 msgid "  (wd: %s)"
 msgstr "(dir ahora: %s)\n"
 
-#: jobs.c:1766
+#: jobs.c:1771
 #, fuzzy, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "error en la ejecución de setpgid (%d a %d) en el proceso hijo %d: %s\n"
 
-#: jobs.c:2094 nojobs.c:576
+#: jobs.c:2099 nojobs.c:585
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: pid %ld no es un proceso hijo de este shell"
 
-#: jobs.c:2321
+#: jobs.c:2326
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wait_for: No hay un registro del proceso %ld"
 
-#: jobs.c:2593
+#: jobs.c:2598
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: el trabajo %d está detenido"
 
-#: jobs.c:2815
+#: jobs.c:2820
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: el trabajo ha terminado"
 
-#: jobs.c:2824
+#: jobs.c:2829
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: el trabajo %d ya está en segundo plano"
 
-#: jobs.c:3487
+#: jobs.c:3492
 #, fuzzy, c-format
 msgid "%s: line %d: "
 msgstr "%s: aviso: "
 
-#: jobs.c:3501 nojobs.c:805
+#: jobs.c:3506 nojobs.c:814
 #, c-format
 msgid " (core dumped)"
 msgstr " (`core' generado)"
 
-#: jobs.c:3513 jobs.c:3526
+#: jobs.c:3518 jobs.c:3531
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(dir ahora: %s)\n"
 
-#: jobs.c:3558
+#: jobs.c:3563
 #, fuzzy
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_jobs: falló getpgrp: %s"
 
-#: jobs.c:3618
+#: jobs.c:3623
 #, fuzzy
 msgid "initialize_job_control: line discipline"
 msgstr "initialize_jobs: disciplina de línea: %s"
 
-#: jobs.c:3628
+#: jobs.c:3633
 #, fuzzy
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_jobs: falló getpgrp: %s"
 
-#: jobs.c:3656
+#: jobs.c:3661
 #, c-format
 msgid "cannot set terminal process group (%d)"
 msgstr ""
 
-#: jobs.c:3661
+#: jobs.c:3666
 msgid "no job control in this shell"
 msgstr "no hay control de trabajos en este shell"
 
@@ -1392,7 +1402,7 @@
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "EOF inesperado mientras se buscaba un `)' coincidente"
 
-#: pcomplete.c:1016
+#: pcomplete.c:1018
 #, c-format
 msgid "completion: function `%s' not found"
 msgstr "completion: no se encuentra la función `%s'"
@@ -1402,12 +1412,12 @@
 msgid "progcomp_insert: %s: NULL COMPSPEC"
 msgstr "progcomp_insert: %s: COMPSPEC nulo"
 
-#: print_cmd.c:287
+#: print_cmd.c:285
 #, c-format
 msgid "print_command: bad connector `%d'"
 msgstr "print_command: conector erróneo `%d'"
 
-#: print_cmd.c:1347
+#: print_cmd.c:1348
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf: `%c': carácter de formato inválido"
@@ -1770,12 +1780,12 @@
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: no se puede asignar de esta forma"
 
-#: subst.c:7479
+#: subst.c:7499
 #, fuzzy, c-format
 msgid "bad substitution: no closing \"`\" in %s"
 msgstr "sustitución errónea: no hay un `%s' que cierre en %s"
 
-#: subst.c:8354
+#: subst.c:8375
 #, c-format
 msgid "no match: %s"
 msgstr "no hay coincidencia: %s"
@@ -2250,88 +2260,98 @@
 msgstr "until ÓRDENES; do ÓRDENES; done"
 
 #: builtins.c:198
+msgid "coproc [NAME] command [redirections]"
+msgstr ""
+
+#: builtins.c:200
 #, fuzzy
 msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
 msgstr "function NOMBRE { ÓRDENES ; } o NOMBRE () { ÓRDENES ; }"
 
-#: builtins.c:200
+#: builtins.c:202
 #, fuzzy
 msgid "{ COMMANDS ; }"
 msgstr "{ ÓRDENES }"
 
-#: builtins.c:202
+#: builtins.c:204
 #, fuzzy
 msgid "job_spec [&]"
 msgstr "fg [id_trabajo]"
 
-#: builtins.c:204
+#: builtins.c:206
 #, fuzzy
 msgid "(( expression ))"
 msgstr "se esperaba una expresión"
 
-#: builtins.c:206
+#: builtins.c:208
 #, fuzzy
 msgid "[[ expression ]]"
 msgstr "se esperaba una expresión"
 
-#: builtins.c:208
+#: builtins.c:210
 #, fuzzy
 msgid "variables - Names and meanings of some shell variables"
 msgstr ""
 "Se permiten las variables de shell como operandos.  Se reemplaza el nombre"
 
-#: builtins.c:211
+#: builtins.c:213
 #, fuzzy
 msgid "pushd [-n] [+N | -N | dir]"
 msgstr "pushd [dir | +N | -N] [-n]"
 
-#: builtins.c:215
+#: builtins.c:217
 #, fuzzy
 msgid "popd [-n] [+N | -N]"
 msgstr "popd [+N | -N] [-n]"
 
-#: builtins.c:219
+#: builtins.c:221
 msgid "dirs [-clpv] [+N] [-N]"
 msgstr "dirs [-clpv] [+N] [-N]"
 
-#: builtins.c:222
+#: builtins.c:224
 #, fuzzy
 msgid "shopt [-pqsu] [-o] [optname ...]"
 msgstr "shopt [-pqsu] [-o opción-larga] nombre_opción [nombre_opción...]"
 
-#: builtins.c:224
+#: builtins.c:226
 msgid "printf [-v var] format [arguments]"
 msgstr ""
 
-#: builtins.c:227
+#: builtins.c:229
 msgid ""
 "complete [-abcdefgjksuv] [-pr] [-o option] [-A action] [-G globpat] [-W "
 "wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] "
 "[name ...]"
 msgstr ""
 
-#: builtins.c:231
+#: builtins.c:233
 msgid ""
 "compgen [-abcdefgjksuv] [-o option]  [-A action] [-G globpat] [-W wordlist]  "
 "[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
 msgstr ""
 
-#: builtins.c:235
+#: builtins.c:237
 #, fuzzy
 msgid "compopt [-o|+o option] [name ...]"
 msgstr "type [-apt] nombre [nombre ...]"
 
-#: builtins.c:238
+#: builtins.c:240
 msgid ""
 "mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
 "quantum] [array]"
 msgstr ""
 
+#: builtins.c:242
+msgid ""
+"readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
+"quantum] [array]"
+msgstr ""
+
 # Más en español sería: se define un alias por cada NOMBRE cuyo VALOR se da. sv
 # Lo mismo de antes: el alias es expandido -> el alias se expande. sv
 # no alias -> ningún alias. sv
 # De acuerdo. cfuga
-#: builtins.c:250
+#: builtins.c:254
 #, fuzzy
 msgid ""
 "Define or display aliases.\n"
@@ -2360,7 +2380,7 @@
 "    verdadero a menos que se de un NAME para el cual no se haya definido\n"
 "    ningún alias."
 
-#: builtins.c:272
+#: builtins.c:276
 #, fuzzy
 msgid ""
 "Remove each NAME from the list of defined aliases.\n"
@@ -2375,7 +2395,7 @@
 
 # lee 'la'... em+
 # Corregido. Además, es plural: lee las asignaciones... cfuga
-#: builtins.c:285
+#: builtins.c:289
 #, fuzzy
 msgid ""
 "Set Readline key bindings and variables.\n"
@@ -2452,7 +2472,7 @@
 "como\n"
 "                         entrada."
 
-#: builtins.c:322
+#: builtins.c:326
 #, fuzzy
 msgid ""
 "Exit for, while, or until loops.\n"
@@ -2466,7 +2486,7 @@
 "Retoma la siguiente iteración del ciclo FOR, WHILE o UNTIL incluido.\n"
 "    Si se especifica N, retoma en el N-ésimo ciclo incluido."
 
-#: builtins.c:334
+#: builtins.c:338
 #, fuzzy
 msgid ""
 "Resume for, while, or until loops.\n"
@@ -2480,7 +2500,7 @@
 "Retoma la siguiente iteración del ciclo FOR, WHILE o UNTIL incluido.\n"
 "    Si se especifica N, retoma en el N-ésimo ciclo incluido."
 
-#: builtins.c:346
+#: builtins.c:350
 msgid ""
 "Execute shell builtins.\n"
 "    \n"
@@ -2494,7 +2514,7 @@
 "    not a shell builtin.."
 msgstr ""
 
-#: builtins.c:361
+#: builtins.c:365
 #, fuzzy
 msgid ""
 "Return the context of the current subroutine call.\n"
@@ -2522,7 +2542,7 @@
 # Slash lo venimos traduciendo por barra inclinada , y backslash
 # por barra invertida em++
 # Corregido en toda la traducción. cfuga
-#: builtins.c:379
+#: builtins.c:383
 #, fuzzy
 msgid ""
 "Change the shell working directory.\n"
@@ -2568,7 +2588,7 @@
 "    usar la estructura física de directorios en lugar de seguir los enlaces\n"
 "    simbólicos; la opción -L fuerza que se sigan los enlaces simbólicos."
 
-#: builtins.c:407
+#: builtins.c:411
 msgid ""
 "Print the name of the current working directory.\n"
 "    \n"
@@ -2584,7 +2604,7 @@
 "    cannot be read."
 msgstr ""
 
-#: builtins.c:424
+#: builtins.c:428
 #, fuzzy
 msgid ""
 "Null command.\n"
@@ -2595,7 +2615,7 @@
 "    Always succeeds."
 msgstr "Sin efecto; la orden no hace nada. Devuelve un código de estado cero."
 
-#: builtins.c:435
+#: builtins.c:439
 msgid ""
 "Return a successful result.\n"
 "    \n"
@@ -2603,7 +2623,7 @@
 "    Always succeeds."
 msgstr ""
 
-#: builtins.c:444
+#: builtins.c:448
 #, fuzzy
 msgid ""
 "Return an unsuccessful result.\n"
@@ -2612,7 +2632,7 @@
 "    Always fails."
 msgstr "Devuelve un resultado sin éxito."
 
-#: builtins.c:453
+#: builtins.c:457
 msgid ""
 "Execute a simple command or display information about commands.\n"
 "    \n"
@@ -2633,7 +2653,7 @@
 
 # apaga -> desactiva em+
 # Corregido en toda la traducción. cfuga
-#: builtins.c:472
+#: builtins.c:476
 #, fuzzy
 msgid ""
 "Set variable values and attributes.\n"
@@ -2695,14 +2715,14 @@
 "    usa en una función, hace a los NAMEs locales, como sucede con la\n"
 "    orden `local'."
 
-#: builtins.c:508
+#: builtins.c:512
 msgid ""
 "Set variable values and attributes.\n"
 "    \n"
 "    Obsolete.  See `help declare'."
 msgstr ""
 
-#: builtins.c:516
+#: builtins.c:520
 msgid ""
 "Define local variables.\n"
 "    \n"
@@ -2717,7 +2737,7 @@
 "    or the shell is not executing a function."
 msgstr ""
 
-#: builtins.c:533
+#: builtins.c:537
 #, fuzzy
 msgid ""
 "Write arguments to the standard output.\n"
@@ -2768,7 +2788,7 @@
 "    Puede desactivar explícitamente la interpretación de los caracteres\n"
 "    arriba mencionados con la opción -E."
 
-#: builtins.c:567
+#: builtins.c:571
 msgid ""
 "Write arguments to the standard output.\n"
 "    \n"
@@ -2781,7 +2801,7 @@
 "    Returns success unless a write error occurs."
 msgstr ""
 
-#: builtins.c:582
+#: builtins.c:586
 msgid ""
 "Enable and disable shell builtins.\n"
 "    \n"
@@ -2808,7 +2828,7 @@
 "    Returns success unless NAME is not a shell builtin or an error occurs."
 msgstr ""
 
-#: builtins.c:610
+#: builtins.c:614
 msgid ""
 "Execute arguments as a shell command.\n"
 "    \n"
@@ -2825,7 +2845,7 @@
 # en una de dos formas -> en una de las dos formas siguientes em+
 # dar argumentos -> especificar em+
 # De acuerdo. cfuga
-#: builtins.c:622
+#: builtins.c:626
 #, fuzzy
 msgid ""
 "Parse option arguments.\n"
@@ -2901,7 +2921,7 @@
 "    pero si se especifican más argumentos, éstos se comparan en lugar\n"
 "    de los primeros."
 
-#: builtins.c:664
+#: builtins.c:668
 msgid ""
 "Replace the shell with the given command.\n"
 "    \n"
@@ -2924,7 +2944,7 @@
 "occurs."
 msgstr ""
 
-#: builtins.c:685
+#: builtins.c:689
 #, fuzzy
 msgid ""
 "Exit the shell.\n"
@@ -2935,7 +2955,7 @@
 "Termina el shell con un estado de N.  Si se omite N, el estado de salida\n"
 "    es el mismo de la última orden ejecutada."
 
-#: builtins.c:694
+#: builtins.c:698
 msgid ""
 "Exit a login shell.\n"
 "    \n"
@@ -2944,7 +2964,7 @@
 "    in a login shell."
 msgstr ""
 
-#: builtins.c:704
+#: builtins.c:708
 #, fuzzy
 msgid ""
 "Display or execute commands from the history list.\n"
@@ -2995,7 +3015,7 @@
 "    `r cc' ejecuta la última orden que comience con `cc' y al teclear\n"
 "    `r' re-ejecuta la última orden."
 
-#: builtins.c:734
+#: builtins.c:738
 #, fuzzy
 msgid ""
 "Move job to the foreground.\n"
@@ -3011,7 +3031,7 @@
 "    JOB_SPEC no está presente, se usa la noción del shell del trabajo\n"
 "    actual."
 
-#: builtins.c:749
+#: builtins.c:753
 #, fuzzy
 msgid ""
 "Move jobs to the background.\n"
@@ -3029,7 +3049,7 @@
 "    `&'.  Si JOB_SPEC no está presente, se usa la noción del shell del\n"
 "    trabajo actual."
 
-#: builtins.c:763
+#: builtins.c:767
 msgid ""
 "Remember or display program locations.\n"
 "    \n"
@@ -3053,7 +3073,7 @@
 "    Returns success unless NAME is not found or an invalid option is given."
 msgstr ""
 
-#: builtins.c:788
+#: builtins.c:792
 msgid ""
 "Display information about builtin commands.\n"
 "    \n"
@@ -3075,7 +3095,7 @@
 "given."
 msgstr ""
 
-#: builtins.c:812
+#: builtins.c:816
 #, fuzzy
 msgid ""
 "Display or manipulate the history list.\n"
@@ -3132,7 +3152,7 @@
 "    tiempo asociada con cada entrada de historia mostrada.  No se muestra\n"
 "    ninguna marca de tiempo de otra forma."
 
-#: builtins.c:848
+#: builtins.c:852
 #, fuzzy
 msgid ""
 "Display status of jobs.\n"
@@ -3168,7 +3188,7 @@
 "    especificaciones de trabajo que aparecen en ARGS se han reemplazado\n"
 "    con el ID de proceso del líder del grupo de procesos de dicho trabajo."
 
-#: builtins.c:875
+#: builtins.c:879
 msgid ""
 "Remove jobs from current shell.\n"
 "    \n"
@@ -3185,7 +3205,7 @@
 "    Returns success unless an invalid option or JOBSPEC is given."
 msgstr ""
 
-#: builtins.c:894
+#: builtins.c:898
 #, fuzzy
 msgid ""
 "Send a signal to a job.\n"
@@ -3224,7 +3244,7 @@
 # No sé si existe precedencia en español, pero me suena fatal.
 # Yo pondría simplemente "prioridad". sv
 # Creo que si existe, pero tu sugerencia es mejor. cfuga
-#: builtins.c:917
+#: builtins.c:921
 #, fuzzy
 msgid ""
 "Evaluate arithmetic expressions.\n"
@@ -3310,7 +3330,7 @@
 "    Si el último ARG se evalúa como 0, let devuelve 1; si no se\n"
 "    devuelve 0."
 
-#: builtins.c:962
+#: builtins.c:966
 #, fuzzy
 msgid ""
 "Read a line from the standard input and split it into fields.\n"
@@ -3386,7 +3406,7 @@
 "    cero, a menos que se encuentre un final de línea, read expire, o se\n"
 "    proporcione un descriptor de fichero inválido como el argumento de -u."
 
-#: builtins.c:1002
+#: builtins.c:1006
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3398,7 +3418,7 @@
 "    Returns N, or failure if the shell is not executing a function or script."
 msgstr ""
 
-#: builtins.c:1015
+#: builtins.c:1019
 #, fuzzy
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
@@ -3567,7 +3587,7 @@
 "no\n"
 "    se proporciona ningún ARG, se muestran todas las variables del shell."
 
-#: builtins.c:1097
+#: builtins.c:1101
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -3587,7 +3607,7 @@
 "    Returns success unless an invalid option is given or a NAME is read-only."
 msgstr ""
 
-#: builtins.c:1117
+#: builtins.c:1121
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
@@ -3606,7 +3626,7 @@
 "    Returns success unless an invalid option is given or NAME is invalid."
 msgstr ""
 
-#: builtins.c:1136
+#: builtins.c:1140
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -3626,7 +3646,7 @@
 "    Returns success unless an invalid option is given or NAME is invalid."
 msgstr ""
 
-#: builtins.c:1157
+#: builtins.c:1161
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -3637,7 +3657,7 @@
 "    Returns success unless N is negative or greater than $#."
 msgstr ""
 
-#: builtins.c:1169 builtins.c:1184
+#: builtins.c:1173 builtins.c:1188
 #, fuzzy
 msgid ""
 "Execute commands from a file in the current shell.\n"
@@ -3656,7 +3676,7 @@
 "    Si se proporciona cualquier ARGUMENTS, se convierten en los parámetros\n"
 "    posicionales cuando se ejecuta FILENAME."
 
-#: builtins.c:1200
+#: builtins.c:1204
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -3670,7 +3690,7 @@
 "    Returns success unless job control is not enabled or an error occurs."
 msgstr ""
 
-#: builtins.c:1216
+#: builtins.c:1220
 #, fuzzy
 msgid ""
 "Evaluate conditional expression.\n"
@@ -3823,7 +3843,7 @@
 "    Los operadores binarios aritméticos devuelven verdadero si ARG1 es\n"
 "    igual, no igual, menor, menor o igual, mayor, mayor o igual que ARG2."
 
-#: builtins.c:1292
+#: builtins.c:1296
 #, fuzzy
 msgid ""
 "Evaluate conditional expression.\n"
@@ -3834,7 +3854,7 @@
 "Este es un sinónimo para la orden interna \"test\", pero el último\n"
 "    argumento debe ser un `]' literal, que coincida con el `[' inicial."
 
-#: builtins.c:1301
+#: builtins.c:1305
 msgid ""
 "Display process times.\n"
 "    \n"
@@ -3846,7 +3866,7 @@
 "    Always succeeds."
 msgstr ""
 
-#: builtins.c:1313
+#: builtins.c:1317
 #, fuzzy
 msgid ""
 "Trap signals and other events.\n"
@@ -3900,7 +3920,7 @@
 "con\n"
 "    \"kill -signal $$\"."
 
-#: builtins.c:1345
+#: builtins.c:1349
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -3930,7 +3950,7 @@
 "found."
 msgstr ""
 
-#: builtins.c:1376
+#: builtins.c:1380
 #, fuzzy
 msgid ""
 "Modify shell resource limits.\n"
@@ -4008,7 +4028,7 @@
 "    -t, el cual es en segundos, -p, el cual es en incrementos de 512 bytes,\n"
 "    y -u, el cual es un número de procesos sin escala."
 
-#: builtins.c:1421
+#: builtins.c:1425
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4026,7 +4046,7 @@
 "    Returns success unless MODE is invalid or an invalid option is given."
 msgstr ""
 
-#: builtins.c:1441
+#: builtins.c:1445
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
@@ -4043,7 +4063,7 @@
 "    given."
 msgstr ""
 
-#: builtins.c:1459
+#: builtins.c:1463
 #, fuzzy
 msgid ""
 "Wait for process completion and return exit status.\n"
@@ -4064,7 +4084,7 @@
 "    de trabajo, se espera a todos los procesos en la línea de ejecución\n"
 "    del trabajo."
 
-#: builtins.c:1474
+#: builtins.c:1478
 #, fuzzy
 msgid ""
 "Execute commands for each member in a list.\n"
@@ -4082,7 +4102,7 @@
 "    se asume `in \"$@\"'.  Para cada elemento en WORDS, se define NAME\n"
 "    como ese elemento, y se ejecutan COMMANDS."
 
-#: builtins.c:1488
+#: builtins.c:1492
 #, fuzzy
 msgid ""
 "Arithmetic for loop.\n"
@@ -4108,7 +4128,7 @@
 "    EXP1, EXP2, y EXP3 son expresiones aritméticas.  Si se omite\n"
 "    cualquier expresión, se comporta como si se evaluara a 1."
 
-#: builtins.c:1506
+#: builtins.c:1510
 #, fuzzy
 msgid ""
 "Select words from a list and execute commands.\n"
@@ -4142,7 +4162,7 @@
 "    COMMANDS después de cada selección hasta que se ejecuta\n"
 "    una orden break."
 
-#: builtins.c:1527
+#: builtins.c:1531
 #, fuzzy
 msgid ""
 "Report time consumed by pipeline's execution.\n"
@@ -4165,7 +4185,7 @@
 "    el resumen de tiempos en un formato ligeramente diferente, usando\n"
 "    el valor de la variable TIMEFORMAT como el formato de salida."
 
-#: builtins.c:1544
+#: builtins.c:1548
 #, fuzzy
 msgid ""
 "Execute commands based on pattern matching.\n"
@@ -4179,7 +4199,7 @@
 "Ejecuta ÓRDENES selectivamente basado en coincidencias de la PALABRA con\n"
 "    el PATRÓN. Se utiliza `|' para separar patrones múltiples."
 
-#: builtins.c:1556
+#: builtins.c:1560
 #, fuzzy
 msgid ""
 "Execute commands based on conditional.\n"
@@ -4212,7 +4232,7 @@
 "resultó\n"
 "    verdadera."
 
-#: builtins.c:1573
+#: builtins.c:1577
 #, fuzzy
 msgid ""
 "Execute commands as long as a test succeeds.\n"
@@ -4226,7 +4246,7 @@
 "Expande y ejecuta ÓRDENES mientras la orden final en las ÓRDENES\n"
 "    `while' tenga un estado de salida de cero."
 
-#: builtins.c:1585
+#: builtins.c:1589
 #, fuzzy
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
@@ -4240,7 +4260,20 @@
 "Expande y ejecuta ÓRDENES mientras la orden final en las ÓRDENES\n"
 "    `until' tengan un estado de salida que no sea cero."
 
-#: builtins.c:1597
+#: builtins.c:1601
+msgid ""
+"Create a coprocess named NAME.\n"
+"    \n"
+"    Execute COMMAND asynchronously, with the standard output and standard\n"
+"    input of the command connected via a pipe to file descriptors assigned\n"
+"    to indices 0 and 1 of an array variable NAME in the executing shell.\n"
+"    The default NAME is \"COPROC\".\n"
+"    \n"
+"    Exit Status:\n"
+"    Returns the exit status of COMMAND."
+msgstr ""
+
+#: builtins.c:1615
 msgid ""
 "Define shell function.\n"
 "    \n"
@@ -4254,7 +4287,7 @@
 "    Returns success unless NAME is readonly."
 msgstr ""
 
-#: builtins.c:1611
+#: builtins.c:1629
 #, fuzzy
 msgid ""
 "Group commands as a unit.\n"
@@ -4268,7 +4301,7 @@
 "Corre un conjunto de órdenes en un grupo.  Esta es una forma de redirigir\n"
 "    un conjunto completo de órdenes."
 
-#: builtins.c:1623
+#: builtins.c:1641
 #, fuzzy
 msgid ""
 "Resume job in foreground.\n"
@@ -4289,7 +4322,7 @@
 "    especificación del trabajo se hubiera proporcionado como\n"
 "    un argumento de `bg'."
 
-#: builtins.c:1638
+#: builtins.c:1656
 #, fuzzy
 msgid ""
 "Evaluate arithmetic expression.\n"
@@ -4303,7 +4336,7 @@
 "Se evalua EXPRESSION de acuerdo a las reglas de evaluación\n"
 "    aritmética.  Equivalente a \"let EXPRESSION\"."
 
-#: builtins.c:1650
+#: builtins.c:1668
 #, fuzzy
 msgid ""
 "Execute conditional command.\n"
@@ -4349,7 +4382,7 @@
 "    patrón.  Los operadores && y || no evalúan EXPR2 si EXPR1 es\n"
 "    suficiente para determinar el valor de una expresión."
 
-#: builtins.c:1676
+#: builtins.c:1694
 #, fuzzy
 msgid ""
 "Common shell variable names and usage.\n"
@@ -4463,7 +4496,7 @@
 "    \t\tpara decidir cuáles órdenes se deben guardar en la lista de\n"
 "    \t\thistoria.\n"
 
-#: builtins.c:1733
+#: builtins.c:1751
 #, fuzzy
 msgid ""
 "Add directories to stack.\n"
@@ -4514,7 +4547,7 @@
 "    \n"
 "    Puede ver la pila de directorios con la orden `dirs'."
 
-#: builtins.c:1767
+#: builtins.c:1785
 #, fuzzy
 msgid ""
 "Remove directories from stack.\n"
@@ -4560,7 +4593,7 @@
 "    \n"
 "    Puede ver la pila de directorios con la orden `dirs'."
 
-#: builtins.c:1797
+#: builtins.c:1815
 #, fuzzy
 msgid ""
 "Display directory stack.\n"
@@ -4608,7 +4641,7 @@
 "    -N\tmuestra la N-ésima entrada contando desde la derecha de la lista\n"
 "    mostrada por dirs cuando se invoca sin opciones, empezando de cero."
 
-#: builtins.c:1826
+#: builtins.c:1844
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -4629,7 +4662,7 @@
 "    given or OPTNAME is disabled."
 msgstr ""
 
-#: builtins.c:1847
+#: builtins.c:1865
 #, fuzzy
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
@@ -4672,7 +4705,7 @@
 "    -v, la salida se coloca en el valor de la variable de shell VAR\n"
 "    en lugar de enviarla a la salida estándard."
 
-#: builtins.c:1874
+#: builtins.c:1892
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
@@ -4694,7 +4727,7 @@
 "    Returns success unless an invalid option is supplied or an error occurs."
 msgstr ""
 
-#: builtins.c:1897
+#: builtins.c:1915
 #, fuzzy
 msgid ""
 "Display possible completions depending on the options.\n"
@@ -4714,7 +4747,7 @@
 "coincidencias\n"
 "    contra WORD."
 
-#: builtins.c:1912
+#: builtins.c:1930
 msgid ""
 "Modify or display completion options.\n"
 "    \n"
@@ -4743,9 +4776,9 @@
 "    have a completion specification defined."
 msgstr ""
 
-#: builtins.c:1940
+#: builtins.c:1958
 msgid ""
-"Read lines from a file into an array variable.\n"
+"Read lines from the standard input into an array variable.\n"
 "    \n"
 "    Read lines from the standard input into the array variable ARRAY, or "
 "from\n"
@@ -4769,7 +4802,9 @@
 "    Arguments:\n"
 "      ARRAY\t\tArray variable name to use for file data.\n"
 "    \n"
-"    If -C is supplied without -c, the default quantum is 5000.\n"
+"    If -C is supplied without -c, the default quantum is 5000.  When\n"
+"    CALLBACK is evaluated, it is supplied the index of the next array\n"
+"    element to be assigned as an additional argument.\n"
 "    \n"
 "    If not supplied with an explicit origin, mapfile will clear ARRAY "
 "before\n"
@@ -4779,6 +4814,13 @@
 "    Returns success unless an invalid option is given or ARRAY is readonly."
 msgstr ""
 
+#: builtins.c:1990
+msgid ""
+"Read lines from a file into an array variable.\n"
+"    \n"
+"    A synonym for `mapfile'."
+msgstr ""
+
 #~ msgid " "
 #~ msgstr " "