• R/O
  • SSH

quipu: Commit

quipu mercurial repository


Commit MetaInfo

Revisión55f414306b4d9cbd8f8cae5289311a717840658c (tree)
Tiempo2020-04-08 10:27:48
AutorAgustina Arzille <avarzille@rise...>
CommiterAgustina Arzille

Log Message

Fix builtin inheritance

Cambiar Resumen

Diferencia incremental

diff -r d5dbd3a1bdb9 -r 55f414306b4d symbol.cpp
--- a/symbol.cpp Tue Apr 07 20:31:38 2020 -0300
+++ b/symbol.cpp Tue Apr 07 22:27:48 2020 -0300
@@ -284,7 +284,7 @@
284284 object name = symname (sym);
285285 object *ptr = pkg_lookup (interp, as_array (interp->aux), name);
286286
287- if (interp->retval != PKG_EMPTY)
287+ if (interp->retval != PKG_EMPTY && symval (*ptr) != UNBOUND)
288288 {
289289 interp->aux = fixint (0);
290290 return (interp->retval);
@@ -618,6 +618,11 @@
618618 array *ap = as_array (dstp->syms);
619619 for (package::iterator it { interp, root_package }; it.valid (); ++it)
620620 {
621+ object s = *it;
622+ if (symval (s) == UNBOUND &&
623+ !as_symbol(s)->flagged_p (symbol::specform_flag))
624+ continue;
625+
621626 *pkg_lookup(interp, ap, symname (*it)) = *it;
622627 if (ap->len * 75 <= ++syms_len(ap) * 100)
623628 {
Show on old repository browser