add tag
निरंजन
I am trying something like following:

```
\documentclass{article}

\begin{document}
\ExplSyntaxOn
\cs_new_protected:Npn \tmp_begin:w #1\q_stop {
  \textsc{#1}
}

\cs_gset_eq:NN \tmpbegin \tmp_begin:w
\cs_gset_eq:NN \tmpend   \q_stop
\ExplSyntaxOff

\tmpbegin hello world\tmpend
\end{document}
```

(Warning: I might be using incorrect terminology ahead, please bear with me.)

The `\q_stop` is inside the macro `\tmpend`. I want `\tmpend` to expand once, but not further so that `\q_stop` is not expanded. The above code doesn't compile. An easy fix to it is to use `\tmpend` in the definition itself (i.e., `\cs_new_protected:Npn \tmp_begin:w #1\tmpend`), but I am trying to understand what can one do in order to stop grabbing the argument at `\tmpend` which is defined as a quark. In a general sense, when TeX reads `\tmpbegin` and starts grabbing the argument, what kind of expansion does it perform? If I understand correctly, `\tmpend` and `\q_stop` are `\ifx`-equivalents, then why does TeX produce Runaway argument error?

Enter question or answer id or url (and optionally further answer ids/urls from the same question) from

Separate each id/url with a space. No need to list your own answers; they will be imported automatically.