Subject: `LaTeX-insert-item' inserts comment characters if called from inside comment

From: Vangelis Evangelou <[email-masked]>
Date: Mon, 28 Oct 2024 09:40:39 +0000

Hello.

Consider the following latex snippet with the cursor position indicated by
|:

\begin{itemize}
\item My 1st item %%% comment |
\end{itemize}

At that point call `LaTeX-insert-item' (M-RET) to get the following:

\begin{itemize}
\item My 1st item %%% comment
  %%% \item |
\end{itemize}

while I would have expected

\begin{itemize}
\item My 1st item %%% comment
\item |
\end{itemize}

I cannot think of a situation where the current version is desirable.

This happens because `LaTeX-insert-item' inserts a new line using
`LaTeX-newline' instead of `TeX-newline.

In addition to the above, `LaTeX-insert-item' always inserts a new line
unless the cursor is at the beginning of line:

(unless (bolp) (LaTeX-newline))

This is rarely the case. For example, if you enter a new line inside
itemize, the line is indented. It would be better to replace the (bolp)
check with a check that the line contains only whitespace characters. So my
proposal is to replace the above line with

(unless (string-match-p "^[[:blank:]]*$" (buffer-substring-no-properties
(line-beginning-position) (line-end-position))) (TeX-newline))