How can I add line breaks to the end of a macro?
I have used \obeylines
and \everypar
to add the items automatically, note that your environment definition was missing the second argument with the end code.
% !TeX program = lualatex
\documentclass[10pt,twoside,openany,showtrims]{memoir}
%\usepackage[T1]{fontenc}
%\usepackage[spanish]{babel}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage{spanish}
% \usepackage{ucs}
\usepackage{csquotes}
\usepackage{xcolor}
\usepackage{needspace}
\usepackage{lipsum}
\setcounter{tocdepth}{4}
\settrimmedsize{6in}{9in}{*}
\setmainfont{FreeSerif}
\newfontfamily\fsfont{FreeSerif}
\newfontfamily\alterfont{FreeSans}
\newcommand{\txtred}[1]{\textcolor{red}{#1}}
\newcommand{\sv}{\txtred}
\newcommand{\sr}{\txtred}
\makeatletter
\catcode13\active %
\newenvironment{readbody}{%
\alterfont%
\setlength\parskip{\bigskipamount}%
\setlength\parindent{0pt}%
\setlength\leftskip{10mm}%
\catcode13\active %
\def^^M{\@ifnextchar^^M{\par}{\@ifnextchar\end{\ifhmode\par\fi}{\ifhmode\\\fi}}}%
\def\par{~\sr ℟.\endgraf}%
\everypar{\makebox[0pt]{\sv ℣.\qquad}}%
}{}%
\catcode13=5 %
\makeatother
\begin{document}
\mainmatter
\begin{readbody}
Señor, enséñame tus caminos,
instrúyeme en tus sendas:
haz que camine con lealtad;
enséñame, porque tú eres mi Dios y Salvador.
Recuerda, Señor, que tu ternura
y tu misericordia son eternas;
acuérdate de mí con misericordia,
por tu bondad, Señor.
El Señor es bueno y es recto,
enseña el camino a los pecadores;
hace caminar a los humilles con rectitud,
enseña su camino a los humildes.
\end{readbody}
\end{document}
This is a solution that can be right for you. I changed your definition of \sv
and \rv
and redefined the readbody
environment.
\documentclass[10pt,twoside,openany,showtrims]{memoir}
\settrimmedsize{6in}{9in}{*}
\usepackage{fontspec}
\setmainfont{FreeSerif}
\newfontfamily\fsfont{FreeSerif}
\newfontfamily\alterfont{FreeSans}
\usepackage{polyglossia}
\setdefaultlanguage{spanish}
\usepackage{xcolor}
\newcommand{\sv}{\item\textcolor{red}{℣}.\quad}
\newcommand{\sr}{\textcolor{red}{℟}.\medskip}
\newenvironment{readbody}{\list{}{
\itemindent=-1cm
\leftmargin=1cm
\parsep=0pt}
\obeylines\alterfont}{\endlist}
\begin{document}
\begin{readbody}
\sv Señor, enséñame tus caminos,
instrúyeme en tus sendas:
haz que camine con lealtad;
enséñame, porque tú eres mi Dios y Salvador. \sr
\sv Recuerda, Señor, que tu ternura
y tu misericordia son eternas;
acuérdate de mí con misericordia,
por tu bondad, Señor. \sr
\sv El Señor es bueno y es recto,
enseña el camino a los pecadores;
hace caminar a los humilles con rectitud,
enseña su camino a los humildes. \sr
\end{readbody}
\end{document}