@@ -2252,6 +2252,7 @@ static cell *insert_call_here(parser *p, cell *c, cell *p1)
22522252
22532253static cell * term_to_body_conversion (parser * p , cell * c )
22542254{
2255+ //printf("*** %s/%u, p->is_command=%d\n", C_STR(p, c), c->arity, p->is_command);
22552256 pl_idx c_idx = c - p -> cl -> cells ;
22562257 bool is_head = (c_idx == 0 ) && !p -> is_command ;
22572258
@@ -3759,7 +3760,7 @@ unsigned tokenize(parser *p, bool is_arg_processing, bool is_consing)
37593760
37603761 process_clause (p -> m , p -> cl , NULL );
37613762
3762- if (!p -> one_shot )
3763+ if (!p -> one_shot || p -> is_command )
37633764 term_to_body (p );
37643765
37653766 if ((p -> is_consulting /*|| p->is_command*/ ) && !p -> skip ) {
@@ -4387,25 +4388,10 @@ bool run(parser *p, const char *prolog_src, bool dump, query **subq, unsigned in
43874388 }
43884389
43894390 SB (pr );
4390-
4391- if (dump ) {
4392- SB_strcat (pr , "true," );
4393- }
4394-
4395- if (* prolog_src != '[' ) {
4396- SB_sprintf (pr , "((%s" , prolog_src );
4397- } else {
4398- SB_sprintf (pr , "%s" , prolog_src );
4399- }
4400-
4391+ SB_sprintf (pr , "%s" , prolog_src );
44014392 SB_trim_ws (pr );
44024393 SB_trim (pr , '.' );
4403-
4404- if (* prolog_src != '[' ) {
4405- SB_strcat (pr , "))." );
4406- } else {
4407- SB_strcat (pr , "." );
4408- }
4394+ SB_strcat (pr , "." );
44094395
44104396 p -> in_body = true;
44114397 p -> srcptr = SB_cstr (pr );
@@ -4416,6 +4402,7 @@ bool run(parser *p, const char *prolog_src, bool dump, query **subq, unsigned in
44164402 p -> line_num_start = 0 ;
44174403 p -> line_num = 1 ;
44184404 p -> one_shot = true;
4405+ p -> is_command = true;
44194406 p -> is_consulting = false;
44204407 tokenize (p , false, false);
44214408
0 commit comments