[6457] in Athena Bugs

home help back first fref pref prev next nref lref last post

Saber msg: v3.0 beta-2 (8/21/90 boom decstation Ultrix 3.x 0 0)

daemon@ATHENA.MIT.EDU (daemon@ATHENA.MIT.EDU)
Mon Nov 26 03:06:33 1990

From: jik@ATHENA.MIT.EDU
Date: Mon, 26 Nov 90 03:06:19 EST
To: bugs@ATHENA.MIT.EDU

Saber3 on the decmips doesn't deal properly with backslashed quotation marks
in Makefiles.  This worked in previous versions of saber.  In particular, I
have a Makefile which reads as follows:

STRING=\"string\"

foo: foo.c
	cc -DSTRING=$(STRING) -o foo foo.c

saber_foo: foo.c
	#load -DSTRING=$(STRING) foo.c

And foo.c which reads as follows:

#include <stdio.h>

main()
{
     printf("%s\n", STRING);
}

When I build it and run it from the shell, it works:

boom% make foo
cc -DSTRING=\"string\" -o foo foo.c
boom% ./foo
string

When I try to load it into saber, however, I get:

1 -> make saber_foo
load -DSTRING="string" foo.c
Loading: -DSTRING=string foo.c

----------------
"foo.c":5, main(), Undefined name (Error #570)
     4: {
 *   5:      printf("%s\n", STRING);
     6: }
'string' is undefined.

The quotation marks around the string are getting lost too early.  An older
version of saber does this:

1 -> make saber_foo
load -DSTRING="string" foo.c
Loading: -DSTRING="string" foo.c
2 ->

Note how it doesn't lose the quotation marks.

  jik

home help back first fref pref prev next nref lref last post