* Lots of bug fixes and cleanup; new i18n files, etc.
authorPaul Smith <psmith@gnu.org>
Wed, 7 Jun 2000 05:43:37 +0000 (05:43 +0000)
committerPaul Smith <psmith@gnu.org>
Wed, 7 Jun 2000 05:43:37 +0000 (05:43 +0000)
21 files changed:
ChangeLog
acinclude.m4
commands.c
configure.in
dir.c
expand.c
file.c
function.c
i18n/nl.po
job.c
main.c
make.h
misc.c
read.c
remake.c
remote-cstms.c
tests/ChangeLog
tests/scripts/options/general [new file with mode: 0644]
variable.c
vpath.c
w32/pathstuff.c

index 8014686..1f050ec 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,100 @@
+2000-05-31  Paul Eggert  <eggert@twinsun.com>
+
+       * remake.c (name_mtime): Check for stat failures.  Retry if EINTR.
+
+2000-05-24  Paul D. Smith  <psmith@gnu.org>
+
+       * main.c (decode_switches): The "positive_int" switch uses atoi()
+       which succeeds for any input, and doesn't notice if extra,
+       non-digit text is after the number.  This causes make to mis-parse
+       command lines like "make -j 5foo" as "make -j5" (ignoring "foo"
+       completely) instead of "make -j0 5foo" (where "5foo" is a
+       target).  Fix this by checking the value by hand.  We could use
+       strtol() if we were sure of having it; this is the only
+       questionable use of atoi() I found so we'll just stick with that.
+       Fixes PR/1716.
+
+       * i18n/ja.po, i18n/nl.po, i18n/pt_BR.po: New translation files.
+       * configure.in (ALL_LINGUAS): Added pt_BR.
+
+2000-05-22  Paul Eggert  <eggert@twinsun.com>
+
+       * remake.c (f_mtime): Fix bug when handling future odd
+       timestamps in the WINDOWS32 case.  Do not bother initializing
+       static var to zero.  Simplify code that works around WINDOWS32
+       and __MSDOS__ time skew brain damage.
+
+2000-05-22  Paul Eggert  <eggert@twinsun.com>
+
+       * job.c: Don't include time.h, as make.h already does this.
+
+2000-05-22  Paul Eggert  <eggert@twinsun.com>
+
+       * configure.in (AC_CHECK_HEADERS): Add sys/time.h.
+       (AC_HEADER_TIME): Add.
+       (clock_gettime): Prefer -lrt to -lposix4, for Solaris 7.
+       (gettimeofday): Add check for standard version of gettimeofday.
+       This merges changes written by Paul D. Smith.
+
+       * file.c (file_timestamp_now):  Use gettimeofday if available
+       and if clock_gettime does not work.  Don't bother with
+       high-resolution clocks if file timestamps have only one-second
+       resolution.
+
+       * make.h <sys/time.h>: Include, conditionally on the usual
+       TIME_WITH_SYS_TIME and HAVE_SYS_TIME_H macros.  This is needed
+       for gettimeofday.
+
+2000-05-20  Paul D. Smith  <psmith@gnu.org>
+
+       * read.c (read_makefile): We weren't keeping makefile names around
+       unless there was a rule defined in them; but now we need to keep
+       them for variables as well.  Forget trying to be fancy: just keep
+       every makefile name we successfully open.
+
+       * remote-cstms.c (start_remote_job_p): Change DB_EXTRA (?) to DB_JOBS.
+
+2000-05-17  Paul Eggert  <eggert@twinsun.com>
+
+       * commands.c (chop_commands): Ensure ctype macro args are nonnegative.
+       * expand.c (variable_expand_string): Likewise.
+       * function.c (subst_expand, lookup_function, msdos_openpipe):
+       Likewise.
+       * job.c (vms_redirect, start_job_command, new_job, child_execute_job,
+       construct_command_argv_internal, construct_command_argv): Likewise.
+       * main.c (decode_env_switches, quote_for_env): Likewise.
+       * misc.c (collapse_continuations, end_of_token, end_of_token_w32,
+       next_token): Likewise.
+       * read.c (read_makefile, do_define, conditional_line,
+       find_char_unquote,get_next_mword): Likewise.
+       * variable.c (try_variable_definition): Likewise.
+       * vpath.c (construct_vpath_list): Likewise.
+       * w32/pathstuff.c (convert_vpath_to_windows32): Likewise.
+
+2000-05-10  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * main.c (main) [__MSDOS__]: Add SIGFPE to signals we block when
+       running child programs, to prevent Make from dying on Windows 9X
+       when the child triggers an FP exception.
+
+2000-05-08  Paul D. Smith  <psmith@gnu.org>
+
+       * dir.c (find_directory) [WINDOWS32]: If we strip a trailing "\"
+       from the directory name, remember to add it back.  The argument
+       might really be inside a longer string (e.g. %Path%) and if you
+       don't restore the "\" it'll be truncated permanently.  Fixes PR/1722.
+       Reported by <steven@surfcast.com>
+
+2000-05-02  Paul D. Smith  <psmith@gnu.org>
+
+       * job.c (construct_command_argv_internal) [WINDOWS32]: Added "rd"
+       and "rmdir" to the list of command.com commands.
+       Reported by Elod Horvath <Elod_Horvath@lnotes5.bankofny.com>
+
+2000-04-24  Paul D. Smith  <psmith@gnu.org>
+
+       * i18n/ja.po: New translation file from the Japanese language team.
+
 2000-04-18  Paul D. Smith  <psmith@gnu.org>
 
        * remake.c (f_mtime): If ar_member_date() returns -1 (the member
index 2ce31b7..63e84c6 100644 (file)
@@ -500,24 +500,29 @@ AC_DEFUN(fp_WITH_GETTEXT, [
   if test $enable_nls = yes; then
     AC_DEFINE(ENABLE_NLS)
 
-    AC_ARG_WITH(catgets,
-      [  --with-catgets          say that catgets is not supported],
-      [AC_MSG_WARN([catgets not supported, --with-catgets ignored])])
-
-    AC_CHECK_FUNCS(gettext)
-    AC_CHECK_LIB(intl, gettext, :)
-    if test $ac_cv_lib_intl_gettext$ac_cv_func_gettext != nono; then
-      AC_MSG_CHECKING(whether the included gettext is preferred)
-      AC_ARG_WITH(included-gettext,
-       [  --without-included-gettext avoid our provided version of gettext],
-       with_included_gettext=$withval, with_included_gettext=yes)
-      AC_MSG_RESULT($with_included_gettext)
-      if test $with_included_gettext$ac_cv_func_gettext = nono; then
-        LIBS="$LIBS -lintl"
-      fi
-    else
+    # We don't support catgets at all
+    if test "x$with_catgets" != x; then
+      AC_MSG_WARN([catgets not supported, --with-catgets ignored])
+    fi
+
+    fp_keep_LIBS="$LIBS"
+
+    # Look around for gettext() on the system
+    AC_SEARCH_LIBS(gettext, intl)
+    if test $ac_cv_search_gettext = no; then
       with_included_gettext=yes
+    else
+      # We only want to deal with GNU's gettext; if we don't have that
+      # we'll just use our own, thanks very much.
+      AC_MSG_CHECKING(for GNU gettext)
+      AC_TRY_LINK(,[extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr;],
+                 with_included_gettext=no, with_included_gettext=yes)
+      case "$with_included_gettext" in
+       no)  AC_MSG_RESULT(yes) ;;
+       yes) AC_MSG_RESULT([no; using local copy]); LIBS="$fp_keep_LIBS" ;;
+      esac
     fi
+
     if test $with_included_gettext = yes; then
       LIBOBJS="$LIBOBJS gettext.o"
       AC_DEFINE(HAVE_GETTEXT)
index 75b3399..df4a447 100644 (file)
@@ -300,7 +300,7 @@ chop_commands (cmds)
       int flags = 0;
 
       for (p = lines[idx];
-           isblank (*p) || *p == '-' || *p == '@' || *p == '+';
+           isblank ((unsigned char)*p) || *p == '-' || *p == '@' || *p == '+';
            ++p)
         switch (*p)
           {
index 7d2c68a..37a755b 100644 (file)
@@ -3,7 +3,7 @@ AC_REVISION([$Id$])
 AC_PREREQ(2.13)dnl             dnl Minimum Autoconf version required.
 AC_INIT(vpath.c)dnl            dnl A distinctive file to look for in srcdir.
 
-AM_INIT_AUTOMAKE(make, 3.79)
+AM_INIT_AUTOMAKE(make, 3.79.1)
 AM_CONFIG_HEADER(config.h)
 
 dnl Regular configure stuff
@@ -32,12 +32,18 @@ AC_TYPE_UID_T                       dnl Also does gid_t.
 AC_TYPE_PID_T
 AC_TYPE_SIGNAL
 AC_CHECK_HEADERS(stdlib.h unistd.h limits.h sys/param.h fcntl.h string.h \
-                memory.h sys/timeb.h)
+                memory.h sys/time.h sys/timeb.h)
 AC_PROG_CC_C_O
 AM_PROG_CC_STDC
 AC_C_CONST                     dnl getopt needs this.
 AC_C_INLINE                    dnl gettext needs this.
 AC_HEADER_STAT
+AC_HEADER_TIME
+
+dnl Handle internationalization
+
+ALL_LINGUAS="de es fr ja ko nl pl pt_BR ru"
+fp_WITH_GETTEXT
 
 AC_STRUCT_ST_MTIM_NSEC
 jm_AC_TYPE_UINTMAX_T
@@ -57,13 +63,38 @@ changequote([,])dnl
 fi
 AC_MSG_RESULT($ac_cv_check_symbol_$1)])dnl
 
-# clock_gettime is in -lposix4 in Solaris 2.6.
-AC_CHECK_LIB(posix4, clock_gettime)
+# Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
+# Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
+AC_SEARCH_LIBS(clock_gettime, [rt posix4])
+if test $ac_cv_search_clock_gettime != no; then
+  AC_DEFINE(HAVE_CLOCK_GETTIME, 1,
+            [Define if you have the clock_gettime function.])
+fi
+
+# See if we have a standard version of gettimeofday().  Since actual
+# implementations can differ, just make sure we have the most common
+# one.
+AC_CACHE_CHECK([for standard gettimeofday], ac_cv_func_gettimeofday,
+  [ac_cv_func_gettimeofday=no
+   AC_TRY_RUN([#include <sys/time.h>
+              int main ()
+              {
+                struct timeval t; t.tv_sec = -1; t.tv_usec = -1;
+                exit (gettimeofday (&t, 0) != 0
+                      || t.tv_sec < 0 || t.tv_usec < 0);
+              }],
+             ac_cv_func_gettimeofday=yes,
+             ac_cv_func_gettimeofday=no,
+             ac_cv_func_gettimeofday="no (cross-compiling)")])
+if test $ac_cv_func_gettimeofday = yes; then
+  AC_DEFINE(HAVE_GETTIMEOFDAY, 1,
+           [Define if you have a standard gettimeofday function])
+fi
+
+AC_CHECK_FUNCS(        memmove memcpy strchr strdup psignal mkstemp mktemp fdopen \
+               dup2 getcwd sigsetmask sigaction getgroups setlinebuf \
+               seteuid setegid setreuid setregid pipe strerror strsignal)
 
-AC_CHECK_FUNCS(memmove strchr memcpy strdup psignal mkstemp mktemp fdopen \
-              clock_gettime dup2 getcwd sigsetmask sigaction getgroups \
-              setlinebuf seteuid setegid setreuid setregid pipe \
-              strerror strsignal)
 AC_CHECK_SYMBOL(sys_siglist)
 AC_FUNC_ALLOCA
 AC_FUNC_VFORK
@@ -108,11 +139,6 @@ AC_MSG_RESULT($make_cv_union_wait)
 
 AC_DECL_SYS_SIGLIST
 
-dnl Handle internationalization
-
-ALL_LINGUAS="de es fr ko nl pl ru"
-fp_WITH_GETTEXT
-
 # The presence of the following is not meant to imply
 # that make necessarily works on those systems.
 AC_CHECK_LIB(sun, getpwnam)
diff --git a/dir.c b/dir.c
index 9221c44..d783c64 100644 (file)
--- a/dir.c
+++ b/dir.c
@@ -296,6 +296,7 @@ find_directory (name)
   register unsigned int hash = 0;
   register char *p;
   register struct directory *dir;
+  int r;
 #ifdef WINDOWS32
   char* w32_path;
   char  fs_label[BUFSIZ];
@@ -333,19 +334,28 @@ find_directory (name)
       /* The directory is not in the name hash table.
         Find its device and inode numbers, and look it up by them.  */
 
-#ifdef VMS
-      if (vmsstat_dir (name, &st) < 0)
-#else
-
-# ifdef WINDOWS32
+#ifdef WINDOWS32
       /* Remove any trailing '\'.  Windows32 stat fails even on valid
          directories if they end in '\'. */
       if (p[-1] == '\\')
         p[-1] = '\0';
-# endif
-      if (stat (name, &st) < 0)
 #endif
-       {
+
+#ifdef VMS
+      r = vmsstat_dir (name, &st);
+#else
+      r = stat (name, &st);
+#endif
+
+#ifdef WINDOWS32
+      /* Put back the trailing '\'.  If we don't, we're permanently
+         truncating the value!  */
+      if (p[-1] == '\0')
+        p[-1] = '\\';
+#endif
+
+      if (r < 0)
+        {
        /* Couldn't stat the directory.  Mark this by
           setting the `contents' member to a nil pointer.  */
          dir->contents = 0;
index c7f7b58..b679a90 100644 (file)
--- a/expand.c
+++ b/expand.c
@@ -367,7 +367,7 @@ variable_expand_string (line, string, length)
          break;
 
        default:
-         if (isblank (p[-1]))
+         if (isblank ((unsigned char)p[-1]))
            break;
 
          /* A $ followed by a random char is a variable reference:
diff --git a/file.c b/file.c
index 10ae1b8..daaea69 100644 (file)
--- a/file.c
+++ b/file.c
@@ -569,11 +569,29 @@ set_command_state (file, state)
 FILE_TIMESTAMP
 file_timestamp_now ()
 {
+  /* Don't bother with high-resolution clocks if file timestamps have
+     only one-second resolution.  The code below should work, but it's
+     not worth the hassle of debugging it on hosts where it fails.  */
+  if (1 < FILE_TIMESTAMPS_PER_S)
+    {
 #if HAVE_CLOCK_GETTIME && defined CLOCK_REALTIME
-  struct timespec timespec;
-  if (clock_gettime (CLOCK_REALTIME, &timespec) == 0)
-    return FILE_TIMESTAMP_FROM_S_AND_NS (timespec.tv_sec, timespec.tv_nsec);
+      {
+       struct timespec timespec;
+       if (clock_gettime (CLOCK_REALTIME, &timespec) == 0)
+         return FILE_TIMESTAMP_FROM_S_AND_NS (timespec.tv_sec,
+                                              timespec.tv_nsec);
+      }
+#endif
+#if HAVE_GETTIMEOFDAY
+      {
+       struct timeval timeval;
+       if (gettimeofday (&timeval, 0) == 0)
+         return FILE_TIMESTAMP_FROM_S_AND_NS (timeval.tv_sec,
+                                              timeval.tv_usec * 1000);
+      }
 #endif
+    }
+
   return FILE_TIMESTAMP_FROM_S_AND_NS (time ((time_t *) 0), 0);
 }
 
index 9c46226..d4fd11e 100644 (file)
@@ -92,10 +92,10 @@ subst_expand (o, text, subst, replace, slen, rlen, by_word, suffix_only)
       /* If we're substituting only by fully matched words,
         or only at the ends of words, check that this case qualifies.  */
       if ((by_word
-          && ((p > t && !isblank (p[-1]))
-              || (p[slen] != '\0' && !isblank (p[slen]))))
+          && ((p > t && !isblank ((unsigned char)p[-1]))
+              || (p[slen] != '\0' && !isblank ((unsigned char)p[slen]))))
          || (suffix_only
-             && (p[slen] != '\0' && !isblank (p[slen]))))
+             && (p[slen] != '\0' && !isblank ((unsigned char)p[slen]))))
        /* Struck out.  Output the rest of the string that is
           no longer to be replaced.  */
        o = variable_buffer_output (o, subst, slen);
@@ -235,7 +235,7 @@ lookup_function (table, s)
 
   for (; table->name != NULL; ++table)
     if (table->len <= len
-        && (isblank (s[table->len]) || s[table->len] == '\0')
+        && (isblank ((unsigned char)s[table->len]) || s[table->len] == '\0')
         && strneq (s, table->name, table->len))
       return table;
 
@@ -1274,7 +1274,7 @@ msdos_openpipe (int* pipedes, int *pidp, char *text)
   extern int dos_command_running, dos_status;
 
   /* Make sure not to bother processing an empty line.  */
-  while (isblank (*text))
+  while (isblank ((unsigned char)*text))
     ++text;
   if (*text == '\0')
     return 0;
index a0280a8..3dd9cca 100644 (file)
 # Dutch messages for GNU make.
-# Copyright (C) 1996 Free Software Foundation, Inc.
+# Copyright (C) 1996, 2000 Free Software Foundation, Inc.
+# Ivo Timmermans <itimmermans@bigfoot.com>, 2000.
 # Erick Branderhorst <branderh@debian.org>, 1996.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: make 3.74.4\n"
-"POT-Creation-Date: 1996-05-22 09:11-0400\n"
-"PO-Revision-Date: 1996-08-27 10:26 MET DST\n"
-"Last-Translator: Erick Branderhorst <branderh@debian.org>\n"
+"Project-Id-Version: make 3.79\n"
+"POT-Creation-Date: 2000-04-05 10:09-0400\n"
+"PO-Revision-Date: 2000-05-22 23:48+02:00\n"
+"Last-Translator: Ivo Timmermans <itimmermans@bigfoot.com>\n"
 "Language-Team: Dutch <nl@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8-bit\n"
 
-#: ar.c:48
-#, possible-c-format
+#: ar.c:50
+#, c-format
 msgid "attempt to use unsupported feature: `%s'"
 msgstr "poging tot gebruik van een niet ondersteunde feature: `%s'"
 
-#: ar.c:142
-#, possible-c-format
-msgid "Error in lbr$ini_control, %d\n"
-msgstr "Fout in lbr$ini_control, %d\n"
-
-#: ar.c:147
-#, possible-c-format
-msgid "Error opening library %s to lookup member %s, %d\n"
-msgstr "Fout bij openen bibliotheek %s bij opzoeken onderdeel %s, %d\n"
-
-#: ar.c:153
-#, possible-c-format
-msgid "Error looking up module %s in library %s, %d\n"
-msgstr "Fout bij opzoeken van module %s in bibliotheekbestand %s, %d\n"
-
-#: ar.c:159
-#, possible-c-format
-msgid "Error getting module info, %d\n"
-msgstr "Fout bij verkrijgen module informatie, %d\n"
-
-#: ar.c:244
+#: ar.c:141
 msgid "touch archive member is not available on VMS"
-msgstr "touch archief onderdeel is niet beschikbaar onder VMS"
+msgstr "touch archief-onderdeel is niet beschikbaar onder VMS"
 
-#: ar.c:276
-#, possible-c-format
+#: ar.c:173
+#, c-format
 msgid "touch: Archive `%s' does not exist"
 msgstr "touch: Archief `%s' bestaat niet"
 
-#: ar.c:279
-#, possible-c-format
+#: ar.c:176
+#, c-format
 msgid "touch: `%s' is not a valid archive"
 msgstr "touch: `%s' is geen geldig archief"
 
-#: ar.c:282
-msgid "touch: "
-msgstr "touch: "
-
-#: ar.c:285
-#, possible-c-format
+#: ar.c:183
+#, c-format
 msgid "touch: Member `%s' does not exist in `%s'"
 msgstr "touch: Onderdeel `%s' bestaat niet in `%s'"
 
-#: ar.c:291
-#, possible-c-format
+#: ar.c:190
+#, c-format
 msgid "touch: Bad return code from ar_member_touch on `%s'"
-msgstr "touch: Onjuist return code uit ar onderdeel touch op `%s' (FIXME)"
+msgstr "touch: Ongeldig resultaat van ar_member_touch op `%s'"
+
+#: arscan.c:71
+#, c-format
+msgid "lbr$set_module failed to extract module info, status = %d"
+msgstr "lbr$set_module kon geen module informatie extraheren, status = %d"
 
-#: arscan.c:550
+#: arscan.c:155
+#, c-format
+msgid "lbr$ini_control failed with status = %d"
+msgstr "lbr$ini_control mislukte met status = %d"
+
+#: arscan.c:166
+#, c-format
+msgid "unable to open library `%s' to lookup member `%s'"
+msgstr "kon bibliotheek `%s' niet openen om onderdeel `%s' op te zoeken"
+
+#: arscan.c:820
+#, c-format
+msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
+msgstr "Onderdeel `%s'%s: %ld bytes op %ld (%ld).\n"
+
+#: arscan.c:821
 msgid " (name might be truncated)"
 msgstr " (naam kan ingekort zijn)"
 
-#: arscan.c:552
-#, possible-c-format
+#: arscan.c:823
+#, c-format
 msgid "  Date %s"
 msgstr "  Datum %s"
 
-#: arscan.c:553
-#, possible-c-format
+#: arscan.c:824
+#, c-format
 msgid "  uid = %d, gid = %d, mode = 0%o.\n"
 msgstr "  uid = %d, gid = %d, mode = 0%o.\n"
 
-#: dir.c:678
-msgid ""
-"\n"
-"# Directories\n"
-msgstr "\n# Directories\n"
-
-#: dir.c:686
-#, possible-c-format
+#: commands.c:391
+msgid "*** Break.\n"
+msgstr "*** Afgebroken.\n"
+
+#: commands.c:483
+#, c-format
+msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
+msgstr "*** [%s] Archief-onderdeel `%s' kan vals zijn; niet verwijderd"
+
+#: commands.c:486
+#, c-format
+msgid "*** Archive member `%s' may be bogus; not deleted"
+msgstr "*** Archief-onderdeel `%s' kan vals zijn; niet verwijderd"
+
+#: commands.c:498
+#, c-format
+msgid "*** [%s] Deleting file `%s'"
+msgstr "*** [%s] Bestand `%s' wordt verwijderd"
+
+#: commands.c:500
+#, c-format
+msgid "*** Deleting file `%s'"
+msgstr "*** Bestand `%s' wordt verwijderd"
+
+#: commands.c:538
+msgid "#  commands to execute"
+msgstr "#  uit te voeren opdrachten"
+
+#: commands.c:541
+msgid " (built-in):"
+msgstr " (ingebouwd):"
+
+#: commands.c:543
+#, c-format
+msgid " (from `%s', line %lu):\n"
+msgstr " (uit `%s', regel %lu):\n"
+
+#: dir.c:902
+msgid "\n# Directories\n"
+msgstr "\n# Mappen\n"
+
+#: dir.c:910
+#, c-format
 msgid "# %s: could not be stat'd.\n"
-msgstr "# %s: kan niet worden gestat'd (FIXME).\n"
+msgstr "# %s: kon de status niet opvragen.\n"
+
+#: dir.c:913
+#, c-format
+msgid "# %s (key %s, mtime %d): could not be opened.\n"
+msgstr "# %s (sleutel %s, veranderd op %d): kan niet worden geopend.\n"
 
-#: dir.c:689
-#, possible-c-format
+#: dir.c:917
+#, c-format
 msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"
-msgstr "# %s (apparaat %d, inode [%d,%d,%d]): kan niet worden geopend.\n"
+msgstr "# %s (apparaat %d, inode [%d,%d,%d]): kon niet worden geopend.\n"
+
+#: dir.c:922
+#, c-format
+msgid "# %s (device %ld, inode %ld): could not be opened.\n"
+msgstr "# %s (apparaat %ld, inode %ld): kon niet worden geopend.\n"
 
-#: dir.c:694
-#, possible-c-format
-msgid "# %s (device %d, inode %d): could not be opened.\n"
-msgstr "# %s (apparaat %d, inode %d): kan niet worden geopend.\n"
+#: dir.c:939
+#, c-format
+msgid "# %s (key %s, mtime %d): "
+msgstr "# %s (sleutel %s, veranderd op %d): "
 
-#: dir.c:709
-#, possible-c-format
+#: dir.c:943
+#, c-format
 msgid "# %s (device %d, inode [%d,%d,%d]): "
 msgstr "# %s (apparaat %d, inode [%d,%d,%d]): "
 
-#: dir.c:714
-#, possible-c-format
-msgid "# %s (device %d, inode %d): "
-msgstr "# %s (apparaat %d, inode %d): "
+#: dir.c:948
+#, c-format
+msgid "# %s (device %ld, inode %ld): "
+msgstr "# %s (apparaat %ld, inode %ld): "
 
-#: dir.c:718 dir.c:738
+#: dir.c:954 dir.c:974
 msgid "No"
 msgstr "Nee"
 
-#: dir.c:721 dir.c:741
+#: dir.c:957 dir.c:977
 msgid " files, "
 msgstr " bestanden, "
 
-#: dir.c:723 dir.c:743
+#: dir.c:959 dir.c:979
 msgid "no"
 msgstr "nee"
 
-#: dir.c:726
+#: dir.c:962
 msgid " impossibilities"
 msgstr " onmogelijkheden"
 
-#: dir.c:730
+#: dir.c:966
 msgid " so far."
 msgstr " tot zo ver."
 
-#: dir.c:746
-#, possible-c-format
+#: dir.c:982
+#, c-format
 msgid " impossibilities in %u directories.\n"
-msgstr " onmogelijkheden in in %u directories.\n"
+msgstr " onmogelijkheden in in %u mappen.\n"
 
-#: expand.c:92 expand.c:97
-#, possible-c-format
+#: expand.c:105
+#, c-format
 msgid "Recursive variable `%s' references itself (eventually)"
 msgstr "Recursieve variabele `%s' refereert (uiteindelijk) naar zichzelf"
 
-#: expand.c:120
-#, possible-c-format
+#: expand.c:130
+#, c-format
 msgid "warning: undefined variable `%.*s'"
 msgstr "let op: ongedefinieerde variabele `%.*s'"
 
-#: expand.c:223 expand.c:225
+#. Unterminated variable reference.
+#: expand.c:247
 msgid "unterminated variable reference"
-msgstr "niet getermineerde variabele referentie"
+msgstr "onafgesloten referentie naar variabele"
 
-#: file.c:264
-#, possible-c-format
-msgid "Commands were specified for file `%s' at %s:%u,"
-msgstr "Commando's zijn specifiek voor bestand `%s' op %s:%u,"
+#: file.c:307
+#, c-format
+msgid "Commands were specified for file `%s' at %s:%lu,"
+msgstr "Commando's waren opgegeven voor bestand `%s' op %s:%lu,"
 
-#: file.c:270
-#, possible-c-format
+#: file.c:313
+#, c-format
 msgid "Commands for file `%s' were found by implicit rule search,"
-msgstr "Commando's voor bestand `%s' zijn gevonden door implicite zoek regels."
+msgstr "Commando's voor bestand `%s' zijn gevonden door implicite zoek regels,"
 
-#: file.c:274
-#, possible-c-format
+#: file.c:317
+#, c-format
 msgid "but `%s' is now considered the same file as `%s'."
 msgstr "maar `%s' wordt nu beschouwd als het zelfde bestand als `%s'."
 
-#: file.c:278
-#, possible-c-format
+# fixme
+#: file.c:321
+#, c-format
 msgid "Commands for `%s' will be ignored in favor of those for `%s'."
-msgstr "Commando's voor `%s' worden genegeerd ten faveure van die voor `%s'."
+msgstr "Commando's voor `%s' worden genegeerd ten voordele van die voor `%s'."
 
-#: file.c:299
-#, possible-c-format
+# Dit wordt heel moeilijk als je colon vertaalt als `dubbele punt'
+#: file.c:342
+#, c-format
 msgid "can't rename single-colon `%s' to double-colon `%s'"
 msgstr "kan enkele colon `%s' niet hernoemen naar dubbele colon `%s' (FIXME)"
 
-#: file.c:302
-#, possible-c-format
+#: file.c:347
+#, c-format
 msgid "can't rename double-colon `%s' to single-colon `%s'"
 msgstr "kan dubbele colon `%s' niet hernoemen in enkele colon `%s'"
 
-#: file.c:363
-#, possible-c-format
+#: file.c:414
+#, c-format
 msgid "*** Deleting intermediate file `%s'"
 msgstr "*** Verwijderen tijdelijk bestand `%s'"
 
-#: file.c:523
+#: file.c:622
 msgid "# Not a target:"
 msgstr "# Niet een bestemming:"
 
-#: file.c:531
-msgid "#  Precious file (dependency of .PRECIOUS)."
-msgstr "#  Precious bestand (afhankelijk van .PRECIOUS)."
+#: file.c:630
+msgid "#  Precious file (prerequisite of .PRECIOUS)."
+msgstr "#  Belangrijk bestand (afhankelijk van .PRECIOUS)."
 
-#: file.c:533
-msgid "#  Phony target (dependency of .PHONY)."
-msgstr "#  Phony doel (afhankelijk van .PHONY)."
+#: file.c:632
+msgid "#  Phony target (prerequisite of .PHONY)."
+msgstr "#  Onecht doel (afhankelijk van .PHONY)."
 
-#: file.c:535
+#: file.c:634
 msgid "#  Command-line target."
 msgstr "#  Commando-regel doel."
 
-#: file.c:537
+#: file.c:636
 msgid "#  A default or MAKEFILES makefile."
 msgstr "#  Een standaard of MAKEFILES makefile."
 
-#: file.c:538
-#, possible-c-format
-msgid "#  Implicit rule search has%s been done.\n"
-msgstr "#  Impliciete zoek regel is%s uitgevoerd.\n"
+#: file.c:638
+msgid "#  Implicit rule search has been done."
+msgstr "#  Impliciete zoek regel is uitgevoerd."
 
-#: file.c:539 file.c:564
-msgid " not"
-msgstr " niet"
+#: file.c:639
+msgid "#  Implicit rule search has not been done."
+msgstr "#  Impliciete zoek regel is niet uitgevoerd."
 
-#: file.c:541
-#, possible-c-format
+#: file.c:641
+#, c-format
 msgid "#  Implicit/static pattern stem: `%s'\n"
-msgstr "#  Impliciete/statische patroon stem: `%s'\n"
+msgstr "#  Impliciete/statische patroon stam: `%s'\n"
 
-#: file.c:543
-msgid "#  File is an intermediate dependency."
+#: file.c:643
+msgid "#  File is an intermediate prerequisite."
 msgstr "#  Bestand is een tijdelijke afhankelijke."
 
-#: file.c:546
+#: file.c:646
 msgid "#  Also makes:"
 msgstr "#  Maakt ook:"
 
-#: file.c:552
+#: file.c:652
 msgid "#  Modification time never checked."
-msgstr "#  Wijziging tijd nooit gecontroleerd."
+msgstr "#  Wijzigingstijd nooit gecontroleerd."
 
-#: file.c:554
+#: file.c:654
 msgid "#  File does not exist."
 msgstr "#  Bestand bestaat niet."
 
-#: file.c:557
-#, possible-c-format
-msgid "#  Last modified %.24s (%0lx)\n"
-msgstr "#  Laatst gewijzigd %.24s (%0lx)\n"
+#: file.c:659
+#, c-format
+msgid "#  Last modified %s\n"
+msgstr "#  Laatst gewijzigd %s\n"
 
-#: file.c:560
-#, possible-c-format
-msgid "#  Last modified %.24s (%ld)\n"
-msgstr "#  Laatst gewijzigd %.24s (%ld)\n"
+#: file.c:662
+msgid "#  File has been updated."
+msgstr "#  Bestand is gewijzigd."
 
-#: file.c:563
-#, possible-c-format
-msgid "#  File has%s been updated.\n"
-msgstr "#  Bestand is%s gewijzigd.\n"
+#: file.c:662
+msgid "#  File has not been updated."
+msgstr "#  Bestand is niet gewijzigd."
 
-#: file.c:568
+#: file.c:666
 msgid "#  Commands currently running (THIS IS A BUG)."
-msgstr "#  Commando's welke nu uitgevoerd worden (THIS IS A BUG)."
+msgstr "#  Commando's die nu uitgevoerd worden (THIS IS A BUG)."
 
-#: file.c:571
+#: file.c:669
 msgid "#  Dependencies commands running (THIS IS A BUG)."
-msgstr "#  Afhankelijken commando's welke nu uitgevoerd worden (THIS IS A BUG)."
+msgstr "#  Commando's voor afhankelijken die nu uitgevoerd worden (THIS IS A BUG)."
 
-#: file.c:580
+#: file.c:678
 msgid "#  Successfully updated."
-msgstr "#  Wijziging succesvol."
+msgstr "#  Met succes bijgewerkt."
 
-#: file.c:584
+#: file.c:682
 msgid "#  Needs to be updated (-q is set)."
-msgstr "#  Dient geupdate te worden (-q is aktie)."
+msgstr "#  Dient bijgewerkt te worden (-q is aktief)."
 
-#: file.c:587
+#: file.c:685
 msgid "#  Failed to be updated."
-msgstr "#  Updaten faalde."
+msgstr "#  Bijwerken mislukte."
 
-#: file.c:590
+#: file.c:688
 msgid "#  Invalid value in `update_status' member!"
 msgstr "#  Ongeldige waarde in `update_status' onderdeel!"
 
-#: file.c:597
+#: file.c:695
 msgid "#  Invalid value in `command_state' member!"
-msgstr "#  Ongeldige waarde in `command_state' deelnemer!"
+msgstr "#  Ongeldige waarde in `command_state' onderdeel!"
 
-#: file.c:616
-msgid ""
-"\n"
-"# Files"
+#: file.c:714
+msgid "\n# Files"
 msgstr "\n# Bestanden"
 
-#: file.c:639
-msgid ""
-"\n"
-"# No files."
+#: file.c:737
+msgid "\n# No files."
 msgstr "\n# Geen bestanden."
 
-#: file.c:642
-#, possible-c-format
-msgid ""
-"\n"
-"# %u files in %u hash buckets.\n"
-msgstr "\n# %u bestanden in %u hash buckets (FIXME).\n"
+#: file.c:740
+#, c-format
+msgid "\n# %u files in %u hash buckets.\n"
+msgstr "\n# %u bestanden in %u frommelbakjes.\n"
 
-#: file.c:644
-#, possible-c-format
-msgid "# average %.1f files per bucket, max %u files in one bucket.\n"
-msgstr "# gemiddeld %.1f bestanden per bucket, maximaal %u bestanden in een bucket (FIXME).\n"
+#: file.c:742
+#, c-format
+msgid "# average %.3f files per bucket, max %u files in one bucket.\n"
+msgstr "# gemiddeld %.3f bestanden per bakje, maximaal %u bestanden in een bakje.\n"
 
-#: function.c:648
-msgid "undefined"
-msgstr "ongedefinieerd"
+#. Check the first argument.
+#: function.c:737
+msgid "non-numeric first argument to `word' function"
+msgstr "niet-numeriek eerste argument voor `word' functie"
 
-#: function.c:657 variable.c:736
-msgid "default"
-msgstr "standaard"
+#: function.c:741
+msgid "the `word' function takes a positive index argument"
+msgstr "de `word' functie verwacht een positief index argument"
+
+#: function.c:765
+msgid "non-numeric first argument to `wordlist' function"
+msgstr "niet-numeriek eerste argument voor `wordlist' functie"
+
+#: function.c:767
+msgid "non-numeric second argument to `wordlist' function"
+msgstr "niet-numeriek tweede argument voor `wordlist' functie"
+
+#: function.c:1208
+#, c-format
+msgid "create_child_process: DuplicateHandle(In) failed (e=%d)\n"
+msgstr "create_child_process: DuplicateHandle(In) mislukte (e=%d)\n"
+
+#: function.c:1219
+#, c-format
+msgid "create_child_process: DuplicateHandle(Err) failed (e=%d)\n"
+msgstr "create_child_process: DuplicateHandle(Err) mislukte (e=%d)\n"
+
+#: function.c:1224
+#, c-format
+msgid "CreatePipe() failed (e=%d)\n"
+msgstr "CreatePipe() mislukte (e=%d)\n"
+
+#: function.c:1229
+msgid "windows32_openpipe (): process_init_fd() failed\n"
+msgstr "windows32_openpipe (): process_init_fd() mislukte\n"
+
+#: function.c:1468
+#, c-format
+msgid "Cleaning up temporary batch file %s\n"
+msgstr "Opruimen van tijdelijk batchbestand %s\n"
+
+#: function.c:1688
+#, c-format
+msgid "Insufficient number of arguments (%d) to function `%s'"
+msgstr "Te weinig argumenten (%d) voor functie `%s'"
+
+#: function.c:1692
+#, c-format
+msgid "Unimplemented on this platform: function `%s'"
+msgstr "Niet geimplementeerd op dit platform: functie `%s'"
+
+#: function.c:1745
+#, c-format
+msgid "unterminated call to function `%s': missing `%c'"
+msgstr "niet afgesloten aanroep naar functie `%s': ontbrekend `%c'"
 
-#: function.c:660 variable.c:739
-msgid "environment"
-msgstr "omgeving"
+#: getopt.c:675
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: optie `%s' is dubbelzinnig\n"
 
-#: function.c:663
-msgid "file"
-msgstr "bestand"
+#: getopt.c:699
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: optie `--%s' staat geen argument toe\n"
 
-#: function.c:666
-msgid "environment override"
-msgstr "omgevings overschrijving (FIXME)"
+#: getopt.c:704
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: optie `%c%s' staat geen argument toe\n"
 
-#: function.c:669 variable.c:748
-msgid "command line"
-msgstr "commando-regel"
+#: getopt.c:721 getopt.c:894
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: optie `%s' vereist een argument\n"
 
-#: function.c:672
-msgid "override"
-msgstr "overschrijf"
+#. --option
+#: getopt.c:750
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: onbekende optie `--%s'\n"
 
-#: function.c:675 variable.c:754
-msgid "automatic"
-msgstr "automatisch"
+#. +option or -option
+#: getopt.c:754
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: onbekende optie `%c%s'\n"
 
-#: function.c:1087 function.c:1089
-msgid "non-numeric first argument to `word' function"
-msgstr "niet-numeriek eerste argument voor `word' functie"
+#. 1003.2 specifies the format of this message.
+#: getopt.c:780
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: ongeldige optie -- %c\n"
 
-#: function.c:1097 function.c:1100
-msgid "the `word' function takes a one-origin index argument"
-msgstr "de `word' functie accepteert een een-origineel index argument (??)"
+#: getopt.c:783
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: onjuiste optie -- %c\n"
 
-#: function.c:1341
-#, possible-c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "niet getermineerde aanroep naar functie `%s': ontbrekend `%c'"
+#. 1003.2 specifies the format of this message.
+#: getopt.c:813 getopt.c:943
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: optie vereist een argument -- %c\n"
 
-#: implicit.c:38
-#, possible-c-format
+#: getopt.c:860
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: optie `-W %s' is dubbelzinnig\n"
+
+#: getopt.c:878
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: optie `-W %s' staat geen argumenten toe\n"
+
+#: implicit.c:40
+#, c-format
 msgid "Looking for an implicit rule for `%s'.\n"
 msgstr "Zoeken naar een impliciete regel voor `%s'.\n"
 
-#: implicit.c:53
-#, possible-c-format
+#: implicit.c:56
+#, c-format
 msgid "Looking for archive-member implicit rule for `%s'.\n"
-msgstr "Zoek naar een archief-onderdeel impliciete regel voor `%s'.\n"
+msgstr "Zoek naar een impliciete regel voor archief-onderdeel voor `%s'.\n"
 
-#: implicit.c:190
-#, possible-c-format
-msgid "Avoiding implicit rule recursion.%s%s\n"
-msgstr "Vermijden impliciete regel recursie.%s%s\n"
+#: implicit.c:201
+msgid "Avoiding implicit rule recursion.\n"
+msgstr "Vermijden impliciete regel recursie.\n"
 
-#: implicit.c:326
-#, possible-c-format
+#: implicit.c:339
+#, c-format
 msgid "Trying pattern rule with stem `%.*s'.\n"
 msgstr "Probeer patroon regel met stam `%.*s'.\n"
 
-#: implicit.c:365
-#, possible-c-format
-msgid "Rejecting impossible %s dependency `%s'.\n"
-msgstr "Verwerpen onmogelijke %s afhankelijkheid `%s'.\n"
-
-#: implicit.c:366 implicit.c:374
-msgid "implicit"
-msgstr "impliciet"
-
-#: implicit.c:366 implicit.c:374
-msgid "rule"
-msgstr "regel"
-
-#: implicit.c:373
-#, possible-c-format
-msgid "Trying %s dependency `%s'.\n"
-msgstr "Probeer %s afhankelijkheid `%s'.\n"
-
-#: implicit.c:393
-#, possible-c-format
-msgid "Found dependency as `%s'.%s\n"
-msgstr "Afhankelijkheid gevonden als `%s'.%s\n"
-
-#: implicit.c:408
-#, possible-c-format
-msgid "Looking for a rule with %s file `%s'.\n"
-msgstr "Zoeken naar een regel met %s bestand `%s'.\n"
-
-#: implicit.c:409
-msgid "intermediate"
-msgstr "intermediair"
-
-#: job.c:190
-#, possible-c-format
-msgid "*** [%s] Error 0x%x%s"
-msgstr "*** [%s] Fout 0x%x%s"
-
-#: job.c:190
-msgid " (ignored)"
-msgstr " (genegeerd)"
-
-#: job.c:193
-#, possible-c-format
+#: implicit.c:380
+#, c-format
+msgid "Rejecting impossible implicit prerequisite `%s'.\n"
+msgstr "Verwerpen onmogelijke impliciete afhankelijkheid `%s'.\n"
+
+#: implicit.c:381
+#, c-format
+msgid "Rejecting impossible rule prerequisite `%s'.\n"
+msgstr "Verwerpen onmogelijke regel afhankelijkheid `%s'.\n"
+
+#: implicit.c:391
+#, c-format
+msgid "Trying implicit prerequisite `%s'.\n"
+msgstr "Proberen impliciete afhankelijkheid `%s'.\n"
+
+#: implicit.c:392
+#, c-format
+msgid "Trying rule prerequisite `%s'.\n"
+msgstr "Proberen regel afhankelijkheid `%s'.\n"
+
+#: implicit.c:413
+#, c-format
+msgid "Found prerequisite `%s' as VPATH `%s'\n"
+msgstr "Afhankelijkheid `%s' gevonden als VPATH `%s'\n"
+
+#: implicit.c:430
+#, c-format
+msgid "Looking for a rule with intermediate file `%s'.\n"
+msgstr "Zoeken naar een regel met tijdelijk bestand `%s'.\n"
+
+#: job.c:253
+#, c-format
+msgid "*** [%s] Error 0x%x (ignored)"
+msgstr "*** [%s] Fout 0x%x (genegeerd)"
+
+#: job.c:254
+#, c-format
+msgid "*** [%s] Error 0x%x"
+msgstr "*** [%s] Fout 0x%x"
+
+#: job.c:258
+#, c-format
 msgid "[%s] Error %d (ignored)"
 msgstr "[%s] Fout %d (genegeerd)"
 
-#: job.c:194
-#, possible-c-format
+#: job.c:259
+#, c-format
 msgid "*** [%s] Error %d"
 msgstr "*** [%s] Fout %d"
 
-#: job.c:199
+#: job.c:264
 msgid " (core dumped)"
-msgstr " (core gedumpt)"
+msgstr " (geheugendump)"
+
+#: job.c:316
+msgid "Warning: Empty redirection\n"
+msgstr "Let op: Lege verwijzing\n"
 
-#: job.c:234
-#, possible-c-format
-msgid "Got a SIGCHLD; %d unreaped children.\n"
-msgstr "Got a SIGCHLD; %d unreaped sub-processen.\n"
+#: job.c:352
+msgid "Syntax error, still inside '\"'\n"
+msgstr "Syntaxfout, nog steeds binnen '\"'\n"
 
-#: job.c:265
+#: job.c:404
+#, c-format
+msgid "Got a SIGCHLD; %u unreaped children.\n"
+msgstr "Kreeg een SIGCHLD; %u niet-beëindigde kindprocessen.\n"
+
+#: job.c:453
 msgid "*** Waiting for unfinished jobs...."
-msgstr "*** Wachten op onafgeronde jobs..."
+msgstr "*** Wachten op onafgeronde taken..."
 
-#: job.c:290
-#, possible-c-format
-msgid "Live child 0x%08lx PID %d%s\n"
-msgstr "Aktief sub-proces 0x%08lx PID %d%s\n"
+#: job.c:482
+#, c-format
+msgid "Live child 0x%08lx (%s) PID %ld %s\n"
+msgstr "Aktief kindproces 0x%08lx (%s) PID %ld %s\n"
 
-#: job.c:292 job.c:427 job.c:514 job.c:919
+#: job.c:484 job.c:644 job.c:742 job.c:1295
 msgid " (remote)"
 msgstr " (op afstand)"
 
-#: job.c:414
-#, possible-c-format
-msgid "Unknown%s job %d"
-msgstr "Onbekend%s job %d"
+#: job.c:641
+#, c-format
+msgid "Reaping losing child 0x%08lx PID %ld %s\n"
+msgstr "Afsluiten verliezend kind 0x%08lx PID %ld %s\n"
+
+#: job.c:642
+#, c-format
+msgid "Reaping winning child 0x%08lx PID %ld %s\n"
+msgstr "Afsluiten winnend kind 0x%08lx PID %ld %s\n"
+
+#: job.c:647
+#, c-format
+msgid "Cleaning up temp batch file %s\n"
+msgstr "Tijdelijk batchbestand %s wordt opgeruimd\n"
+
+#: job.c:740
+#, c-format
+msgid "Removing child 0x%08lx PID %ld %s from chain.\n"
+msgstr "Verwijder kindproces 0x%08lx PID %ld %s uit reeks.\n"
+
+#: job.c:797
+msgid "write jobserver"
+msgstr "schrijf taakserver"
+
+# fixme
+#: job.c:799
+#, c-format
+msgid "Released token for child 0x%08lx (%s).\n"
+msgstr "Token vrijgegeven voor kindproces 0x%08lx (%s).\n"
+
+#: job.c:1229 job.c:2218
+#, c-format
+msgid "process_easy() failed failed to launch process (e=%d)\n"
+msgstr "process_easy() kon geen process uitvoeren (e=%d)\n"
+
+#: job.c:1233 job.c:2222
+#, c-format
+msgid "\nCounted %d args in failed launch\n"
+msgstr "\n%d argumenten geteld in mislukte uitvoeren\n"
+
+#: job.c:1293
+#, c-format
+msgid "Putting child 0x%08lx (%s) PID %ld%s on the chain.\n"
+msgstr "Kindproces 0x%08lx (%s) PID %ldh%s in reeks geplaatst.\n"
+
+#: job.c:1490
+#, c-format
+msgid "Obtained token for child 0x%08lx (%s).\n"
+msgstr "Token ontvangen voor kind 0x%08lx (%s).\n"
+
+# fixme
+#: job.c:1496
+msgid "read jobs pipe"
+msgstr "lezen van takenpijp"
+
+#: job.c:1566
+msgid "cannot enforce load limits on this operating system"
+msgstr "kan geen belastingslimiet opleggen onder dit besturingssysteem"
 
-#: job.c:414
-msgid " remote"
-msgstr " op afstand"
+#: job.c:1568
+msgid "cannot enforce load limit: "
+msgstr "kan geen belastingslimiet opleggen: "
 
-#: job.c:419
-#, possible-c-format
-msgid "%s finished."
-msgstr "%s afgerond."
+#: job.c:1671
+#, c-format
+msgid "internal error: `%s' command_state"
+msgstr "interne fout: `%s' command_state"
 
-#: job.c:424
-#, possible-c-format
-msgid "Reaping %s child 0x%08lx PID %d%s\n"
-msgstr "Reaping %s sub-proces 0x%08lx PID %d%s\n"
+#: job.c:1756
+msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
+msgstr "-waarschuwing, CTRL-Y laat nog kindproces(sen) rondslingeren.\n"
 
-#: job.c:425
-msgid "losing"
-msgstr "verliezen"
+#: job.c:1773
+msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
+msgstr "-waarschuwing, u moet misschien CTRL-Y opnieuw activeren vanuit DCL.\n"
 
-#: job.c:425
-msgid "winning"
-msgstr "winnen"
+#: job.c:1886
+#, c-format
+msgid "BUILTIN [%s][%s]\n"
+msgstr "INGEBOUWD [%s][%s]\n"
 
-#: job.c:512
-#, possible-c-format
-msgid "Removing child 0x%08lx PID %d%s from chain.\n"
-msgstr "Verwijder sub-proces 0x%08lx PID %d%s uit reeks.\n"
+#: job.c:1897
+#, c-format
+msgid "BUILTIN CD %s\n"
+msgstr "INGEBOUWDE CD %s\n"
 
-#: job.c:917
-#, possible-c-format
-msgid "Putting child 0x%08lx PID %05d%s on the chain.\n"
-msgstr "Plaats sub-proces 0x%08lx PID %05d%s in reeks.\n"
+#: job.c:1915
+#, c-format
+msgid "BUILTIN RM %s\n"
+msgstr "INGEBOUWDE RM %s\n"
 
-#: job.c:1140
-msgid "cannot enforce load limits on this operating system"
-msgstr "kan geen belastingslimiet opleggen onder dit besturingssysteem"
+#: job.c:1936
+#, c-format
+msgid "Unknown builtin command '%s'\n"
+msgstr "Onbekend ingebouwd commando `%s'.\n"
 
-#: job.c:1142
-msgid "cannot enforce load limit: "
-msgstr "kan geen belastingslimiet opleggen: "
+#: job.c:1958
+msgid "Error, empty command\n"
+msgstr "Fout, leeg commando\n"
+
+#: job.c:1965 main.c:1270
+msgid "fopen (temporary file)"
+msgstr "fopen (tijdelijk bestand)"
+
+#: job.c:1970
+#, c-format
+msgid "Redirected input from %s\n"
+msgstr "Invoer omgeleid van %s\n"
 
-#: job.c:1244
-#, possible-c-format
-msgid "internal error: `%s' command_state %d in child_handler"
-msgstr "interne fout: `%s' commando_status %d bij sub-proces regelaar"
+#: job.c:1977
+#, c-format
+msgid "Redirected error to %s\n"
+msgstr "Foutuitvoer omgeleid naar %s\n"
 
-#: job.c:1350
-#, possible-c-format
+#: job.c:1984
+#, c-format
+msgid "Redirected output to %s\n"
+msgstr "Uitvoer omgeleid naar %s\n"
+
+#: job.c:2047
+#, c-format
 msgid "Executing %s instead\n"
-msgstr "In plaats hiervan yitvoeren van %s\n"
+msgstr "In plaats daarvan wordt %s uitgevoerd\n"
 
-#: job.c:1381
-#, possible-c-format
+#: job.c:2144
+#, c-format
 msgid "Error spawning, %d\n"
 msgstr "Fout spawning, %d\n"
 
-#: job.c:1442
-#, possible-c-format
+#: job.c:2247
+#, c-format
+msgid "make reaped child pid %d, still waiting for pid %d\n"
+msgstr "make sloot kind proces %d af, nog wachtende op proces %d\n"
+
+#: job.c:2266
+#, c-format
 msgid "%s: Command not found"
 msgstr "%s: Commando niet gevonden"
 
-#: job.c:1471
-#, possible-c-format
+#: job.c:2295
+#, c-format
 msgid "%s: Shell program not found"
-msgstr "%s: Shell programa niet gevonden"
+msgstr "%s: Shell programma niet gevonden"
+
+#: job.c:2476
+#, c-format
+msgid "$SHELL changed (was `%s', now `%s')"
+msgstr "$SHELL veranderd (was `%s', nu `%s')"
+
+#: job.c:2882
+#, c-format
+msgid "Creating temporary batch file %s\n"
+msgstr "Tijdelijk batchbestand %s wordt aangemaakt\n"
+
+#: job.c:2924
+#, c-format
+msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
+msgstr "%s (regel %d) Foutieve shell context (!unixy && !batch_mode_shell)\n"
 
-#: main.c:224
+#: main.c:259
 msgid "Ignored for compatibility"
-msgstr "Genegeerd voor compatibiliteitsredenen"
+msgstr "Genegeerd voor compatibiliteit"
 
-#: main.c:227
+#: main.c:261 main.c:288
+msgid "DIRECTORY"
+msgstr "MAP"
+
+#: main.c:262
 msgid "Change to DIRECTORY before doing anything"
-msgstr "Veranderen naar DIRECTORY voordat iets gedaan wordt"
+msgstr "Ga naar MAP voordat er iets gedaan wordt"
 
-#: main.c:230
+#: main.c:265
 msgid "Print lots of debugging information"
 msgstr "Toon veel debug informatie"
 
-#: main.c:233
+#: main.c:268
+msgid "FLAGS"
+msgstr "VLAGGEN"
+
+#: main.c:269
+msgid "Print various types of debugging information"
+msgstr "Toon verschillende typen debug informatie"
+
+#: main.c:273
+msgid "Suspend process to allow a debugger to attach"
+msgstr "Proces wordt uitgesteld om een debugger aan te kunnen hechten"
+
+#: main.c:277
 msgid "Environment variables override makefiles"
-msgstr "Omgevingsvariabele overschrijven makefiles"
+msgstr "Omgevingsvariabelen zijn belangrijker dan makefiles"
 
-#: main.c:236
+#: main.c:279 main.c:320 main.c:354
+msgid "FILE"
+msgstr "BESTAND"
+
+#: main.c:280
 msgid "Read FILE as a makefile"
 msgstr "Lees BESTAND als een makefile"
 
-#: main.c:239
+#: main.c:283
 msgid "Print this message and exit"
 msgstr "Toon deze melding en beëindig programma"
 
-#: main.c:242
+#: main.c:286
 msgid "Ignore errors from commands"
 msgstr "Negeer fouten van commando's"
 
-#: main.c:245
+#: main.c:289
 msgid "Search DIRECTORY for included makefiles"
-msgstr "Doorzoek DIRECTORY voor te includeren makefiles"
+msgstr "Zoek in MAP voor op te nemen makefiles"
 
-#: main.c:249
+#: main.c:294
 msgid "Allow N jobs at once; infinite jobs with no arg"
-msgstr "Sta N jobs tegelijkertijd toe; oneindig veel jobs bij geen argument"
+msgstr "Sta N taken tegelijkertijd toe; oneindig veel zonder argument"
 
-#: main.c:253
+#: main.c:301
 msgid "Keep going when some targets can't be made"
 msgstr "Doorgaan wanneer sommige doelen niet aangemaakt kunnen worden"
 
-#: main.c:258 main.c:263
+#: main.c:306 main.c:311
 msgid "Don't start multiple jobs unless load is below N"
-msgstr "Start niet meerdere jobs tenzij de belasting beneden N is"
+msgstr "Start niet meer taken tenzij de belasting beneden N is"
 
-#: main.c:270
+#: main.c:318
 msgid "Don't actually run any commands; just print them"
 msgstr "Voer geen commando's uit; laat ze alleen maar zien"
 
-#: main.c:273
+#: main.c:321
 msgid "Consider FILE to be very old and don't remake it"
-msgstr "Veronderstel BESTAND zeer oud is en maak het niet opnieuw"
+msgstr "Veronderstel dat BESTAND zeer oud is en maak het niet opnieuw"
 
-#: main.c:276
+#: main.c:324
 msgid "Print make's internal database"
-msgstr "Toon make's interne gegevensbeheer"
+msgstr "Toon make's intern gegevensbeheer"
 
-#: main.c:279
+#: main.c:327
 msgid "Run no commands; exit status says if up to date"
-msgstr "Voer geen commando's uit; exit status vertelt up to date zijn (FIXME)"
+msgstr "Voer geen commando's uit; afsluitwaarde geeft aan of het up to date is"
 
-#: main.c:282
+#: main.c:330
 msgid "Disable the built-in implicit rules"
 msgstr "Schakel de ingebouwde impliciete regels uit"
 
-#: main.c:285
+#: main.c:333
+msgid "Disable the built-in variable settings"
+msgstr "Schakel de ingebouwde variabelen uit"
+
+#: main.c:336
 msgid "Don't echo commands"
 msgstr "Laat geen commando's zien"
 
-#: main.c:289
+#: main.c:340
 msgid "Turns off -k"
-msgstr "-k is uitgezet"
+msgstr "Zet -k uit"
 
-#: main.c:292
+#: main.c:343
 msgid "Touch targets instead of remaking them"
 msgstr "Touch doelen in plaats van opnieuw aanmaken"
 
-#: main.c:295
+#: main.c:346
 msgid "Print the version number of make and exit"
 msgstr "Toon het versie-nummer van make en beëindig programma"
 
-#: main.c:298
+#: main.c:349
 msgid "Print the current directory"
-msgstr "Toon de huidige directory"
+msgstr "Toon de huidige map"
 
-#: main.c:301
+#: main.c:352
 msgid "Turn off -w, even if it was turned on implicitly"
 msgstr "Zet -w uit, zelfs als het impliciet aangezet is"
 
-#: main.c:304
+#: main.c:355
 msgid "Consider FILE to be infinitely new"
 msgstr "Veronderstel dat BESTAND oneindig nieuw is"
 
-#: main.c:307
+#: main.c:358
 msgid "Warn when an undefined variable is referenced"
-msgstr "Waarschuw indien naar een ongedefinieerde variabele wordt gerefereerd"
+msgstr "Waarschuw indien naar een ongedefinieerde variabele wordt verwezen"
 
-#: main.c:394
+#: main.c:456
 msgid "empty string invalid as file name"
 msgstr "lege string is een ongeldige bestandsnaam"
 
-#: main.c:781
-msgid "fopen (temporary file)"
-msgstr "fopen (tijdelijk bestand)"
+#: main.c:536
+#, c-format
+msgid "unknown debug level specification `%s'"
+msgstr "onbekende specificatie van debug-niveau `%s'"
+
+#: main.c:576
+#, c-format
+msgid "%s: Interrupt/Exception caught (code = 0x%x, addr = 0x%x)\n"
+msgstr "%s: Onderbreking/Uitzondering afgevangen (code = 0x%x, addr = 0x%x)\n"
 
-#: main.c:787
+#: main.c:583
+#, c-format
+msgid ""
+"\n"
+"Unhandled exception filter called from program %s\n"
+"ExceptionCode = %x\n"
+"ExceptionFlags = %x\n"
+"ExceptionAddress = %x\n"
+msgstr ""
+"\n"
+"Filter voor niet afgevangen uitzonderingen aangeroepen door programma %s\n"
+"UitzonderingCode = %x\n"
+"UitzonderingVlaggen = %x\n"
+"UitzonderingAdres = %x\n"
+
+#: main.c:591
+#, c-format
+msgid "Access violation: write operation at address %x\n"
+msgstr "Geschonden toegang: schrijfoperatie op adres %x\n"
+
+#: main.c:592
+#, c-format
+msgid "Access violation: read operation at address %x\n"
+msgstr "Geschonden toegang: leesoperatie op adres %x\n"
+
+#: main.c:657
+#, c-format
+msgid "find_and_set_shell setting default_shell = %s\n"
+msgstr "find_and_set_shell stelt default_shell in op %s\n"
+
+#: main.c:700
+#, c-format
+msgid "find_and_set_shell path search set default_shell = %s\n"
+msgstr "find_and_set_shell zoekpad stelt default_shell in op %s\n"
+
+#: main.c:1051
+#, c-format
+msgid "%s is suspending for 30 seconds..."
+msgstr "%s wordt uitgesteld voor 30 seconden..."
+
+#: main.c:1053
+msgid "done sleep(30). Continuing.\n"
+msgstr "sleep(30) is afgelopen. Doorgaan.\n"
+
+#: main.c:1260
+msgid "Makefile from standard input specified twice."
+msgstr "Makefile uit standaard invoer twee keer opgegeven."
+
+#: main.c:1276
 msgid "fwrite (temporary file)"
 msgstr "fwrite (tijdelijk bestand)"
 
-#: main.c:930
-msgid "Updating makefiles...."
-msgstr "Updaten van makefiles..."
+#: main.c:1378
+msgid "Do not specify -j or --jobs if sh.exe is not available."
+msgstr "Geef geen -j of --jobs op indien sh.exe niet beschikbaar is."
+
+#: main.c:1379
+msgid "Resetting make for single job mode."
+msgstr "make opnieuw instellen voor enkele taak modus."
+
+#: main.c:1416
+msgid "Parallel jobs (-j) are not supported on this platform."
+msgstr "Parallelle taken (-j) worden niet ondersteund op dit platform."
+
+#: main.c:1417
+msgid "Resetting to single job (-j1) mode."
+msgstr "Terug naar enkele taak-modus (-j1)."
+
+#: main.c:1431
+msgid "internal error: multiple --jobserver-fds options"
+msgstr "interne fout: meerdere --jobserver-fds opties"
+
+#: main.c:1439
+#, c-format
+msgid "internal error: invalid --jobserver-fds string `%s'"
+msgstr "interne fout: ongeldige --jobserver-fds string `%s'"
+
+#: main.c:1449
+msgid "warning: -jN forced in submake: disabling jobserver mode."
+msgstr "let op: -jN geforceerd in submake: jobserver modus uitgeschakeld."
+
+#: main.c:1459
+msgid "dup jobserver"
+msgstr "dubbele jobserver"
+
+#: main.c:1462
+msgid "warning: jobserver unavailable: using -j1.  Add `+' to parent make rule."
+msgstr "let op: jobserver niet beschikbaar: -j1 wordt gebruikt.  Voeg `+' toe aan de bovenliggende make opdracht."
+
+#: main.c:1485
+msgid "creating jobs pipe"
+msgstr "takenpijp aanmaken"
+
+#: main.c:1495
+msgid "init jobserver pipe"
+msgstr "takenpijp beginnen"
+
+#: main.c:1580
+msgid "Updating makefiles....\n"
+msgstr "Bijwerken van makefiles...\n"
 
-#: main.c:955
-#, possible-c-format
+#: main.c:1605
+#, c-format
 msgid "Makefile `%s' might loop; not remaking it.\n"
-msgstr "Makefile `%s' kan `loopen'; wordt niet opnieuw aangemaakt.\n"
+msgstr "Makefile `%s' kan in een lus komen; wordt niet opnieuw aangemaakt.\n"
 
-#: main.c:1029
-#, possible-c-format
+#. The update failed and this makefile was not
+#. from the MAKEFILES variable, so we care.
+#: main.c:1679
+#, c-format
 msgid "Failed to remake makefile `%s'."
-msgstr "Gefaald in het opnieuw aanmaken van makefile `%s'."
+msgstr "Opnieuw maken van makefile `%s' mislukte."
 
-#: main.c:1044
-#, possible-c-format
+#: main.c:1695
+#, c-format
 msgid "Included makefile `%s' was not found."
-msgstr "Geïncludeerde makefile `%s' was niet gevonden."
+msgstr "Ingesloten makefile `%s' was niet gevonden."
 
-#: main.c:1049
-#, possible-c-format
+#. A normal makefile.  We must die later.
+#: main.c:1700
+#, c-format
 msgid "Makefile `%s' was not found"
 msgstr "Makefile `%s' was niet gevonden"
 
-#: main.c:1108
+#: main.c:1768
 msgid "Couldn't change back to original directory."
-msgstr "Kan niet terug naar originele directory."
+msgstr "Kan niet terug naar originele map."
 
-#: main.c:1142
+#: main.c:1802
 msgid "Re-executing:"
 msgstr "Heruitvoeren:"
 
-#: main.c:1186
-msgid "Updating goal targets...."
-msgstr "Updaten doel bestemmingen..."
+#: main.c:1833
+msgid "unlink (temporary file): "
+msgstr "unlink (tijdelijk bestand)"
 
-#: main.c:1211
+#: main.c:1855
 msgid "No targets specified and no makefile found"
 msgstr "Geen doelen gespecificeerd en geen makefile gevonden"
 
-#: main.c:1213
+#: main.c:1857
 msgid "No targets"
 msgstr "Geen doelen"
 
-#: main.c:1439
-#, possible-c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "de `-%c' optie vereist een positief integral argument"
+#. Update the goals.
+#: main.c:1862
+msgid "Updating goal targets....\n"
+msgstr "Bijwerken doelen...\n"
+
+# fixme
+#: main.c:1888
+msgid "warning:  Clock skew detected.  Your build may be incomplete."
+msgstr "waarschuwing:  Klokafwijking gevonden.  Uw build kan incompleet zijn."
 
-#: main.c:1490
-#, possible-c-format
+#: main.c:2043
+#, c-format
 msgid "Usage: %s [options] [target] ...\n"
 msgstr "Gebruik: %s [opties] [doel] ...\n"
 
-#: main.c:1492
+#: main.c:2045
 msgid "Options:\n"
 msgstr "Opties:\n"
 
-#: main.c:1967
-#, possible-c-format
-msgid "%sGNU Make version %s"
-msgstr "%sGNU Make versie %s"
+#: main.c:2126
+msgid "\nReport bugs to <bug-make@gnu.org>.\n"
+msgstr ""
+"\n"
+"Meld fouten aan <bug-make@gnu.org>;\n"
+"meld fouten in de vertaling aan <nl@li.org>.\n"
 
-#: main.c:1971
-#, possible-c-format
+#: main.c:2235
+#, c-format
+msgid "the `-%c' option requires a positive integral argument"
+msgstr "de `-%c' optie vereist een positief integraal argument"
+
+#: main.c:2659
+#, c-format
 msgid ""
 ", by Richard Stallman and Roland McGrath.\n"
-"%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95 Free Software Foundation, Inc.\n"
+"%sBuilt for %s\n"
+"%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99\n"
+"%s\tFree Software Foundation, Inc.\n"
 "%sThis is free software; see the source for copying conditions.\n"
 "%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n"
 "%sPARTICULAR PURPOSE.\n"
 "\n"
+"%sReport bugs to <bug-make@gnu.org>.\n"
+"\n"
 msgstr ""
 ", door Richard Stallman en Roland McGrath.\n"
-"%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95 Free Software Foundation, Inc.\n"
-"%sDit is vrije software; bekijk de broncode voor copieer condities.\n"
-"%sEr is GEEN garantie; niet voor VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN\n"
-"%sSPECIFIC DOEL.\n"
+"%sGebouwd voor %s\n"
+"%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99\n"
+"%s\tFree Software Foundation, Inc.\n"
+"%sDit is vrije software; bekijk de broncode voor kopieervoorwaarden.\n"
+"%sEr is GEEN garantie; zelfs niet voor VERKOOPBAARHEID of GESCHIKTHEID\n"
+"%sVOOR EEN SPECIFIC DOEL.\n"
 "\n"
-
-#: main.c:1993
-#, possible-c-format
-msgid ""
+"%sMeld fouten in het programma aan <bug-make@gnu.org>; meld fouten in de vertaling aan <nl@li.org>.\n"
 "\n"
-"# Make data base, printed on %s"
-msgstr "\n# Make data base, geprint op %s"
 
-#: main.c:2002
-#, possible-c-format
-msgid ""
-"\n"
-"# Finished Make data base on %s\n"
-msgstr "\n# Klaar met Make data base op %s\n"
+#: main.c:2685
+#, c-format
+msgid "\n# Make data base, printed on %s"
+msgstr "\n# Make database, afgedrukt op %s"
+
+#: main.c:2694
+#, c-format
+msgid "\n# Finished Make data base on %s\n"
+msgstr "\n# Klaar met Make database op %s\n"
 
-#: main.c:2053
+#: main.c:2749
 msgid "Entering"
 msgstr "Binnengaan van"
 
-#: main.c:2053
+#: main.c:2749
 msgid "Leaving"
-msgstr "Verdwijnen uit"
+msgstr "Weggaan uit"
 
-#: main.c:2072
+#: main.c:2768
 msgid "an unknown directory"
-msgstr "een onbekende directory"
+msgstr "een onbekende map"
 
-#: main.c:2074
-#, possible-c-format
+#: main.c:2770
+#, c-format
 msgid "directory `%s'\n"
-msgstr "directory `%s'\n"
+msgstr "map `%s'\n"
 
-#: misc.c:212 misc.c:260
+#: misc.c:307
 msgid ".  Stop.\n"
 msgstr ".  Stop.\n"
 
-#: misc.c:277
-msgid "Unknown error 12345678901234567890"
-msgstr "Onbekende fout 12345678901234567890"
-
-#: misc.c:282
-#, possible-c-format
+#: misc.c:329
+#, c-format
 msgid "Unknown error %d"
 msgstr "Onbekende fout %d"
 
-#: misc.c:318 misc.c:330 read.c:2151
+#: misc.c:369 misc.c:384 misc.c:402 read.c:2708
 msgid "virtual memory exhausted"
 msgstr "geen virtueel geheugen meer beschikbaar"
 
-#: misc.c:536
-#, possible-c-format
-msgid "%s access: user %d (real %d), group %d (real %d)\n"
-msgstr "%s toegang: gebruiker %d (werkelijk %d), groep %d (werkelijk %d)\n"
+#. All the other debugging messages go to stdout,
+#. but we write this one to stderr because it might be
+#. run in a child fork whose stdout is piped.
+#: misc.c:653
+#, c-format
+msgid "%s access: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s toegang: gebruiker %lu (werkelijk %lu), groep %lu (werkelijk %lu)\n"
 
-#: misc.c:556
+#: misc.c:674
 msgid "Initialized"
 msgstr "Geïnitialiseerd"
 
-#: misc.c:635
-msgid "User"
-msgstr "Gebruiker"
-
-#: misc.c:683
-msgid "Make"
-msgstr "Maak"
-
-#: misc.c:717
-msgid "Child"
-msgstr "Sub-proces"
+#: read.c:153
+msgid "Reading makefiles...\n"
+msgstr "Inlezen makefiles...\n"
 
-#: read.c:129
-msgid "Reading makefiles..."
-msgstr "Lezen maakbestanden..."
-
-#: read.c:298
-#, possible-c-format
+#: read.c:337
+#, c-format
 msgid "Reading makefile `%s'"
-msgstr "Lezen maakbestand `%s'"
+msgstr "Lezen makefile `%s'"
 
-#: read.c:300
+#: read.c:339
 msgid " (no default goal)"
 msgstr " (geen standaard doel)"
 
-#: read.c:302
+#: read.c:341
 msgid " (search path)"
-msgstr " (zoek pad)"
+msgstr " (zoekpad)"
 
-#: read.c:304
+#: read.c:343
 msgid " (don't care)"
 msgstr " (kan me niet schelen)"
 
-#: read.c:306
+#: read.c:345
 msgid " (no ~ expansion)"
 msgstr " (geen ~ expansie)"
 
-#: read.c:466
+#: read.c:525
 msgid "invalid syntax in conditional"
 msgstr "ongeldige syntax in conditie"
 
-#: read.c:474
+#: read.c:534
 msgid "extraneous `endef'"
-msgstr "extraneous `endef'"
+msgstr "extra `endef'"
+
+#: read.c:546 read.c:573 variable.c:873
+msgid "empty variable name"
+msgstr "lege variabelenaam"
 
-#: read.c:500 read.c:522
+#: read.c:564
 msgid "empty `override' directive"
-msgstr "lege `overschrijf' directief"
+msgstr "lege `override' opdracht"
 
-#: read.c:584
-#, possible-c-format
+#: read.c:587
+msgid "invalid `override' directive"
+msgstr "ongeldige `override' opdracht"
+
+#: read.c:671
+#, c-format
 msgid "no file name for `%sinclude'"
 msgstr "geen bestandsnaam voor `%sinclude'"
 
-#: read.c:670
+#. This line starts with a tab but was not caught above
+#. because there was no preceding target, and the line
+#. might have been usable as a variable definition.
+#. But now it is definitely lossage.
+#: read.c:738
 msgid "commands commence before first target"
-msgstr "commando's vangen aan voor het eerste doel"
+msgstr "commando's beginnen voor het eerste doel"
 
-#: read.c:714
+#: read.c:787
 msgid "missing rule before commands"
 msgstr "ontbrekende regel voor commando's"
 
-#: read.c:733
-msgid "missing separator"
-msgstr "ontbrekend scheidingsteken"
+#. There's no need to be ivory-tower about this: check for
+#. one of the most common bugs found in makefiles...
+#: read.c:873
+#, c-format
+msgid "missing separator%s"
+msgstr "ontbrekend scheidingsteken%s"
+
+#: read.c:875
+msgid " (did you mean TAB instead of 8 spaces?)"
+msgstr " (bedoelde u TAB in plaats van 8 spaties?)"
 
-#: read.c:782
+#: read.c:1011
 msgid "missing target pattern"
 msgstr "ontbrekend doel patroon"
 
-#: read.c:784
+#: read.c:1013
 msgid "multiple target patterns"
 msgstr "meerdere doel patronen"
 
-#: read.c:789
+#: read.c:1017
 msgid "target pattern contains no `%%'"
 msgstr "doel patroon bevat geen `%%'"
 
-#: read.c:829
+#: read.c:1058
 msgid "missing `endif'"
-msgstr "ontbrekend `endif'"
+msgstr "ontbrekende `endif'"
 
-#: read.c:887
+#: read.c:1117
 msgid "Extraneous text after `endef' directive"
-msgstr "Extraneous tekst na `endef' directief"
+msgstr "Extra tekst na `endef' opdracht"
 
-#: read.c:917
+#. No `endef'!!
+#: read.c:1147
 msgid "missing `endef', unterminated `define'"
-msgstr "onbrekend `endef', niet getermineerde `define'"
+msgstr "onbrekende `endef', niet afgesloten `define'"
 
-#: read.c:973 read.c:1120
-#, possible-c-format
+#: read.c:1201 read.c:1357
+#, c-format
 msgid "Extraneous text after `%s' directive"
-msgstr "Extraneous tekst na `%s' directief"
+msgstr "Extra tekst na `%s' opdracht"
 
-#: read.c:977
-#, possible-c-format
+#: read.c:1204
+#, c-format
 msgid "extraneous `%s'"
-msgstr ""
+msgstr "extra `%s'"
 
-#: read.c:982
+#: read.c:1209
 msgid "only one `else' per conditional"
-msgstr "slecht een `else' per conditie"
+msgstr "slechts Ã©Ã©n `else' per voorwaarde"
+
+#: read.c:1471
+msgid "Malformed per-target variable definition"
+msgstr "Foutieve definitie van per-doel variabele"
 
-#: read.c:1230
+#: read.c:1553
 msgid "mixed implicit and static pattern rules"
 msgstr "gemengde impliciete en statische patroon regels"
 
-#: read.c:1233
+#: read.c:1556
 msgid "mixed implicit and normal rules"
 msgstr "gemengde implicite en normale regels"
 
-#: read.c:1273
-#, possible-c-format
+#: read.c:1597
+#, c-format
 msgid "target `%s' doesn't match the target pattern"
 msgstr "doel `%s' komt niet overeen met doel patroon"
 
-#: read.c:1305 read.c:1407
-#, possible-c-format
+#: read.c:1619
+#, c-format
+msgid "target `%s' leaves prerequisite pattern empty"
+msgstr "doel `%s' laat afhankelijkheidspatroon leeg"
+
+#: read.c:1635 read.c:1735
+#, c-format
 msgid "target file `%s' has both : and :: entries"
 msgstr "doel bestand `%s' heeft zowel : als :: ingangen"
 
-#: read.c:1313
-#, possible-c-format
+#: read.c:1641
+#, c-format
 msgid "target `%s' given more than once in the same rule."
-msgstr "doel `%s' komt meer dan een maal voor in dezelfde regel."
+msgstr "doel `%s' komt meer dan eens voor in dezelfde regel."
 
-#: read.c:1322
-#, possible-c-format
+# fixme
+#: read.c:1650
+#, c-format
 msgid "warning: overriding commands for target `%s'"
 msgstr "let op: overschrijven commando's voor doel `%s'"
 
-#: read.c:1325
-#, possible-c-format
+#: read.c:1653
+#, c-format
 msgid "warning: ignoring old commands for target `%s'"
-msgstr "let op: negeren oude commando's voor doel `%s'"
-
-#: read.c:1815
+msgstr "let op: oude commando's voor doel `%s' worden genegeerd"
+
+#. This only happens when the first thing on the line is a '\0'.
+#. It is a pretty hopeless case, but (wonder of wonders) Athena
+#. lossage strikes again!  (xmkmf puts NULs in its makefiles.)
+#. There is nothing really to be done; we synthesize a newline so
+#. the following line doesn't appear to be part of this line.
+#: read.c:2153
 msgid "warning: NUL character seen; rest of line ignored"
-msgstr "let op: NUL karakter aanwezig; rest van regel genegeerd"
+msgstr "let op: NULteken aanwezig; rest van regel genegeerd"
 
-#: remake.c:212
-#, possible-c-format
+#: remake.c:227
+#, c-format
 msgid "Nothing to be done for `%s'."
 msgstr "Niets te doen voor `%s'."
 
-#: remake.c:213
-#, possible-c-format
+#: remake.c:228
+#, c-format
 msgid "`%s' is up to date."
-msgstr ""
+msgstr "`%s' is up to date."
+
+#: remake.c:296
+#, c-format
+msgid "Pruning file `%s'.\n"
+msgstr "Bestand `%s' wordt opgeruimd.\n"
 
-#: remake.c:310
-#, possible-c-format
+#: remake.c:350
+#, c-format
 msgid "Considering target file `%s'.\n"
-msgstr "Overwegen doel bestand `%s'.\n"
+msgstr "Doelbestand `%s' wordt overwogen.\n"
 
-#: remake.c:316
-#, possible-c-format
+#: remake.c:357
+#, c-format
 msgid "Recently tried and failed to update file `%s'.\n"
 msgstr "Recentelijk geprobeerd en gefaald bij updaten bestand `%s'.\n"
 
-#: remake.c:320
-#, possible-c-format
+#: remake.c:361
+#, c-format
 msgid "File `%s' was considered already.\n"
-msgstr "Bestand `%s' was reeds in overweging genomen. (FIXME)\n"
+msgstr "Bestand `%s' was reeds in overweging genomen.\n"
 
-#: remake.c:330
-#, possible-c-format
+#: remake.c:371
+#, c-format
 msgid "Still updating file `%s'.\n"
-msgstr "Immer updaten bestand `%s'.\n"
+msgstr "Bestand `%s' wordt nog steeds bijgewerkt.\n"
 
-#: remake.c:333
-#, possible-c-format
+#: remake.c:374
+#, c-format
 msgid "Finished updating file `%s'.\n"
-msgstr "Klaar met updaten bestand `%s'.\n"
+msgstr "Klaar met bijwerken bestand `%s'.\n"
 
-#: remake.c:354
-#, possible-c-format
+#: remake.c:395
+#, c-format
 msgid "File `%s' does not exist.\n"
 msgstr "Bestand `%s' bestaat niet.\n"
 
-#: remake.c:364 remake.c:728
-#, possible-c-format
+#: remake.c:405 remake.c:825
+#, c-format
 msgid "Found an implicit rule for `%s'.\n"
 msgstr "Implicite regel gevonden voor `%s'.\n"
 
-#: remake.c:366 remake.c:730
-#, possible-c-format
+#: remake.c:407 remake.c:827
+#, c-format
 msgid "No implicit rule found for `%s'.\n"
 msgstr "Geen implicite regel gevonden voor `%s'.\n"
 
-#: remake.c:372 remake.c:736
-#, possible-c-format
+#: remake.c:413 remake.c:833
+#, c-format
 msgid "Using default commands for `%s'.\n"
-msgstr "Gebruik standaard commando's voor `%s'.\n"
+msgstr "Gebruiken standaard commando's voor `%s'.\n"
 
-#: remake.c:392 remake.c:760
-#, possible-c-format
+#: remake.c:433 remake.c:857
+#, c-format
 msgid "Circular %s <- %s dependency dropped."
 msgstr "Niet doorgegaan met rondgaande %s <- %s afhankelijkheid."
 
-#: remake.c:474
-#, possible-c-format
-msgid "Finished dependencies of target file `%s'.\n"
+#: remake.c:511
+#, c-format
+msgid "Finished prerequisites of target file `%s'.\n"
 msgstr "Klaar met afhankelijkheden voor doel bestand `%s'.\n"
 
-#: remake.c:480
-#, possible-c-format
-msgid "The dependencies of `%s' are being made.\n"
+#: remake.c:517
+#, c-format
+msgid "The prerequisites of `%s' are being made.\n"
 msgstr "De afhankelijkheden voor `%s' worden gemaakt.\n"
 
-#: remake.c:493
-#, possible-c-format
+#: remake.c:530
+#, c-format
 msgid "Giving up on target file `%s'.\n"
 msgstr "Geef het op voor doel bestand `%s'.\n"
 
-#: remake.c:497
-#, possible-c-format
+#: remake.c:535
+#, c-format
 msgid "Target `%s' not remade because of errors."
 msgstr "Doel `%s' niet opnieuw gemaakt vanwege fouten."
 
-#: remake.c:542
-#, possible-c-format
-msgid "Dependency `%s' does not exist.\n"
-msgstr "Afhankelijkheid `%s' bestaat niet.\n"
+#: remake.c:583
+#, c-format
+msgid "Prerequisite `%s' of target `%s' does not exist.\n"
+msgstr "Afhankelijke `%s' van doel `%s' bestaat niet.\n"
 
-#: remake.c:544
-#, possible-c-format
-msgid "Dependency `%s' is %s than dependent `%s'.\n"
-msgstr "Afhankelijkheid `%s' is %s dan afhankelijke `%s'.\n"
-
-#: remake.c:545
-msgid "newer"
-msgstr "nieuwer"
+#: remake.c:588
+#, c-format
+msgid "Prerequisite `%s' is newer than target `%s'.\n"
+msgstr "Afhankelijkheid `%s' is nieuwer dan afhankelijke `%s'.\n"
 
-#: remake.c:545
-msgid "older"
-msgstr "ouder"
+#: remake.c:591
+#, c-format
+msgid "Prerequisite `%s' is older than target `%s'.\n"
+msgstr "Afhankelijkheid `%s' is ouder dan afhankelijke `%s'.\n"
 
-#: remake.c:556
-#, possible-c-format
-msgid "Target `%s' is double-colon and has no dependencies.\n"
+#: remake.c:609
+#, c-format
+msgid "Target `%s' is double-colon and has no prerequisites.\n"
 msgstr "Doel `%s' is dubbele punt en heeft geen afhankelijkheden.\n"
 
-#: remake.c:561
-#, possible-c-format
-msgid "No commands for `%s' and no dependencies actually changed.\n"
+#: remake.c:615
+#, c-format
+msgid "No commands for `%s' and no prerequisites actually changed.\n"
 msgstr "Geen commando's voor `%s' en geen gewijzigde afhankelijkheden.\n"
 
-#: remake.c:566
-#, possible-c-format
-msgid "No need to remake target `%s'.\n"
-msgstr "Geen reden voor opnieuw aanmaken van doel `%s'.\n"
+#: remake.c:623
+#, c-format
+msgid "No need to remake target `%s'"
+msgstr "Doel `%s' hoeft niet opnieuw gemaakt te worden."
 
-#: remake.c:571
-#, possible-c-format
+#: remake.c:625
+#, c-format
+msgid "; using VPATH name `%s'"
+msgstr "; VPATH naam `%s' wordt gebruikt"
+
+#: remake.c:645
+#, c-format
 msgid "Must remake target `%s'.\n"
 msgstr "Doel `%s' moet opnieuw gemaakt worden.\n"
 
-#: remake.c:578
-#, possible-c-format
+#: remake.c:651
+#, c-format
+msgid "  Ignoring VPATH name `%s'.\n"
+msgstr "  VPATH naam `%s' wordt genegeerd.\n"
+
+#: remake.c:660
+#, c-format
 msgid "Commands of `%s' are being run.\n"
 msgstr "Commando's van `%s' worden uitgevoerd.\n"
 
-#: remake.c:585
-#, possible-c-format
+#: remake.c:667
+#, c-format
 msgid "Failed to remake target file `%s'.\n"
-msgstr "Gefaald bij opnieuw aanmaken van doel bestand `%s'.\n"
+msgstr "Opnieuw aanmaken van doelbestand `%s' is mislukt.\n"
 
-#: remake.c:588
-#, possible-c-format
+#: remake.c:670
+#, c-format
 msgid "Successfully remade target file `%s'.\n"
-msgstr "Succesvol opnieuw doel bestand `%s' aangemaakt.\n"
+msgstr "Succesvol het doel bestand `%s' opnieuw aangemaakt.\n"
 
-#: remake.c:591
-#, possible-c-format
+#: remake.c:673
+#, c-format
 msgid "Target file `%s' needs remade under -q.\n"
-msgstr "Doel bestand `%s' dient opnieuw aangemaakt te worden onder -q.\n"
+msgstr "Doel bestand `%s' dient opnieuw aangemaakt te worden met -q.\n"
 
-#: remake.c:880
-#, possible-c-format
+#: remake.c:974
+#, c-format
 msgid "%sNo rule to make target `%s'%s"
 msgstr "%sGeen regel voor het maken van doel `%s'%s"
 
-#: remake.c:882
-#, possible-c-format
+#: remake.c:976
+#, c-format
 msgid "%sNo rule to make target `%s', needed by `%s'%s"
 msgstr "%sGeen regel voor aanmaken doel `%s', nodig voor `%s'%s"
 
-#: remake.c:1053
-#, possible-c-format
-msgid "*** File `%s' has modification time in the future"
-msgstr "*** Bestand `%s' heeft een wijzigingstijd in de toekomst"
-
-#: remote-cstms.c:94
-#, possible-c-format
-msgid "Customs won't export: %s\n"
-msgstr "Customs zullen niet exporteren: %s\n"
-
-#: remote-cstms.c:129
-msgid "exporting: Couldn't create return socket."
-msgstr "exporteren: Kan geen return socket aanmaken."
-
-#: remote-cstms.c:138
-msgid "exporting: "
-msgstr "exporteren: "
-
-#: remote-cstms.c:171
-#, possible-c-format
-msgid "exporting: %s"
-msgstr "exporteren: %s"
+#: remake.c:1177
+#, c-format
+msgid "*** Warning: File `%s' has modification time in the future (%s > %s)"
+msgstr "*** Let op: Bestand `%s' heeft een wijzigingstijd in de toekomst (%s > %s)"
 
-#: remote-cstms.c:185
-#, possible-c-format
-msgid "Job exported to %s ID %u\n"
-msgstr "Job geëxporteerd naar %s ID %u\n"
-
-#: rule.c:556
-msgid ""
-"\n"
-"# Implicit Rules"
-msgstr "\n# Impliciete regels"
+#. Give a warning if there is no pattern, then remove the
+#. pattern so it's ignored next time.
+#: remake.c:1291
+#, c-format
+msgid ".LIBPATTERNS element `%s' is not a pattern"
+msgstr ".LIBPATTERNS onderdeel `%s' is geen patroon"
 
-#: rule.c:571
-msgid ""
-"\n"
-"# No implicit rules."
+#: rule.c:671
+msgid "\n# No implicit rules."
 msgstr "\n# Geen implicite regels."
 
-#: rule.c:574
-#, possible-c-format
-msgid ""
-"\n"
-"# %u implicit rules, %u"
+#: rule.c:674
+#, c-format
+msgid "\n# %u implicit rules, %u"
 msgstr "\n# %u implicite regels, %u"
 
-#: rule.c:583
+#: rule.c:683
 msgid " terminal."
-msgstr ""
+msgstr " terminal."
 
-#: rule.c:587
-#, possible-c-format
+#: rule.c:691
+#, c-format
 msgid "BUG: num_pattern_rules wrong!  %u != %u"
 msgstr "BUG: onjuist aantal patroon regels!  %u != %u"
 
-#: variable.c:658 variable.c:660
-msgid "empty variable name"
-msgstr "lege variabele naam"
+#: rule.c:695
+msgid "\n# Pattern-specific variable values"
+msgstr "\n# Patroon-specifieke waarden van variabelen"
 
-#: variable.c:742
-msgid "makefile"
-msgstr "maakbestand"
+#: rule.c:710
+msgid "\n# No pattern-specific variable values."
+msgstr "\n# Geen patroon-specifieke waarden van variabelen."
 
-#: variable.c:745
-msgid "environment under -e"
-msgstr "omgeving onder -e"
+#: rule.c:713
+#, c-format
+msgid "\n# %u pattern-specific variable values"
+msgstr "\n# %u patroon-specifieke waarden van variabelen"
 
-#: variable.c:751
-msgid "`override' directive"
-msgstr "`overschrijf' directief"
-
-#: variable.c:822
-msgid "# No variables."
-msgstr "# Geen variabelen."
-
-#: variable.c:825
-#, possible-c-format
-msgid "# %u variables in %u hash buckets.\n"
-msgstr "# %u variabelen in %u hash buckets.\n"
-
-#: variable.c:828
-#, possible-c-format
-msgid "# average of %.1f variables per bucket, max %u in one bucket.\n"
-msgstr "# gemiddelde van %.1f variabelen per bucket, maximaal %u in een bucket.\n"
-
-#: variable.c:835
-#, possible-c-format
-msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n"
-msgstr "# gemiddelde van %d.%d variabelen per bucket, maximaal %u in een bucket.\n"
-
-#: variable.c:850
-msgid ""
-"\n"
-"# Variables\n"
-msgstr "\n# Variabelen\n"
-
-#: vpath.c:455
-msgid ""
-"\n"
-"# VPATH Search Paths\n"
-msgstr "\n# VPATH Zoekpaden\n"
-
-#: vpath.c:472
-msgid "# No `vpath' search paths."
-msgstr "# Geen `vpath' zoekpaden."
-
-#: vpath.c:474
-#, possible-c-format
-msgid ""
-"\n"
-"# %u `vpath' search paths.\n"
-msgstr "\n# %u `vpath' zoekpaden.\n"
-
-#: vpath.c:477
-msgid ""
-"\n"
-"# No general (`VPATH' variable) search path."
-msgstr "\n# Geen standaard (`VPATH' variabele) zoekpad."
-
-#: vpath.c:483
-msgid ""
-"\n"
-"# General (`VPATH' variable) search path:\n"
-"# "
-msgstr ""
-"\n"
-"# Algemeen (`VPATH' variabele) zoekpad:\n"
-"# "
-
-#: getloadavg.c:948
-msgid "Error getting load average"
-msgstr "Fout bij achterhalen belastingsgemiddelde"
-
-#: getloadavg.c:952
-#, possible-c-format
-msgid "1-minute: %f  "
-msgstr "1-minuut: %f  "
-
-#: getloadavg.c:954
-#, possible-c-format
-msgid "5-minute: %f  "
-msgstr "5-minuten: %f  "
-
-#: getloadavg.c:956
-#, possible-c-format
-msgid "15-minute: %f  "
-msgstr "15-minuten: %f  "
-
-#: getopt.c:565
-#, possible-c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: optie `%s' is niet eenduidig\n"
-
-#: getopt.c:589
-#, possible-c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: optie `--%s' staat geen argument toe\n"
-
-#: getopt.c:594
-#, possible-c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: optie `%c%s' staat geen argument toe\n"
-
-#: getopt.c:611
-#, possible-c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: optie `%s' vereist een argument\n"
-
-#: getopt.c:640
-#, possible-c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: onbekende optie `--%s'\n"
-
-#: getopt.c:644
-#, possible-c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: onbekende optie `%c%s'\n"
-
-#: getopt.c:670
-#, possible-c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ongeldige optie -- %c\n"
-
-#: getopt.c:673
-#, possible-c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: onjuiste optie -- %c\n"
-
-#: getopt.c:709
-#, possible-c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: optie vereist een argument -- %c\n"
-
-#: getopt.c:777 getopt1.c:141
-msgid "digits occur in two different argv-elements.\n"
-msgstr "cijfers komen voor in twee verschillende argv-elementen.\n"
-
-#: getopt.c:779 getopt1.c:143
-#, possible-c-format
-msgid "option %c\n"
-msgstr "optie %c\n"
-
-#: getopt.c:783 getopt1.c:147
-msgid "option a\n"
-msgstr "optie a\n"
-
-#: getopt.c:787 getopt1.c:151
-msgid "option b\n"
-msgstr "optie b\n"
-
-#: getopt.c:791 getopt1.c:155
-#, possible-c-format
-msgid "option c with value `%s'\n"
-msgstr "optie c met waarde `%s'\n"
-
-#: getopt.c:798 getopt1.c:166
-#, possible-c-format
-msgid "?? getopt returned character code 0%o ??\n"
-msgstr "?? getopt geeft karakter code 0%o ??\n"
-
-#: getopt.c:804 getopt1.c:172
-msgid "non-option ARGV-elements: "
-msgstr "niet-optionele ARGV-elementen: "
-
-#: getopt1.c:159
-#, possible-c-format
-msgid "option d with value `%s'\n"
-msgstr "optie d met waarde `%s'\n"
-
-#: signame.c:57
+#: signame.c:97
 msgid "unknown signal"
 msgstr "onbekend signaal"
 
-#: signame.c:107
+#: signame.c:108
 msgid "Hangup"
-msgstr "Ophangen"
+msgstr "Opgehangen"
 
-#: signame.c:110
+#: signame.c:111
 msgid "Interrupt"
-msgstr "Interrupt"
+msgstr "Onderbroken"
 
-#: signame.c:113
+#: signame.c:114
 msgid "Quit"
-msgstr "Quit"
+msgstr "Beëindigd"
 
-#: signame.c:116
+#: signame.c:117
 msgid "Illegal Instruction"
 msgstr "Ongeldige instructie"
 
-#: signame.c:119
+#: signame.c:120
 msgid "Trace/breakpoint trap"
-msgstr "Trace/breakpoint trap"
+msgstr "Trace/breekpunt afgevangen"
 
-#: signame.c:124
+#: signame.c:125
 msgid "Aborted"
 msgstr "Afgebroken"
 
-#: signame.c:127
+#: signame.c:128
 msgid "IOT trap"
-msgstr "IOT trap"
+msgstr "IOT opgevangen"
 
-#: signame.c:130
+#: signame.c:131
 msgid "EMT trap"
-msgstr "EMT trap"
+msgstr "EMT opgevangen"
 
-#: signame.c:133
+#: signame.c:134
 msgid "Floating point exception"
-msgstr "Drijvende komma exceptie"
+msgstr "Drijvende komma uitzondering"
 
-#: signame.c:136
+#: signame.c:137
 msgid "Killed"
 msgstr "Gedood"
 
-#: signame.c:139
+#: signame.c:140
 msgid "Bus error"
 msgstr "Bus fout"
 
-#: signame.c:142
+#: signame.c:143
 msgid "Segmentation fault"
 msgstr "Segmentatie fout"
 
-#: signame.c:145
+#: signame.c:146
 msgid "Bad system call"
 msgstr "Onjuiste systeem aanroep"
 
-#: signame.c:148
+#: signame.c:149
 msgid "Broken pipe"
-msgstr "Gebroken doorsturing"
+msgstr "Onderbroken pijp"
 
-#: signame.c:151
+#: signame.c:152
 msgid "Alarm clock"
 msgstr "Alarmklok"
 
-#: signame.c:154
+#: signame.c:155
 msgid "Terminated"
-msgstr "Getermineerd"
+msgstr "Afgesloten"
 
-#: signame.c:157
+#: signame.c:158
 msgid "User defined signal 1"
-msgstr "Gebruiker gedefinieerd singaal 1"
+msgstr "Gebruiker gedefinieerd signaal 1"
 
-#: signame.c:160
+#: signame.c:161
 msgid "User defined signal 2"
 msgstr "Gebruiker gedefinieerd signaal 2"
 
-#: signame.c:165 signame.c:168
+#: signame.c:166 signame.c:169
 msgid "Child exited"
-msgstr "Sub-proces afgelopen"
+msgstr "Kind is beëindigd"
 
-#: signame.c:171
+#: signame.c:172
 msgid "Power failure"
-msgstr "Voeding faald"
+msgstr "Voeding faalt"
 
-#: signame.c:174
+#: signame.c:175
 msgid "Stopped"
 msgstr "Gestopt"
 
-#: signame.c:177
+#: signame.c:178
 msgid "Stopped (tty input)"
-msgstr "Gestopt (tty invoer)"
+msgstr "Gestopt (invoer van terminal)"
 
-#: signame.c:180
+#: signame.c:181
 msgid "Stopped (tty output)"
-msgstr "Gestopt (tty uitvoer)"
+msgstr "Gestopt (uitvoer naar terminal)"
 
-#: signame.c:183
+#: signame.c:184
 msgid "Stopped (signal)"
 msgstr "Gestopt (signaal)"
 
-#: signame.c:186
+#: signame.c:187
 msgid "CPU time limit exceeded"
 msgstr "CPU tijd limiet overschreden"
 
-#: signame.c:189
+#: signame.c:190
 msgid "File size limit exceeded"
 msgstr "Bestandsgroottelimiet overschreden"
 
-#: signame.c:192
+#: signame.c:193
 msgid "Virtual timer expired"
 msgstr "Virtuele timer afgelopen"
 
-#: signame.c:195
+#: signame.c:196
 msgid "Profiling timer expired"
 msgstr "Profiling timer afgelopen"
 
-#: signame.c:201
+#. "Window size changed" might be more accurate, but even if that
+#. is all that it means now, perhaps in the future it will be
+#. extended to cover other kinds of window changes.
+#: signame.c:202
 msgid "Window changed"
 msgstr "Venster gewijzigd"
 
-#: signame.c:204
+#: signame.c:205
 msgid "Continued"
-msgstr "Gecontinueerd"
+msgstr "Doorgaan"
 
-#: signame.c:207
+#: signame.c:208
 msgid "Urgent I/O condition"
 msgstr "Urgente I/O conditie"
 
-#: signame.c:214 signame.c:223
+#. "I/O pending" has also been suggested.  A disadvantage is
+#. that signal only happens when the process has
+#. asked for it, not everytime I/O is pending.  Another disadvantage
+#. is the confusion from giving it a different name than under Unix.
+#: signame.c:215 signame.c:224
 msgid "I/O possible"
 msgstr "I/O mogelijk"
 
-#: signame.c:217
+#: signame.c:218
 msgid "SIGWIND"
 msgstr "SIGWIND"
 
-#: signame.c:220
+#: signame.c:221
 msgid "SIGPHONE"
 msgstr "SIGPHONE"
 
-#: signame.c:226
+#: signame.c:227
 msgid "Resource lost"
-msgstr "Resource verloren"
+msgstr "Bron verloren"
 
-#: signame.c:229
+#: signame.c:230
 msgid "Danger signal"
 msgstr "Gevaar signaal"
 
-#: signame.c:232
+#: signame.c:233
 msgid "Information request"
 msgstr "Verzoek om informatie"
 
-#: signame.c:286
-#, possible-c-format
-msgid "%s: unknown signal"
-msgstr "%s: onbekend signaal"
+#: signame.c:236
+msgid "Floating point co-processor not available"
+msgstr "Drijvende komma co-processor niet beschikbaar"
+
+#: variable.c:1079
+msgid "default"
+msgstr "standaard"
+
+#: variable.c:1082
+msgid "environment"
+msgstr "omgeving"
+
+#: variable.c:1085
+msgid "makefile"
+msgstr "maakbestand"
+
+#: variable.c:1088
+msgid "environment under -e"
+msgstr "omgeving onder -e"
+
+#: variable.c:1091
+msgid "command line"
+msgstr "commando-regel"
+
+#: variable.c:1094
+msgid "`override' directive"
+msgstr "`override' opdracht"
+
+#: variable.c:1097
+msgid "automatic"
+msgstr "automatisch"
+
+#: variable.c:1167
+msgid "# No variables."
+msgstr "# Geen variabelen."
+
+#: variable.c:1170
+#, c-format
+msgid "# %u variables in %u hash buckets.\n"
+msgstr "# %u variabelen in %u frommelbakjes.\n"
+
+#: variable.c:1173
+#, c-format
+msgid "# average of %.1f variables per bucket, max %u in one bucket.\n"
+msgstr "# gemiddelde van %.1f variabelen per bakje, maximaal %u in een bakje.\n"
+
+#: variable.c:1180
+#, c-format
+msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n"
+msgstr "# gemiddelde van %d.%d variabelen per bakje, maximaal %u in een bakje.\n"
+
+#: variable.c:1195
+msgid "\n# Variables\n"
+msgstr "\n# Variabelen\n"
+
+#: vpath.c:552
+msgid "\n# VPATH Search Paths\n"
+msgstr "\n# VPATH Zoekpaden\n"
+
+#: vpath.c:569
+msgid "# No `vpath' search paths."
+msgstr "# Geen `vpath' zoekpaden."
+
+#: vpath.c:571
+#, c-format
+msgid "\n# %u `vpath' search paths.\n"
+msgstr "\n# %u `vpath' zoekpaden.\n"
+
+#: vpath.c:574
+msgid "\n# No general (`VPATH' variable) search path."
+msgstr "\n# Geen standaard (`VPATH' variabele) zoekpad."
+
+#: vpath.c:580
+msgid ""
+"\n"
+"# General (`VPATH' variable) search path:\n"
+"# "
+msgstr ""
+"\n"
+"# Algemeen (`VPATH' variabele) zoekpad:\n"
+"# "
+
+# fixme
+#: remote-cstms.c:127
+#, c-format
+msgid "Customs won't export: %s\n"
+msgstr "Customs zullen niet exporteren: %s\n"
+
+#: vmsfunctions.c:80
+#, c-format
+msgid "sys$search failed with %d\n"
+msgstr "sys$search mislukte met %d\n"
+
+#~ msgid " (ignored)"
+#~ msgstr " (genegeerd)"
+
+#~ msgid "Error in lbr$ini_control, %d\n"
+#~ msgstr "Fout in lbr$ini_control, %d\n"
+
+#~ msgid "Error looking up module %s in library %s, %d\n"
+#~ msgstr "Fout bij opzoeken van module %s in bibliotheekbestand %s, %d\n"
+
+#~ msgid "Error getting module info, %d\n"
+#~ msgstr "Fout bij verkrijgen module informatie, %d\n"
+
+#~ msgid "touch: "
+#~ msgstr "touch: "
+
+#~ msgid " not"
+#~ msgstr " niet"
+
+#~ msgid "#  Last modified %.24s (%0lx)\n"
+#~ msgstr "#  Laatst gewijzigd %.24s (%0lx)\n"
+
+#~ msgid "undefined"
+#~ msgstr "ongedefinieerd"
+
+#~ msgid "file"
+#~ msgstr "bestand"
+
+#~ msgid "environment override"
+#~ msgstr "omgevings overschrijving (FIXME)"
+
+#~ msgid "override"
+#~ msgstr "overschrijf"
+
+#~ msgid "implicit"
+#~ msgstr "impliciet"
+
+#~ msgid "rule"
+#~ msgstr "regel"
+
+#~ msgid "Trying %s dependency `%s'.\n"
+#~ msgstr "Probeer %s afhankelijkheid `%s'.\n"
+
+#~ msgid "Found dependency as `%s'.%s\n"
+#~ msgstr "Afhankelijkheid gevonden als `%s'.%s\n"
+
+#~ msgid "intermediate"
+#~ msgstr "intermediair"
+
+#~ msgid "Unknown%s job %d"
+#~ msgstr "Onbekend%s job %d"
+
+#~ msgid " remote"
+#~ msgstr " op afstand"
+
+#~ msgid "%s finished."
+#~ msgstr "%s afgerond."
+
+#~ msgid "losing"
+#~ msgstr "verliezen"
+
+#~ msgid "winning"
+#~ msgstr "winnen"
+
+#~ msgid "%sGNU Make version %s"
+#~ msgstr "%sGNU Make versie %s"
+
+#~ msgid "Unknown error 12345678901234567890"
+#~ msgstr "Onbekende fout 12345678901234567890"
+
+#~ msgid "User"
+#~ msgstr "Gebruiker"
+
+#~ msgid "Make"
+#~ msgstr "Maak"
+
+#~ msgid "Child"
+#~ msgstr "Sub-proces"
+
+#~ msgid "Dependency `%s' does not exist.\n"
+#~ msgstr "Afhankelijkheid `%s' bestaat niet.\n"
+
+#~ msgid "newer"
+#~ msgstr "nieuwer"
+
+#~ msgid "older"
+#~ msgstr "ouder"
+
+#~ msgid "exporting: Couldn't create return socket."
+#~ msgstr "exporteren: Kan geen return socket aanmaken."
+
+#~ msgid "exporting: "
+#~ msgstr "exporteren: "
+
+#~ msgid "exporting: %s"
+#~ msgstr "exporteren: %s"
+
+#~ msgid "Job exported to %s ID %u\n"
+#~ msgstr "Job geëxporteerd naar %s ID %u\n"
+
+#~ msgid "\n# Implicit Rules"
+#~ msgstr "\n# Impliciete regels"
+
+#~ msgid "Error getting load average"
+#~ msgstr "Fout bij achterhalen belastingsgemiddelde"
+
+#~ msgid "1-minute: %f  "
+#~ msgstr "1-minuut: %f  "
+
+#~ msgid "5-minute: %f  "
+#~ msgstr "5-minuten: %f  "
+
+#~ msgid "15-minute: %f  "
+#~ msgstr "15-minuten: %f  "
+
+#~ msgid "digits occur in two different argv-elements.\n"
+#~ msgstr "cijfers komen voor in twee verschillende argv-elementen.\n"
+
+#~ msgid "option %c\n"
+#~ msgstr "optie %c\n"
+
+#~ msgid "option a\n"
+#~ msgstr "optie a\n"
+
+#~ msgid "option b\n"
+#~ msgstr "optie b\n"
+
+#~ msgid "option c with value `%s'\n"
+#~ msgstr "optie c met waarde `%s'\n"
+
+#~ msgid "?? getopt returned character code 0%o ??\n"
+#~ msgstr "?? getopt geeft karakter code 0%o ??\n"
+
+#~ msgid "non-option ARGV-elements: "
+#~ msgstr "niet-optionele ARGV-elementen: "
+
+#~ msgid "option d with value `%s'\n"
+#~ msgstr "optie d met waarde `%s'\n"
+
+#~ msgid "%s: unknown signal"
+#~ msgstr "%s: onbekend signaal"
 
-#: signame.c:299
-msgid "Signal 12345678901234567890"
-msgstr "Signaal 12345678901234567890"
+#~ msgid "Signal 12345678901234567890"
+#~ msgstr "Signaal 12345678901234567890"
 
-#: signame.c:304
-#, possible-c-format
-msgid "Signal %d"
-msgstr "Signaal %d"
+#~ msgid "Signal %d"
+#~ msgstr "Signaal %d"
diff --git a/job.c b/job.c
index ffa5e7b..3698f69 100644 (file)
--- a/job.c
+++ b/job.c
@@ -74,7 +74,6 @@ static int amiga_batch_file;
 #endif /* Amiga.  */
 
 #ifdef VMS
-# include <time.h>
 # ifndef __GNUC__
 #   include <processes.h>
 # endif
@@ -295,10 +294,10 @@ vms_redirect (desc, fname, ibuf)
   extern char *vmsify ();
 
   ibuf++;
-  while (isspace (*ibuf))
+  while (isspace ((unsigned char)*ibuf))
     ibuf++;
   fptr = ibuf;
-  while (*ibuf && !isspace (*ibuf))
+  while (*ibuf && !isspace ((unsigned char)*ibuf))
     ibuf++;
   *ibuf = 0;
   if (strcmp (fptr, "/dev/null") != 0)
@@ -890,7 +889,7 @@ start_job_command (child)
        flags |= COMMANDS_RECURSE;
       else if (*p == '-')
        child->noerror = 1;
-      else if (!isblank (*p))
+      else if (!isblank ((unsigned char)*p))
        break;
       ++p;
     }
@@ -1411,7 +1410,8 @@ new_job (file)
 
                          /* Discard any preceding whitespace that has
                             already been written to the output.  */
-                         while (out > ref && isblank (out[-1]))
+                         while (out > ref
+                                && isblank ((unsigned char)out[-1]))
                            --out;
 
                          /* Replace it all with a single space.  */
@@ -1806,7 +1806,7 @@ child_execute_job (argv, child)
 
   DB (DB_JOBS, ("child_execute_job (%s)\n", argv));
 
-  while (isspace (*argv))
+  while (isspace ((unsigned char)*argv))
     argv++;
 
   if (*argv == 0)
@@ -1831,9 +1831,9 @@ child_execute_job (argv, child)
            p++;
            if (*p == '\n')
              p++;
-           if (isspace (*p))
+           if (isspace ((unsigned char)*p))
              {
-               do { p++; } while (isspace (*p));
+               do { p++; } while (isspace ((unsigned char)*p));
                p--;
              }
            *q = *p;
@@ -1993,11 +1993,11 @@ child_execute_job (argv, child)
             case '\n':
               /* At a newline, skip any whitespace around a leading $
                  from the command and issue exactly one $ into the DCL. */
-              while (isspace (*p))
+              while (isspace ((unsigned char)*p))
                 p++;
               if (*p == '$')
                 p++;
-              while (isspace (*p))
+              while (isspace ((unsigned char)*p))
                 p++;
               fwrite (p, 1, q - p, outfile);
               fputc ('$', outfile);
@@ -2397,9 +2397,9 @@ construct_command_argv_internal (line, restp, shell, ifs, batch_filename_ptr)
   static char *sh_cmds_dos[] = { "break", "call", "cd", "chcp", "chdir", "cls",
                             "copy", "ctty", "date", "del", "dir", "echo",
                             "erase", "exit", "for", "goto", "if", "if", "md",
-                            "mkdir", "path", "pause", "prompt", "rem", "ren",
-                            "rename", "set", "shift", "time", "type",
-                            "ver", "verify", "vol", ":", 0 };
+                            "mkdir", "path", "pause", "prompt", "rd", "rem",
+                             "ren", "rename", "rmdir", "set", "shift", "time",
+                             "type", "ver", "verify", "vol", ":", 0 };
   static char sh_chars_sh[] = "#;\"*?[]&|<>(){}$`^";
   static char *sh_cmds_sh[] = { "cd", "eval", "exec", "exit", "login",
                             "logout", "set", "umask", "wait", "while", "for",
@@ -2444,7 +2444,7 @@ construct_command_argv_internal (line, restp, shell, ifs, batch_filename_ptr)
     *restp = NULL;
 
   /* Make sure not to bother processing an empty line.  */
-  while (isblank (*line))
+  while (isblank ((unsigned char)*line))
     ++line;
   if (*line == '\0')
     return 0;
@@ -2962,12 +2962,12 @@ construct_command_argv (line, restp, file, batch_filename_ptr)
   for (;;)
     {
       while ((*cptr != 0)
-            && (isspace (*cptr)))
+            && (isspace ((unsigned char)*cptr)))
        cptr++;
       if (*cptr == 0)
        break;
       while ((*cptr != 0)
-            && (!isspace(*cptr)))
+            && (!isspace((unsigned char)*cptr)))
        cptr++;
       argc++;
     }
@@ -2981,14 +2981,14 @@ construct_command_argv (line, restp, file, batch_filename_ptr)
   for (;;)
     {
       while ((*cptr != 0)
-            && (isspace (*cptr)))
+            && (isspace ((unsigned char)*cptr)))
        cptr++;
       if (*cptr == 0)
        break;
       DB (DB_JOBS, ("argv[%d] = [%s]\n", argc, cptr));
       argv[argc++] = cptr;
       while ((*cptr != 0)
-            && (!isspace(*cptr)))
+            && (!isspace((unsigned char)*cptr)))
        cptr++;
       if (*cptr != 0)
        *cptr++ = 0;
diff --git a/main.c b/main.c
index 35a388b..dccee19 100644 (file)
--- a/main.c
+++ b/main.c
@@ -853,6 +853,13 @@ int main (int argc, char ** argv)
   FATAL_SIG (SIGINT);
   FATAL_SIG (SIGTERM);
 
+#ifdef __MSDOS__
+  /* Windows 9X delivers FP exceptions in child programs to their
+     parent!  We don't want Make to die when a child divides by zero,
+     so we work around that lossage by catching SIGFPE.  */
+  FATAL_SIG (SIGFPE);
+#endif
+
 #ifdef SIGDANGER
   FATAL_SIG (SIGDANGER);
 #endif
@@ -1195,7 +1202,7 @@ int main (int argc, char ** argv)
   /* Figure out the level of recursion.  */
   {
     struct variable *v = lookup_variable ("MAKELEVEL", 9);
-    if (v != 0 && *v->value != '\0' && *v->value != '-')
+    if (v != 0 && v->value[0] != '\0' && v->value[0] != '-')
       makelevel = (unsigned int) atoi (v->value);
     else
       makelevel = 0;
@@ -2249,9 +2256,16 @@ decode_switches (argc, argv, env)
                  break;
 
                case positive_int:
-                 if (optarg == 0 && argc > optind
-                      && ISDIGIT (argv[optind][0]))
-                   optarg = argv[optind++];
+                  /* See if we have an option argument; if we do require that
+                     it's all digits, not something like "10foo".  */
+                 if (optarg == 0 && argc > optind)
+                    {
+                      const char *cp;
+                      for (cp=argv[optind]; ISDIGIT (cp[0]); ++cp)
+                        ;
+                      if (cp[0] == '\0')
+                        optarg = argv[optind++];
+                    }
 
                  if (!doit)
                    break;
@@ -2259,11 +2273,16 @@ decode_switches (argc, argv, env)
                  if (optarg != 0)
                    {
                      int i = atoi (optarg);
-                     if (i < 1)
+                      const char *cp;
+
+                      /* Yes, I realize we're repeating this in some cases.  */
+                      for (cp = optarg; ISDIGIT (cp[0]); ++cp)
+                        ;
+
+                     if (i < 1 || cp[0] != '\0')
                        {
-                         if (doit)
-                           error (NILF, _("the `-%c' option requires a positive integral argument"),
-                                  cs->c);
+                          error (NILF, _("the `-%c' option requires a positive integral argument"),
+                                 cs->c);
                          bad = 1;
                        }
                      else
@@ -2355,14 +2374,14 @@ decode_env_switches (envar, len)
     {
       if (*value == '\\' && value[1] != '\0')
        ++value;                /* Skip the backslash.  */
-      else if (isblank (*value))
+      else if (isblank ((unsigned char)*value))
        {
          /* End of the word.  */
          *p++ = '\0';
          argv[++argc] = p;
          do
            ++value;
-         while (isblank (*value));
+         while (isblank ((unsigned char)*value));
          continue;
        }
       *p++ = *value++;
@@ -2395,7 +2414,7 @@ quote_for_env (out, in)
     {
       if (*in == '$')
        *out++ = '$';
-      else if (isblank (*in) || *in == '\\')
+      else if (isblank ((unsigned char)*in) || *in == '\\')
         *out++ = '\\';
       *out++ = *in++;
     }
diff --git a/make.h b/make.h
index 7a3e536..16fcac7 100644 (file)
--- a/make.h
+++ b/make.h
@@ -72,7 +72,18 @@ Boston, MA 02111-1307, USA.  */
    <sys/timeb.h>?  If any does not, configure should check for it.  */
 # include <sys/timeb.h>
 #endif
-#include <time.h>
+
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# if HAVE_SYS_TIME_H
+#  include <sys/time.h>
+# else
+#  include <time.h>
+# endif
+#endif
+
 #include <errno.h>
 
 #ifndef errno
diff --git a/misc.c b/misc.c
index 6310f28..98dc7a9 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -120,7 +120,7 @@ collapse_continuations (line)
       if (backslash)
        {
          in = next_token (in);
-         while (out > line && isblank (out[-1]))
+         while (out > line && isblank ((unsigned char)out[-1]))
            --out;
          *out++ = ' ';
        }
@@ -478,7 +478,7 @@ char *
 end_of_token (s)
      char *s;
 {
-  while (*s != '\0' && !isblank (*s))
+  while (*s != '\0' && !isblank ((unsigned char)*s))
     ++s;
   return s;
 }
@@ -495,7 +495,8 @@ end_of_token_w32 (s, stopchar)
   register char *p = s;
   register int backslash = 0;
 
-  while (*p != '\0' && *p != stopchar && (backslash || !isblank (*p)))
+  while (*p != '\0' && *p != stopchar
+        && (backslash || !isblank ((unsigned char)*p)))
     {
       if (*p++ == '\\')
         {
@@ -522,7 +523,7 @@ next_token (s)
 {
   register char *p = s;
 
-  while (isblank (*p))
+  while (isblank ((unsigned char)*p))
     ++p;
   return p;
 }
diff --git a/read.c b/read.c
index f934460..7ef1081 100644 (file)
--- a/read.c
+++ b/read.c
@@ -293,7 +293,6 @@ read_makefile (filename, flags)
   int len, reading_target;
   int ignoring = 0, in_ignored_define = 0;
   int no_targets = 0;          /* Set when reading a rule without targets.  */
-  int using_filename = 0;
   struct floc fileinfo;
   char *passed_filename = filename;
 
@@ -319,7 +318,6 @@ read_makefile (filename, flags)
          record_files (filenames, pattern, pattern_percent, deps,            \
                         cmds_started, commands, commands_idx, two_colon,      \
                         &fi, !(flags & RM_NO_DEFAULT_GOAL));                  \
-          using_filename |= commands_idx > 0;                                 \
         }                                                                     \
       filenames = 0;                                                         \
       commands_idx = 0;                                                              \
@@ -550,7 +548,7 @@ read_makefile (filename, flags)
                 removed), so it could be a complex variable/function
                 reference that might contain blanks.  */
              p = strchr (p2, '\0');
-             while (isblank (p[-1]))
+             while (isblank ((unsigned char)p[-1]))
                --p;
              do_define (p2, p - p2, o_file, infile, &fileinfo);
            }
@@ -562,7 +560,8 @@ read_makefile (filename, flags)
          p2 = next_token (p + 8);
          if (*p2 == '\0')
            error (&fileinfo, _("empty `override' directive"));
-         if (strneq (p2, "define", 6) && (isblank (p2[6]) || p2[6] == '\0'))
+         if (strneq (p2, "define", 6)
+             && (isblank ((unsigned char)p2[6]) || p2[6] == '\0'))
            {
              if (ignoring)
                in_ignored_define = 1;
@@ -577,7 +576,7 @@ read_makefile (filename, flags)
                     removed), so it could be a complex variable/function
                     reference that might contain blanks.  */
                  p = strchr (p2, '\0');
-                 while (isblank (p[-1]))
+                 while (isblank ((unsigned char)p[-1]))
                    --p;
                  do_define (p2, p - p2, o_override, infile, &fileinfo);
                }
@@ -702,11 +701,12 @@ read_makefile (filename, flags)
 
               r = read_makefile (name, (RM_INCLUDED | RM_NO_TILDE
                                         | (noerror ? RM_DONTCARE : 0)));
-             if (!r && !noerror)
-               error (&fileinfo, "%s: %s", name, strerror (errno));
-
-              if (r < 2)
-                free (name);
+             if (!r)
+                {
+                  if (!noerror)
+                    error (&fileinfo, "%s: %s", name, strerror (errno));
+                  free (name);
+                }
            }
 
          /* Free any space allocated by conditional_line.  */
@@ -726,7 +726,7 @@ read_makefile (filename, flags)
       else if (lb.buffer[0] == '\t')
        {
          p = collapsed;        /* Ignore comments.  */
-         while (isblank (*p))
+         while (isblank ((unsigned char)*p))
            ++p;
          if (*p == '\0')
            /* The line is completely blank; that is harmless.  */
@@ -1066,7 +1066,7 @@ read_makefile (filename, flags)
 
   reading_file = 0;
 
-  return 1+using_filename;
+  return 1;
 }
 \f
 /* Execute a `define' directive.
@@ -1108,7 +1108,7 @@ do_define (name, namelen, origin, infile, flocp)
 
       p = next_token (lb.buffer);
       len = strlen (p);
-      if ((len == 5 || (len > 5 && isblank (p[5])))
+      if ((len == 5 || (len > 5 && isblank ((unsigned char)p[5])))
           && strneq (p, "endef", 5))
        {
          p += 5;
@@ -1300,7 +1300,7 @@ conditional_line (line, flocp)
        {
          /* Strip blanks after the first string.  */
          char *p = line++;
-         while (isblank (p[-1]))
+         while (isblank ((unsigned char)p[-1]))
            --p;
          *p = '\0';
        }
@@ -1824,7 +1824,7 @@ find_char_unquote (string, stopchars, blank)
   while (1)
     {
       while (*p != '\0' && strchr (stopchars, *p) == 0
-            && (!blank || !isblank (*p)))
+            && (!blank || !isblank ((unsigned char)*p)))
        ++p;
       if (*p == '\0')
        break;
@@ -2257,7 +2257,7 @@ get_next_mword (buffer, delim, startp, length)
   char c;
 
   /* Skip any leading whitespace.  */
-  while (isblank(*p))
+  while (isblank ((unsigned char)*p))
     ++p;
 
   beg = p;
index 0d01664..eb45d12 100644 (file)
--- a/remake.c
+++ b/remake.c
@@ -1095,7 +1095,7 @@ f_mtime (file, search)
       free (memname);
 
       if (mtime == (FILE_TIMESTAMP) -1)
-       /* The archive doesn't exist, so it's members don't exist either.  */
+       /* The archive doesn't exist, so its members don't exist either.  */
        return (FILE_TIMESTAMP) -1;
 
       memtime = ar_member_date (file->hname);
@@ -1148,9 +1148,27 @@ f_mtime (file, search)
 
        We only need to do this once, for now. */
 
-    static FILE_TIMESTAMP now = 0;
+    static FILE_TIMESTAMP now;
+
+    FILE_TIMESTAMP adjusted_mtime = mtime;
+#ifdef WINDOWS32
+    /* FAT filesystems round time to the nearest even second!
+       Allow for any file (NTFS or FAT) to perhaps suffer from this
+       brain damage.  */
+    if ((FILE_TIMESTAMP_S (adjusted_mtime) & 1) == 0
+       && FILE_TIMESTAMP_NS (adjusted_mtime) == 0)
+      adjusted_mtime -= FILE_TIMESTAMPS_PER_S;
+#else
+#ifdef __MSDOS__
+    /* On DJGPP under Windows 98 and Windows NT, FAT filesystems can
+       set file times up to 3 seconds into the future!  The bug doesn't
+       occur in plain DOS or in Windows 95, but we play it safe.  */
+    adjusted_mtime -= 3 * FILE_TIMESTAMPS_PER_S;
+#endif
+#endif
+
     if (!clock_skew_detected
-        && mtime != (FILE_TIMESTAMP)-1 && mtime > now
+        && mtime != (FILE_TIMESTAMP)-1 && now < adjusted_mtime
         && !file->updated)
       {
        /* This file's time appears to be in the future.
@@ -1158,22 +1176,7 @@ f_mtime (file, search)
 
        now = file_timestamp_now ();
 
-#ifdef WINDOWS32
-       /*
-        * FAT filesystems round time to nearest even second(!). Just
-        * allow for any file (NTFS or FAT) to perhaps suffer from this
-        * braindamage.
-        */
-       if (mtime > now && (((mtime % 2) == 0) && ((mtime-1) > now)))
-#else
-#ifdef __MSDOS__
-       /* Scrupulous testing indicates that some Windows
-          filesystems can set file times up to 3 sec into the future!  */
-       if (mtime > now + 3)
-#else
-        if (mtime > now)
-#endif
-#endif
+       if (now < adjusted_mtime)
           {
            char mtimebuf[FILE_TIMESTAMP_PRINT_LEN_BOUND + 1];
            char nowbuf[FILE_TIMESTAMP_PRINT_LEN_BOUND + 1];
@@ -1219,8 +1222,13 @@ name_mtime (name)
 {
   struct stat st;
 
-  if (stat (name, &st) < 0)
-    return (FILE_TIMESTAMP) -1;
+ while (stat (name, &st) != 0)
+   if (errno != EINTR)
+     {
+       if (errno != ENOENT && errno != ENOTDIR)
+         perror_with_name ("stat:", name);
+       return (FILE_TIMESTAMP) -1;
+     }
 
   return FILE_TIMESTAMP_STAT_MODTIME (st);
 }
index 057e50a..b058739 100644 (file)
@@ -83,7 +83,7 @@ start_remote_job_p (first_p)
         Customs requires a privileged source port be used.  */
       make_access ();
 
-      if (ISDB (DB_EXTRA))
+      if (ISDB (DB_JOBS))
         Rpc_Debug(1);
 
       /* Ping the daemon once to see if it is there.  */
@@ -124,8 +124,8 @@ start_remote_job_p (first_p)
   status = Customs_Host (EXPORT_SAME, &permit);
   if (status != RPC_SUCCESS)
     {
-      DB (DB_EXTRA, (_("Customs won't export: %s\n"),
-                     Rpc_ErrorMessage (status)));
+      DB (DB_JOBS, (_("Customs won't export: %s\n"),
+                    Rpc_ErrorMessage (status)));
       return 0;
     }
 
index 5e3d72a..d621d01 100644 (file)
@@ -1,3 +1,7 @@
+2000-05-24  Paul D. Smith  <psmith@gnu.org>
+
+       * scripts/options/general: Test general option processing (PR/1716).
+
 2000-04-11  Paul D. Smith  <psmith@gnu.org>
 
        * scripts/functions/strip: Test empty value to strip (PR/1689).
diff --git a/tests/scripts/options/general b/tests/scripts/options/general
new file mode 100644 (file)
index 0000000..ec7149a
--- /dev/null
@@ -0,0 +1,31 @@
+#                                                                    -*-perl-*-
+$description = "Test generic option processing.\n";
+
+open(MAKEFILE, "> $makefile");
+
+# The Contents of the MAKEFILE ...
+
+print MAKEFILE "foo 5foo: ; \@echo \$\@\n";
+
+close(MAKEFILE);
+
+# TEST 0
+
+&run_make_with_options($makefile, "-j 5foo", &get_logfile);
+$answer = "5foo\n";
+&compare_output($answer, &get_logfile(1));
+
+# TEST 0
+
+# This test prints the usage string; I don't really know a good way to
+# test it.  I guess I could invoke make with a known-bad option to see
+# what the usage looks like, then compare it to what I get here... :(
+
+# If I were always on UNIX, I could invoke it with 2>/dev/null, then
+# just check the error code.
+
+&run_make_with_options($makefile, "-j5foo 2>/dev/null", &get_logfile, 512);
+$answer = "";
+&compare_output($answer, &get_logfile(1));
+
+1;
index 0302f59..6475e78 100644 (file)
@@ -859,7 +859,7 @@ try_variable_definition (flocp, line, origin, target_var)
     }
 
   beg = next_token (line);
-  while (end > beg && isblank (end[-1]))
+  while (end > beg && isblank ((unsigned char)end[-1]))
     --end;
   p = next_token (p);
 
diff --git a/vpath.c b/vpath.c
index 3401327..2288f9a 100644 (file)
--- a/vpath.c
+++ b/vpath.c
@@ -222,7 +222,7 @@ construct_vpath_list (pattern, dirpath)
   maxelem = 2;
   p = dirpath;
   while (*p != '\0')
-    if (*p++ == PATH_SEPARATOR_CHAR || isblank (*p))
+    if (*p++ == PATH_SEPARATOR_CHAR || isblank ((unsigned char)*p))
       ++maxelem;
 
   vpath = (char **) xmalloc (maxelem * sizeof (char *));
@@ -230,7 +230,7 @@ construct_vpath_list (pattern, dirpath)
 
   /* Skip over any initial separators and blanks.  */
   p = dirpath;
-  while (*p == PATH_SEPARATOR_CHAR || isblank (*p))
+  while (*p == PATH_SEPARATOR_CHAR || isblank ((unsigned char)*p))
     ++p;
 
   elem = 0;
@@ -241,7 +241,8 @@ construct_vpath_list (pattern, dirpath)
 
       /* Find the end of this entry.  */
       v = p;
-      while (*p != '\0' && *p != PATH_SEPARATOR_CHAR && !isblank (*p))
+      while (*p != '\0' && *p != PATH_SEPARATOR_CHAR
+            && !isblank ((unsigned char)*p))
        ++p;
 
       len = p - v;
@@ -274,7 +275,7 @@ construct_vpath_list (pattern, dirpath)
        }
 
       /* Skip over separators and blanks between entries.  */
-      while (*p == PATH_SEPARATOR_CHAR || isblank (*p))
+      while (*p == PATH_SEPARATOR_CHAR || isblank ((unsigned char)*p))
        ++p;
     }
 
index 52f24a2..d8f3845 100644 (file)
@@ -16,7 +16,7 @@ convert_vpath_to_windows32(char *Path, char to_delim)
         * contain blanks get trounced here. Use 8.3 format as a workaround.
         */
        for (etok = Path; etok && *etok; etok++)
-               if (isblank(*etok))
+               if (isblank ((unsigned char) *etok))
                        *etok = to_delim;
 
        return (convert_Path_to_windows32(Path, to_delim));
@@ -42,7 +42,7 @@ convert_Path_to_windows32(char *Path, char to_delim)
                 etok[0] = to_delim;
                 p = ++etok;
                 continue;    /* ignore empty bucket */
-            } else if (!isalpha(*p)) {
+            } else if (!isalpha ((unsigned char) *p)) {
                 /* found one to count, handle things like '.' */
                 *etok = to_delim;
                 p = ++etok;