let rec pcml = function
| [] -> ()
| ("--print-xp"|"pxp")::l -> toggle _remind; pcml l
| ("--print-newline"|"pn")::l -> toggle _remind_newline; pcml l
| ("--print-unit"|"pu")::l -> toggle _print_unit; pcml l
| ("--print-symbol"|"ps")::l -> toggle _insert_result; pcml l
| ("--eval-now"|"en")::l -> eval_list l
| ("--delimiters"|"del")::dl::dr::l -> _delil := dl; _delir := dr; pcml l
| ("--unit-string"|"us")::s::l -> Eval._str_unit := s; pcml l
| ("--eval-file"|"ef")::path::l -> eval_file path; pcml l
| ("--display-welcome"|"dw")::l -> toggle _disp_wel; pcml l
| ("--show-error"|"se")::l -> toggle _se; pcml l
| ("--print_errors"|"pe")::l -> toggle _pe; pcml l
| ("+command-line"|"c")::l -> _runmode := CMD_LINE (l)
| ("+stdin"|"s")::l -> _runmode := STDIN ; pcml l
| ("+replace"|"r")::l -> _runmode := REPLACE ; pcml l
| ("--help")::l -> disp_help (); exit 0
| x::l -> bad_args x ; failwith "Please correct the command-line and try again... (see --help)"