<..TABLE tabbing..>+
\def\:temp{%
\TRD:tab \gdef\loc:tab{\z@}%
\ifnum \@nxttabmar >\@hightab
\@badtab \global\@nxttabmar \@hightab
\fi
\global\@curtabmar \@nxttabmar
\global\@curtab \@curtabmar
\global\setbox\@curline \hbox {}%
\@startfield <.indented tabs.>%
\strut}
\HLet\@startline=\:temp
-_-_-
The \x:tab is needed for an extra field at the start when tabs start in middle of line (due to \+).
<..indented tabs..>
\ifdim \the\dimen\@curtab > \z@
\gdef\x:tab{\D:tab \d:tab\gdef\x:tab{}}%
\else \gdef\x:tab{}%
\fi
-_-_-
The \’ command is ignored here, and the content is pushed to the next field.
<..TABLE tabbing..>+
\def\:temp{%
\@stopfield
\global\setbox\@curline\hbox{%
\box\@curline
\hskip-\wd\@curfield \hskip-\tabbingsep
<.move tab backward.>%
\box\@curfield
\hskip\tabbingsep}%
\@startfield
\ignorespaces}
\HLet\@tablab=\:temp
-_-_-
<..move tab backward..>
\x:tab \D:tab
-_-_-
<..TABLE tabbing..>+
\def\:temp{%
\@stopfield <.paused addfield.>%
\global\advance\@tabpush \@ne
\begingroup \@contfield}
\HLet\pushtabs=\:temp
\def\:temp{\@stopfield <.paused addfield.>%
\ifnum \@tabpush >\z@
\endgroup \global\advance\@tabpush \m@ne
\ifnum \@curtab >\@hightab
\global \@curtab \@hightab
\@badtab \fi
\else \@badpoptabs \fi
\@contfield}
\HLet\poptabs=\:temp
-_-_-