From e9813cd4f8f86fd822f2994d60cf4f9a9afe0221 Mon Sep 17 00:00:00 2001 From: "Joel E. Denny" Date: Mon, 8 Jan 2007 22:06:55 +0000 Subject: [PATCH] * src/parse-gram.y (prologue_declaration): Use MUSCLE_INSERT_STRING instead of muscle_insert for %define values so that M4-special characters are replaced with digraphs. * tests/input.at (%define errors): Extend to check weird values. --- ChangeLog | 7 +++++++ src/parse-gram.c | 2 +- src/parse-gram.y | 2 +- tests/input.at | 4 ++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index c32acde8..73d0167a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-01-08 Joel E. Denny + + * src/parse-gram.y (prologue_declaration): Use MUSCLE_INSERT_STRING + instead of muscle_insert for %define values so that M4-special + characters are replaced with digraphs. + * tests/input.at (%define errors): Extend to check weird values. + 2007-01-08 Joel E. Denny Instead of having skeletons declare all valid %define variables and diff --git a/src/parse-gram.c b/src/parse-gram.c index dc416ad8..d9306782 100644 --- a/src/parse-gram.c +++ b/src/parse-gram.c @@ -1910,7 +1910,7 @@ yyreduce: strcpy (name + sizeof name_prefix - 1, (yyvsp[(2) - (3)].chars)); if (muscle_find_const (name)) warn_at ((yylsp[(2) - (3)]), _("%s `%s' redefined"), "%define variable", (yyvsp[(2) - (3)].chars)); - muscle_insert (uniqstr_new (name), (yyvsp[(3) - (3)].chars)); + MUSCLE_INSERT_STRING (uniqstr_new (name), (yyvsp[(3) - (3)].chars)); free (name); muscle_grow_user_name_list ("user_percent_define_variables", (yyvsp[(2) - (3)].chars), (yylsp[(2) - (3)])); } diff --git a/src/parse-gram.y b/src/parse-gram.y index 72ad6da6..5cefbce1 100644 --- a/src/parse-gram.y +++ b/src/parse-gram.y @@ -242,7 +242,7 @@ prologue_declaration: strcpy (name + sizeof name_prefix - 1, $2); if (muscle_find_const (name)) warn_at (@2, _("%s `%s' redefined"), "%define variable", $2); - muscle_insert (uniqstr_new (name), $3); + MUSCLE_INSERT_STRING (uniqstr_new (name), $3); free (name); muscle_grow_user_name_list ("user_percent_define_variables", $2, @2); } diff --git a/tests/input.at b/tests/input.at index 3d82ff2b..02d36c0e 100644 --- a/tests/input.at +++ b/tests/input.at @@ -800,6 +800,8 @@ AT_DATA([input.y], [[%define "var" "value1" %define "var" "value1" %define "var" "value2" +%define "special1" "@:>@" +%define "special2" "@<:@" %% start: ; ]]) @@ -810,6 +812,8 @@ input.y:3.10-14: warning: %define variable `var' redefined input.y:1.9-13: warning: %define variable `var' is not used input.y:2.9-13: warning: %define variable `var' is not used input.y:3.10-14: warning: %define variable `var' is not used +input.y:4.9-18: warning: %define variable `special1' is not used +input.y:5.9-18: warning: %define variable `special2' is not used ]]) AT_CLEANUP -- 2.47.2