Hello!

Following the inlining of stringbuf storage
(ba54a2026beaadb4e7566d4b9e2c9e4c7cd793e6), the ‘bdw-gc-static-alloc'
branch introduces a small source-level incompatibility.  Namely, the
following no longer works:

  const char foo[] = "foo";
  SCM_SYMBOL (s_foo, foo);

Because of the macrology that’s used to statically allocate stringbufs [0],
the string has to be a literal:

  SCM_SYMBOL (s_foo, "foo");

The use of non-literal strings occurred only in ‘eval.c’ in Guile proper [1].

The question is: should we merge ‘bdw-gc-static-alloc’ despite this
incompatibility (it can be argued that this won’t hurt many people and
can be easily worked around)?

If the answer is “no”, we still have the option of merging other aspects
of the ‘bdw-gc-static-alloc’ branch, such as static allocation of subrs.

What do you think?

Thanks,
Ludo’.

[0] 
http://git.sv.gnu.org/gitweb/?p=guile.git;a=blobdiff;f=libguile/snarf.h;h=9eaccf60c14d825e657718e6f75257e293649f84;hp=c3113e1a7a977f95eb922e924855244dfe4d6cc2;hb=5f236208d0d864546e59afa0f5a11c9b3ba14b10;hpb=f0eb5ae6c173aed35965b0561897fda1d8ff0db1
[1] 
http://git.sv.gnu.org/gitweb/?p=guile.git;a=blobdiff;f=libguile/eval.c;h=e58c05410c2831d4061eb92b4ee2883c9203c919;hp=59db42976242e12fd41995e5e1fa5d169bd3b9bf;hb=5f236208d0d864546e59afa0f5a11c9b3ba14b10;hpb=d7e7a02a6251c8ed4f76933d9d30baeee3f599c0



Reply via email to