summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorEric Blake <ebb9@byu.net>2008-08-18 07:22:44 -0600
committerEric Blake <ebb9@byu.net>2008-08-22 19:25:36 -0600
commit8eb70fbb1969717d7cfefea93ee9f117fd3933cd (patch)
treec3272cb7242f5dd5c47c720915a1a7c6d6f3e40c /m4
parent67b3df0525590a61db71bab023d11cded89a024e (diff)
downloadm4-8eb70fbb1969717d7cfefea93ee9f117fd3933cd.tar.gz
Improve --debugmode behavior.
* m4/m4module.h (m4_debug_decode): Simplify interface. * m4/debug.c (m4_debug_decode): Remove parameter, and handle setting the new value. * modules/gnu.c (debugmode): Adjust caller. * src/freeze.c (reload_frozen_state): Likewise. * src/main.c (main): Likewise. (usage): Fix default for --debug. * doc/m4.texinfo (Debugging options): Add an example. Signed-off-by: Eric Blake <ebb9@byu.net>
Diffstat (limited to 'm4')
-rw-r--r--m4/debug.c7
-rw-r--r--m4/m4module.h2
2 files changed, 5 insertions, 4 deletions
diff --git a/m4/debug.c b/m4/debug.c
index d7e7e834..d9efc8b8 100644
--- a/m4/debug.c
+++ b/m4/debug.c
@@ -33,8 +33,9 @@ static void set_debug_file (m4 *, const m4_call_info *, FILE *);
/* Function to decode the debugging flags OPTS. Used by main while
processing option -d, and by the builtin debugmode (). */
int
-m4_debug_decode (m4 *context, int previous, const char *opts)
+m4_debug_decode (m4 *context, const char *opts)
{
+ int previous = context->debug_level;
int level;
char mode = '\0';
@@ -123,9 +124,9 @@ m4_debug_decode (m4 *context, int previous, const char *opts)
break;
default:
- assert (!"INTERNAL ERROR: impossible mode from flags");
+ assert (!"m4_debug_decode");
}
-
+ context->debug_level = level;
return level;
}
diff --git a/m4/m4module.h b/m4/m4module.h
index c17c98ab..6c0587b9 100644
--- a/m4/m4module.h
+++ b/m4/m4module.h
@@ -413,7 +413,7 @@ enum {
#define m4_is_debug_bit(C,B) ((m4_get_debug_level_opt (C) & (B)) != 0)
-extern int m4_debug_decode (m4 *, int, const char *);
+extern int m4_debug_decode (m4 *, const char *);
extern bool m4_debug_set_output (m4 *, const m4_call_info *,
const char *);
extern void m4_debug_message_prefix (m4 *);