diff --git a/src/rpn-store.h b/src/rpn-store.h index 5abca93..56f3849 100644 --- a/src/rpn-store.h +++ b/src/rpn-store.h @@ -38,7 +38,13 @@ void auto_rcl(symbol* symb) unsigned int size; int type; if (_local_heap->get(string(symb->_value), obj, size, type) || _global_heap->get(string(symb->_value), obj, size, type)) - _stack->push_back(obj, size, type); + { + _stack->push_back(obj, size, type); + if (type == cmd_program) + { + eval(); + } + } else _stack->push_back(symb, symb->size(), cmd_symbol); } diff --git a/src/stack.h b/src/stack.h index 8b03ff3..bced70d 100644 --- a/src/stack.h +++ b/src/stack.h @@ -10,7 +10,7 @@ using namespace std; #include "debug.h" -#define ALLOC_BLOB (128*1024) +#define ALLOC_BLOB (2*1024) #define LOCAL_COPY_PLACES 3 #define LOCAL_COPY_SIZE 128