bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: make 3.79.1: leading "@" and canned sequences


From: Paul D. Smith
Subject: Re: make 3.79.1: leading "@" and canned sequences
Date: Wed, 29 May 2002 15:07:28 -0400

Yes, this is a known bug in 3.79.1.  It's already been fixed in the
source and will be included in the next version of GNU make.  Below is a
patch if you want to apply it now.


--- make-3.79.1/job.c   Fri Jun 23 11:54:56 2000
+++ make/job.c  Wed May  2 01:17:08 2001
@@ -895,8 +895,14 @@
       ++p;
     }
 
-  /* Update the file's command flags with any new ones we found.  */
-  child->file->cmds->lines_flags[child->command_line - 1] |= flags;
+  /* Update the file's command flags with any new ones we found.  We only
+     keep the COMMANDS_RECURSE setting.  Even this isn't 100% correct; we are
+     now marking more commands recursive than should be in the case of
+     multiline define/endef scripts where only one line is marked "+".  In
+     order to really fix this, we'll have to keep a lines_flags for every
+     actual line, after expansion.  */
+  child->file->cmds->lines_flags[child->command_line - 1]
+    |= flags & COMMANDS_RECURSE;
 
   /* Figure out an argument list from this command line.  */
 
@@ -1580,6 +1586,8 @@
     }
   user_access ();
 
+  DB (DB_JOBS, ("Current system load = %f (max requested = %f)\n",
+                load, max_load_average));
   return load >= max_load_average;
 #endif
 }
@@ -2421,7 +2429,7 @@
   char*  sh_chars;
   char** sh_cmds;
 #else  /* WINDOWS32 */
-  static char sh_chars[] = "#;\"*?[]&|<>(){}$`^";
+  static char sh_chars[] = "#;\"*?[]&|<>(){}$`^~";
   static char *sh_cmds[] = { "cd", "eval", "exec", "exit", "login",
                             "logout", "set", "umask", "wait", "while", "for",
                             "case", "if", ":", ".", "break", "continue",
-- 
-------------------------------------------------------------------------------
 Paul D. Smith <address@hidden>          Find some GNU make tips at:
 http://www.gnu.org                      http://www.paulandlesley.org/gmake/
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist

reply via email to

[Prev in Thread] Current Thread [Next in Thread]