On 9/1/2020 5:47 PM, mf wrote:
\unexpanded\def\groupedwordorparagraphright{\dosingleempty\dogroupedwordorparagraphright}
\def\dogroupedwordorparagraphright[#1]{\groupedcommand{\setbox\scratchbox\hbox\bgroup}
{\egroup\ifdim\wd\scratchbox < \hsize \wordright{\unhbox\scratchbox} \else \par\penalty10000 \startalignment[flushright]\unhbox\scratchbox\stopalignment \fi}}
\unexpanded\def\wordorparagraphright#1{% \setbox\scratchbox\hbox{#1} \ifdim\wd\scratchbox < \hsize \wordright{#1} \else \par\penalty10000 \startalignment[flushright]\unhbox\scratchbox\stopalignment \fi}
\starttext \type{\wordorparagraphright} should use \type{\wordright} if its argument is narrower than \type{\hsize}, or make a right-aligned paragraph with it when it's wider.
Below, \type{\wordorparagraphright} is tested with a short text, that has enough room on the same line. \blank
Reference:
\input ward\wordright{same line, right}
\blank
Implementation as a grouped command (it doesn't work):
\input ward\groupedwordorparagraphright{same line, right}
\blank
Normal implementation, not as a grouped command (it works):
\input ward\wordorparagraphright{same line, right} \stoptext ----------------------------------------------------
Unfortunately the grouped version is the one I need, because it's used in a register, and it would give an error if not defined through \groupedcommand:
\setupregister[myregister] [pageleft=\wordorparagraphright\bgroup,pageright=\egroup]
fortunately there is a solution that takes less code: \unexpanded\def\whatever {\dosingleempty\dowhatever} \def\dowhatever[#1]% {\dowithnextbox {\ifdim\wd\nextbox<\hsize \wordright{\box\nextbox}% \par \else \par \penalty10000 \startalignment[flushright]\unhbox\nextbox\stopalignment \fi}\hbox} \starttext \input ward \whatever{same line, right} \blank \input ward \whatever{\input tufte } \stoptext ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------