@@ -3485,6 +3485,32 @@ void R_unLockBinding(SEXP sym, SEXP env)
34853485 }
34863486}
34873487
3488+ void R_MakeDelayedPromiseBinding (SEXP sym , SEXP promiseExpr , SEXP promiseEnv , SEXP env ) {
3489+ if (TYPEOF (sym ) != SYMSXP )
3490+ error (_ ("not a symbol" ));
3491+ if (TYPEOF (env ) != ENVSXP )
3492+ error (_ ("not an environment" ));
3493+ if (TYPEOF (promiseEnv ) != ENVSXP )
3494+ error (_ ("not an environment" ));
3495+ defineVar (sym , Rf_mkPROMISE (promiseExpr , promiseEnv ), env );
3496+ }
3497+
3498+ void R_MakeForcedPromiseBinding (SEXP sym , SEXP promiseExpr , SEXP promiseValue , SEXP env ) {
3499+ if (TYPEOF (sym ) != SYMSXP )
3500+ error (_ ("not a symbol" ));
3501+ if (TYPEOF (env ) != ENVSXP )
3502+ error (_ ("not an environment" ));
3503+ defineVar (sym , R_mkEVPROMISE (promiseExpr , promiseValue ), env );
3504+ }
3505+
3506+ void R_MakeMissingBinding (SEXP sym , SEXP env ) {
3507+ if (TYPEOF (sym ) != SYMSXP )
3508+ error (_ ("not a symbol" ));
3509+ if (TYPEOF (env ) != ENVSXP )
3510+ error (_ ("not an environment" ));
3511+ defineVar (sym , R_MissingArg , env );
3512+ }
3513+
34883514void R_MakeActiveBinding (SEXP sym , SEXP fun , SEXP env )
34893515{
34903516 if (TYPEOF (sym ) != SYMSXP )
0 commit comments