add tag
निरंजन
The question title says it all. I was trying something like follows, but it didn't work and then when I saw its "meaning" I realized that it was because of blank spaces. The code works, but the command is listed in the deprecated section of `source3`. I was wondering why...

```
\documentclass{article}

\begin{document}
\ExplSyntaxOn
\cs_gset_eq:NN \__test_footnote:n \footnote

\cs_gset_protected:Npn \test_footnote:n #1 {
  \__test_footnote:n { #1 }
  \peek_meaning_ignore_spaces:NT \test_footnote:n {
    \textsuperscript { , }
  }
}

\cs_gset_eq:NN \footnote \test_footnote:n
\ExplSyntaxOff
hello world
\footnote{hello world}
\footnote{hello world}
\footnote{hello world}
\footnote{hello world}
\end{document}
```
Top Answer
Joseph Wright
Broadly 'because we decided on a better way'. We introduced `\peek_remove_spaces:n` as a general way to deal with spaces, which means that you can now do
```latex
\peek_remove_spaces:n { \peek_meaning:NTF ... }
```
The reason we wanted this is that there are various things you might want to handle, and having to have separate functions for each becomes tiresome. See for example `\peek_remove_filler:n`, which also deals with `\scan_stop:` tokens.

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.