fix incorrect inlining of + when + is locally redefined
authorAndy Wingo <wingo@pobox.com>
Sat, 6 Jun 2009 22:53:31 +0000 (00:53 +0200)
committerAndy Wingo <wingo@pobox.com>
Sat, 6 Jun 2009 22:53:48 +0000 (00:53 +0200)
commitc0ee32452f4babfc99526ed35d1f80d128d8658b
tree90a02f33aa08527277dd0fa52099206c26c76761
parent586cfdecfa4021e725287a02b57624418e597354
fix incorrect inlining of + when + is locally redefined

* libguile/vm-i-scheme.c (FUNC2): Use a signed value for the intermediate
  result here. Not sure what the effect is, though.

* module/ice-9/psyntax.scm (chi-top): Toplevel definitions ensure that
  variables are defined in the current module. Fixes the specific case of
  guile-lib's md5.scm, which redefines + -- this code is needed so that
  we don't incorrectly open-code +.

* module/language/tree-il/primitives.scm (resolve-primitives!): I think
  there were some cases in which vars and names would not resolve
  properly here. Fix those.
libguile/vm-i-scheme.c
module/ice-9/psyntax-pp.scm
module/ice-9/psyntax.scm
module/language/tree-il/primitives.scm