Improve shell parser sequencing; changes \c@..
commit952a52b725ede82e0df59f5e90b645f69f924388
authorSteffen (Daode) Nurpmeso <steffen@sdaoden.eu>
Sat, 22 Apr 2017 15:17:43 +0000 (22 17:17 +0200)
committerSteffen (Daode) Nurpmeso <steffen@sdaoden.eu>
Sat, 22 Apr 2017 15:37:40 +0000 (22 17:37 +0200)
tree20db38ea865300bae533cdcaf47345e37722b542
parentb28ad9f595450fa5423cc324e3d5d9c35070175f
Improve shell parser sequencing; changes \c@..

The skip mechanism was (also) not adjusted after input sequencing
via metacharacters has been implemented, and continued to skip over
anything.

This also changes the meaning of \c@: whereas it yet stopped
argument processing entirely, it now only stops recognition of the
current token, or, dependent on the context, of all the remaining
arguments of the command.  That is still different to
\0/\x0/\u0/\U0, which extend to the end of the current quote only.
Before

  ?0!0[#/var/spool/mail/steffen]? echo $'hey\c@\07777888a'du;echo hu
  hey
  ?0!0[#/var/spool/mail/steffen]? echo $'hey\c@\07777888a'du bla;echo hu
  hey

After

  ?0!0[#/var/spool/mail/steffen]? echo $'hey\c@\07777888a'du;echo hu
  hey
  hu
  ?0!0[#/var/spool/mail/steffen]? echo $'hey\c@\07777888a'du bla;echo hu
  hey
  hu
nail.1
nail.h
shexp.c