diff --git a/basis/io/unix/launcher/parser/parser.factor b/basis/io/unix/launcher/parser/parser.factor index e5e83ab4e9..276ed45f27 100644 --- a/basis/io/unix/launcher/parser/parser.factor +++ b/basis/io/unix/launcher/parser/parser.factor @@ -29,5 +29,5 @@ IN: io.unix.launcher.parser PEG: tokenize-command ( command -- ast/f ) 'argument' " " token repeat1 list-of - " " token repeat0 swap over pack + " " token repeat0 tuck pack just ; diff --git a/basis/peg/ebnf/ebnf.factor b/basis/peg/ebnf/ebnf.factor index 776450ccd9..ccae0fec93 100644 --- a/basis/peg/ebnf/ebnf.factor +++ b/basis/peg/ebnf/ebnf.factor @@ -487,7 +487,7 @@ M: ebnf-terminal (transform) ( ast -- parser ) M: ebnf-foreign (transform) ( ast -- parser ) dup word>> search [ "Foreign word '" swap word>> append "' not found" append throw ] unless* - swap rule>> [ main ] unless* dupd swap rule [ + swap rule>> [ main ] unless* over rule [ nip ] [ execute