"Fix" shell parser (/ command parser relationship)..
commitb28ad9f595450fa5423cc324e3d5d9c35070175f
authorSteffen (Daode) Nurpmeso <steffen@sdaoden.eu>
Sat, 22 Apr 2017 13:07:07 +0000 (22 15:07 +0200)
committerSteffen (Daode) Nurpmeso <steffen@sdaoden.eu>
Sat, 22 Apr 2017 13:15:35 +0000 (22 15:15 +0200)
treefd92cd845ecff5f15395ba99d7e077b238e1a2e0
parent490b5347ceea7b14f2d03c1be60e3eefbe338c6c
"Fix" shell parser (/ command parser relationship)..

  define kb-clear {
     unbind * *;\
     bind base $'\n' mle-commit;\
     bind base $'\c?' mle-del-bwd;\
     bind base $'\cE' mle-go-end
  }

did not work yet due to multiple reasons.

First of all, the new (and sole, in the future) n_cmd_arg_parse()
parser did not set the (rather new, granted)
n_SHEXP_PARSE_META_SEMICOLON flag for the last argument (if WYSH,
say), so that anything after the second * was parsed together with
it, instead of causing (the also rather new) input sequencing and
re-injection.

And second, even after enabling that, c_unbind() uses
n_SHEXP_PARSE_DRYRUN to parse this second argument, and this
causes all the data that "is being skipped over" to be used as
a result, and that yet included the sequencing ;.

All in all we have so many new possibilities that we really would
need a complete review with those possibilities in mind, and much
more testing.  A lot of things to do in the future.
cmd-arg.c
shexp.c