]> git.saurik.com Git - bison.git/commitdiff
* src/parse-gram.y (prologue_declaration): Use MUSCLE_INSERT_STRING
authorJoel E. Denny <jdenny@ces.clemson.edu>
Mon, 8 Jan 2007 22:06:55 +0000 (22:06 +0000)
committerJoel E. Denny <jdenny@ces.clemson.edu>
Mon, 8 Jan 2007 22:06:55 +0000 (22:06 +0000)
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
src/parse-gram.c
src/parse-gram.y
tests/input.at

index c32acde87c81281d0916d20e1f52b153d9b40ba3..73d0167aa61d92a4cbd9b92c4bc1393615c3b24c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-01-08  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       * 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  <jdenny@ces.clemson.edu>
 
        Instead of having skeletons declare all valid %define variables and
 2007-01-08  Joel E. Denny  <jdenny@ces.clemson.edu>
 
        Instead of having skeletons declare all valid %define variables and
index dc416ad84e47e8f7cea2befe1b039578d4212ff1..d93067826e95f2597d8d633278590de3aa062042 100644 (file)
@@ -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));
       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)]));
     }
       free (name);
       muscle_grow_user_name_list ("user_percent_define_variables", (yyvsp[(2) - (3)].chars), (yylsp[(2) - (3)]));
     }
index 72ad6da65c5f8ef3bf1a538c1bcf5b9f9da7dd38..5cefbce158c7fa6801563b5100ba5bfb3dfd77d8 100644 (file)
@@ -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);
       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);
     }
       free (name);
       muscle_grow_user_name_list ("user_percent_define_variables", $2, @2);
     }
index 3d82ff2b172e5b48557bdc145cced3decb2cbd57..02d36c0eb1bc9a0d3fa8988071c0bccc0f65e8f6 100644 (file)
@@ -800,6 +800,8 @@ AT_DATA([input.y],
 [[%define "var" "value1"
 %define "var" "value1"
  %define "var" "value2"
 [[%define "var" "value1"
 %define "var" "value1"
  %define "var" "value2"
+%define "special1" "@:>@"
+%define "special2" "@<:@"
 %%
 start: ;
 ]])
 %%
 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: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
 ]])
 
 AT_CLEANUP