1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-23 10:34:07 +00:00

* lisp/textmodes/tex-mode.el (latex-noindent-commands): New custom var

(latex-find-indent): Obey it.
(latex-noindent-environments): Make it into a defcustom as well.
This commit is contained in:
Stefan Monnier 2019-06-24 19:21:07 -04:00
parent 630e01a703
commit 0ef3163959
3 changed files with 30 additions and 5 deletions

View File

@ -475,6 +475,9 @@ current and the previous or the next line, as before.
* Changes in Specialized Modes and Packages in Emacs 27.1
** tex-mode
*** 'latex-noindent-commands' stops indenting arguments of \emph and friends
** byte compiler
*** byte-compile-dynamic is now obsolete
This is because on the one hand it suffers from various misbehaviors in corner

View File

@ -2803,9 +2803,19 @@ Runs the shell command defined by `tex-show-queue-command'."
(defvar tex-indent-basic 2)
(defvar tex-indent-item tex-indent-basic)
(defvar tex-indent-item-re "\\\\\\(bib\\)?item\\>")
(defvar latex-noindent-environments '("document"))
(put 'latex-noindent-environments 'safe-local-variable
(lambda (x) (null (delq t (mapcar #'stringp x)))))
(defcustom latex-noindent-environments '("document")
"Environments whose content is not indented by `tex-indent-basic'."
:type '(repeat string)
:safe (lambda (x) (lambda (x) (memq nil (mapcar #'stringp x))))
:group 'tex-file
:version "27.1")
(defcustom latex-noindent-commands '("emph" "footnote")
"Commands for which `tex-indent-basic' should not be used."
:type '(repeat string)
:safe (lambda (x) (memq nil (mapcar #'stringp x)))
:group 'tex-file
:version "27.1")
(defvar tex-latex-indent-syntax-table
(let ((st (make-syntax-table tex-mode-syntax-table)))
@ -2912,9 +2922,17 @@ There might be text before point."
(current-column)
;; We're the first element after a hanging brace.
(goto-char up-list-pos)
(+ (if (and (looking-at "\\\\begin *{\\([^\n}]+\\)")
(+ (if (if (eq (char-after) ?\{)
(save-excursion
(skip-chars-backward " \t")
(let ((end (point)))
(skip-chars-backward "a-zA-Z")
(and (eq (char-before) ?\\)
(member (buffer-substring (point) end)
latex-noindent-commands))))
(and (looking-at "\\\\begin *{\\([^\n}]+\\)")
(member (match-string 1)
latex-noindent-environments))
latex-noindent-environments)))
0 tex-indent-basic)
indent (latex-find-indent 'virtual))))
;; We're now at the "beginning" of a line.

View File

@ -8,4 +8,8 @@
\url{/lib/modules/$(uname -r)}, %bug#11953.
and install the appropriate \url{gspca-modules} package.
Footnotes and emphasis shouldn't be indented \footnote{as can be seen here,
for example}, \emph{or there
as well}.
\end{document}