Concatenated constants erroneous

Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3294

Reported by M Norrby, Shapeline norrby@lysator.liu.se

Concatenated constants does not work as it does in Pike 7.2.

First an example with expected results:

norrby@klinik:/tmp% cat fish.pike #!/usr/local/src/Pike/7.3/bin/pike

   constant FISH = "Fish";

   constant FOO = FISH + "ing rod";
   constant BAR = FISH + "y";

   void main()
   {
     write("Fishing rod: " + FOO + "\n");
     write("Fishy: " + BAR + "\n");
   }
   norrby@klinik:/tmp% ./fish.pike
   Fishing rod: Fishing rod
   Fishy: Fishy

Then an example with strange results:

norrby@klinik:/tmp% cat fishy.pike #!/usr/local/src/Pike/7.3/bin/pike

   constant FOO = FISH + "ing rod";
   constant BAR = FISH + "y";

   constant FISH = "Fish";

   void main()
   {
     write("Fishing rod: " + FOO + "\n");
     write("Fishy: " + BAR + "\n");
   }
   norrby@klinik:/tmp% ./fishy.pike
   Fishing rod: Fishy
   Fishy: Fishy

Pike v7.3 release 58