builtin command support;readline lib;read_command() rewrite