[SV 35248] Add --debug "n" flag to turn off current debug options.

This commit is contained in:
Paul Smith 2013-09-14 21:01:10 -04:00
parent 29a94ceb76
commit 3aa2aa7e82
6 changed files with 30 additions and 6 deletions

View File

@ -1,5 +1,13 @@
2013-09-14 Paul Smith <psmith@gnu.org>
Fix Savannah bug #35248.
* main.c (decode_debug_flags): Add support for the "n" flag to
disable all debugging.
* make.1: Document the "n" (none) flag.
* doc/make.texi (Options Summary): Ditto.
* NEWS: Ditto.
Fix Savannah bug #33134. Suggested by David Boyce <dsb@boyski.com>.
* misc.c (close_stdout): Move to output.c.

7
NEWS
View File

@ -34,9 +34,10 @@ http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=101&set
the recipe to be invoked is printed even if it would otherwise be suppressed
by .SILENT or a "@" prefix character. Also before each recipe is run the
makefile name and linenumber where it was defined are shown as well as the
prerequisites that caused the target to be considered out of date. If the
"dir" option argument is given, it will display directory enter/leave
logging around each block of synchronized output.
prerequisites that caused the target to be considered out of date.
* New command line option argument: --debug now accepts a "n" (none) flag
which disables all debugging settings that are currently enabled.
* New feature: The "job server" capability is now supported on Windows.
Implementation contributed by Troy Runkel <Troy.Runkel@mathworks.com>

View File

@ -8595,6 +8595,10 @@ By default, the above messages are not enabled while trying to remake
the makefiles. This option enables messages while rebuilding makefiles,
too. Note that the @samp{all} option does enable this option. This
option also enables @samp{basic} messages.
@item n (@i{none})
Disable all debugging currently enabled. If additional debugging
flags are encountered after this they will still take effect.
@end table
@item -e

9
main.c
View File

@ -714,6 +714,9 @@ decode_debug_flags (void)
case 'm':
db_level |= DB_BASIC | DB_MAKEFILES;
break;
case 'n':
db_level = 0;
break;
case 'v':
db_level |= DB_BASIC | DB_VERBOSE;
break;
@ -723,7 +726,10 @@ decode_debug_flags (void)
while (*(++p) != '\0')
if (*p == ',' || *p == ' ')
{
++p;
break;
}
if (*p == '\0')
break;
@ -732,6 +738,9 @@ decode_debug_flags (void)
if (db_level)
verify_flag = 1;
if (! db_level)
debug_flag = 0;
}
static void

4
make.1
View File

@ -143,7 +143,9 @@ for showing implicit rules,
.I j
for details on invocation of commands, and
.I m
for debugging while remaking makefiles.
for debugging while remaking makefiles. Use
.I n
to disable all previous debugging flags.
.TP 0.5i
\fB\-e\fR, \fB\-\-environment\-overrides\fR
Give variables taken from the environment precedence

View File

@ -186,7 +186,7 @@ static sync_handle_t sync_handle = -1;
static int
sync_init ()
{
int combined_output;
int combined_output = 0;
#ifdef WINDOWS32
if ((!STREAM_OK (stdout) && !STREAM_OK (stderr))