/* read a sequence '=*]', leaving the last bracket. If sequence is well formed, return its number of '='s + 2; otherwise, return 1 if it is a single bracket (no '='s and no 2nd bracket); otherwise (an unfinished '[==...') return 0.  */
static size_t skip_sep(LexState *ls)
/* read a sequence '=*]', leaving the last bracket. If sequence is well formed, return its number of '='s + 2; otherwise, return 1 if it is a single bracket (no '='s and no 2nd bracket); otherwise (an unfinished '[==...') return 0.  */
static size_t skip_sep(LexState *ls)
{
    save_and_next(ls);
    count++;
  }
  return (ls->current == s) ? count + 2
         : (count == 0) ? 1
         : 0;
}