Last field width is important if its field is shifted right (with \‘ that translates to \@tabrj). Otherwise, a 0 dimension is provided for a place holder.
<..TABLE tabbing..>+
\let\:tempc=\@stopline
\pend:def\:tempc{%
\unskip \@stopfield
<.compute width of last field.>%
\:gobbleII}
\append:def\:tempc{\rt:tab
<.width for last field.>\pic:gobble\hfill}
\HLet\@stopline=\:tempc
-_-_-
<..TABLE tabbing..>+
\let\:tempc=\kill
\pend:def\:tempc{%
\@stopfield
<.width for last field of kill.>%
\:gobble}
\HLet\kill=\:tempc
-_-_-
<..compute width of last field..>
\tmp:dim\linewidth
\advance\tmp:dim by -\wd\@curline
\edef\last:len{\if@rjfield \the\tmp:dim \else \z@\fi}%
-_-_-
<..width for last field..>
\tmp:dim \last:len
\tmp:dim\m:tab\tmp:dim
\xdef\locs:tab{\locs:tab\space \pt:int\tmp:dim }%
-_-_-
<..width for last field of kill..>
\tmp:dim = \if@rjfield \the\wd\@curfield\else \z@\fi
\tmp:dim\m:tab\tmp:dim
\xdef\locs:tab{\locs:tab\space 0 }%
-_-_-
<..TABLE tabbing..>+
\def\pt:int#1{\expandafter\pt:nt\the#1//}
\def\pt:nt#1.#2//{#1}
-_-_-