[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/auctex 696400c 22/23: Merge remote-tracking branch 'ori
From: |
Tassilo Horn |
Subject: |
[elpa] externals/auctex 696400c 22/23: Merge remote-tracking branch 'origin/master' into externals/auctex |
Date: |
Sat, 23 Jan 2021 04:10:10 -0500 (EST) |
branch: externals/auctex
commit 696400c90f685126e8788178999ed1e7bdda2193
Merge: 4473c1f ba0b1af
Author: Tassilo Horn <tsdh@gnu.org>
Commit: Tassilo Horn <tsdh@gnu.org>
Merge remote-tracking branch 'origin/master' into externals/auctex
---
Makefile.in | 4 +-
bib-cite.el | 3 +-
context-en.el | 6 +-
context-nl.el | 6 +-
context.el | 24 +++--
doc/install.texi | 19 +++-
font-latex.el | 4 +-
latex.el | 17 +++-
preview.el | 31 ++++--
style/bigstrut.el | 33 +++++--
style/{multirow.el => extramarks.el} | 43 +++++---
style/fancyhdr.el | 185 +++++++++++++++++++++++------------
style/graphicx.el | 7 +-
style/multirow.el | 47 +++++++--
style/scrbase.el | 8 +-
style/scrpage2.el | 4 +-
style/thmtools.el | 38 ++++---
tests/tex/utility.el | 31 +++++-
tex-buf.el | 2 +-
tex.el | 25 +++--
20 files changed, 373 insertions(+), 164 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index e83c74c..9afc328 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -2,7 +2,7 @@
# Maintainer: auctex-devel@gnu.org
-# Copyright (C) 2003-2008, 2010, 2013-2015, 2018-2019 Free Software
+# Copyright (C) 2003-2008, 2010, 2013-2015, 2018-2021 Free Software
# Foundation, Inc.
# This file is part of AUCTeX.
@@ -173,7 +173,7 @@ STYLESRC = style/prosper.el \
style/multitoc.el style/fbox.el style/xkcdcolors.el \
style/ltxguide.el style/revtex4-2.el style/overpic.el \
style/tex-live.el style/algorithm.el style/algpseudocode.el \
- style/appendix.el style/scholax.el
+ style/appendix.el style/scholax.el style/extramarks.el
STYLEELC = $(STYLESRC:.el=.elc)
diff --git a/bib-cite.el b/bib-cite.el
index bcf57ed..0799c40 100644
--- a/bib-cite.el
+++ b/bib-cite.el
@@ -675,7 +675,8 @@ a path separator and to translate DOS' backslash to slash.
e.g. Use a path like \"c:\\emtex\\bibinput;c:\\latex\\bibinput\"
-\(You can change the environment variable which is searched by setting the
elisp variable bib-bibtex-env-variable)"
+\(You can change the environment variable which is searched by
+setting the elisp variable bib-bibtex-env-variable)"
:group 'bib-cite
:type 'boolean)
diff --git a/context-en.el b/context-en.el
index 19dd172..4de977a 100644
--- a/context-en.el
+++ b/context-en.el
@@ -128,11 +128,13 @@
(defvar ConTeXt-project-structure-list-en
'("project" "environment" "product" "component")
- "List of the names of ConTeXt project structure elements for its en
interface. List should be in logical order.")
+ "List of ConTeXt project structure elements for its en interface.
+List should be in logical order.")
(defvar ConTeXt-section-block-list-en
'("frontmatter" "bodymatter" "appendices" "backmatter")
- "List of the names of ConTeXt section blocks for its en interface. List
should be in logical order.")
+ "List of ConTeXt section block names for its en interface.
+List should be in logical order.")
;; TODO:
diff --git a/context-nl.el b/context-nl.el
index 7a12d83..debda1f 100644
--- a/context-nl.el
+++ b/context-nl.el
@@ -108,11 +108,13 @@
(defvar ConTeXt-project-structure-list-nl
'("project" "omgeving" "produkt" "onderdeel")
- "List of the names of ConTeXt project structure elements for its nl
interface. List should be in logical order.")
+ "List of ConTeXt project structure elements for its nl interface.
+List should be in logical order.")
(defvar ConTeXt-section-block-list-nl
'("inleidingen" "hoofdteksten" "bijlagen" "uitleidingen")
- "List of the names of ConTeXt section blocks for its nl interface. List
should be in logical order.")
+ "List of ConTeXt section block names for its nl interface.
+List should be in logical order.")
;; TODO:
diff --git a/context.el b/context.el
index cb285ff..3e29f5a 100644
--- a/context.el
+++ b/context.el
@@ -406,10 +406,14 @@ section."
The following variables are set before the hooks are run
-`ConTeXt-level' - numeric section level, see the documentation of
`ConTeXt-section'.
-`ConTeXt-name' - name of the sectioning command, derived from `level'.
-`ConTeXt-title' - The title of the section, default to an empty string.
-`ConTeXt-done-mark' - Position of point afterwards, default nil (meaning end).
+`ConTeXt-level' - numeric section level, see the documentation of
+ `ConTeXt-section'.
+`ConTeXt-name' - name of the sectioning command, derived from
+ `level'.
+`ConTeXt-title' - The title of the section, default to an empty
+ string.
+`ConTeXt-done-mark' - Position of point afterwards, default nil
+ (meaning end).
The following standard hook exist -
@@ -454,10 +458,14 @@ in your .emacs file."
The following variables are set before the hooks are run
-`ConTeXt-level' - numeric section level, see the documentation of
`ConTeXt-section'.
-`ConTeXt-name' - name of the sectioning command, derived from `ConTeXt-level'.
-`ConTeXt-title' - The title of the section, default to an empty string.
-`ConTeXt-done-mark' - Position of point afterwards, default nil (meaning end).
+`ConTeXt-level' - numeric section level, see the documentation of
+ `ConTeXt-section'.
+`ConTeXt-name' - name of the sectioning command, derived from
+ `ConTeXt-level'.
+`ConTeXt-title' - The title of the section, default to an empty
+ string.
+`ConTeXt-done-mark' - Position of point afterwards, default nil
+ (meaning end).
The following standard hook exist -
diff --git a/doc/install.texi b/doc/install.texi
index 0e88cec..d055e4c 100644
--- a/doc/install.texi
+++ b/doc/install.texi
@@ -17,10 +17,21 @@ The modern and strongly recommended way of installing
@AUCTeX{} is by
using the Emacs package manager integrated in Emacs 24 and greater
(@acronym{ELPA}). Simply do @kbd{M-x list-packages RET}, mark the
auctex package for installation with @kbd{i}, and hit @kbd{x} to execute
-the installation procedure. That's all. This installation procedure
-has several advantages. Besides being platform and @acronym{OS}
-independent, you will receive intermediate releases between major
-@AUCTeX{} releases conveniently. For past @acronym{ELPA} releases, see
+the installation procedure. That's all.
+
+@code{use-package} users can use this simple recipe in their
+@code{user-init-file} which essentially does the same as the manual
+installation explained above.
+
+@example
+(use-package tex
+ :ensure auctex)
+@end example
+
+Using the @acronym{ELPA} version has several advantages. Besides being
+platform and @acronym{OS} independent, you will receive intermediate
+bugfix releases between major @AUCTeX{} releases conveniently. For past
+@acronym{ELPA} releases, see
@url{https://elpa.gnu.org/packages/auctex.html}.
@ifclear rawfile
Once the installation is completed, you can skip the rest of this
diff --git a/font-latex.el b/font-latex.el
index bf258f1..494fb30 100644
--- a/font-latex.el
+++ b/font-latex.el
@@ -338,7 +338,9 @@ variable `font-latex-fontify-sectioning'." ',num)
("vref" "*{") ("eqref" "{") ("ref" "{") ("Ref" "{") ("include" "{")
("input" "{") ("bibliography" "{") ("index" "{") ("glossary" "{")
("footnote" "[{") ("footnotemark" "[") ("footnotetext" "[{")
- ("marginpar" "[{"))
+ ("marginpar" "[{") ("chaptermark" "{") ("sectionmark" "{")
+ ("subsectionmark" "{") ("subsubsectionmark" "{")
+ ("paragraphmark" "{") ("subparagraphmark" "{"))
font-lock-constant-face 2 command)
("function"
(("begin" "{") ("end" "{") ("pagenumbering" "{")
diff --git a/latex.el b/latex.el
index 3639bf6..b4fd7d3 100644
--- a/latex.el
+++ b/latex.el
@@ -6217,8 +6217,12 @@ function would return non-nil and `(match-string 1)'
would return
(cons (concat "\\" (nth 0 x)) (nth 1 x)))
LaTeX-section-list)))
- (set (make-local-variable 'TeX-auto-full-regexp-list)
- (append LaTeX-auto-regexp-list plain-TeX-auto-regexp-list))
+ (setq-local TeX-auto-full-regexp-list
+ (delete-dups (append LaTeX-auto-regexp-list
+ ;; Prevent inadvertent destruction
+ ;; of `plain-TeX-auto-regexp-list'.
+ (copy-sequence
+ plain-TeX-auto-regexp-list))))
(LaTeX-set-paragraph-start)
(setq paragraph-separate
@@ -6540,9 +6544,18 @@ function would return non-nil and `(match-string 1)'
would return
'("textsubscript" "Text")
'("textcircled" "Text")
'("mathring" t)
+ '("MakeUppercase" t)
+ '("MakeLowercase" t)
+ '("chaptermark" "Text")
+ '("sectionmark" "Text")
+ '("subsectionmark" "Text")
+ '("subsubsectionmark" "Text")
+ '("paragraphmark" "Text")
+ '("subparagraphmark" "Text")
"LaTeXe"
"listfiles" "frontmatter" "mainmatter" "backmatter"
+ "leftmark" "rightmark"
"textcompwordmark" "textvisiblespace" "textemdash" "textendash"
"textexclamdown" "textquestiondown" "textquotedblleft"
"textquotedblright" "textquoteleft" "textquoteright"
diff --git a/preview.el b/preview.el
index e8e57b4..08ea45c 100644
--- a/preview.el
+++ b/preview.el
@@ -1,7 +1,7 @@
;;; preview.el --- embed preview LaTeX images in source buffer
;; Copyright (C) 2001-2006, 2010-2015,
-;; 2017-2020 Free Software Foundation, Inc.
+;; 2017-2021 Free Software Foundation, Inc.
;; Author: David Kastrup
;; Keywords: tex, wp, convenience
@@ -1166,7 +1166,7 @@ NONREL is not NIL."
(setq preview-gs-init-string
;; Add commands for revised file access controls introduced
;; after gs 9.27 (bug#37719)
- (concat (format "systemdict /.addcontrolpath known {%s} if\n"
+ (concat (format "systemdict /.addcontrolpath known {%s} if "
(mapconcat (lambda (f)
(format "/PermitFileReading %s
.addcontrolpath"
(preview-ps-quote-filename f)))
@@ -1312,11 +1312,6 @@ Try \\[ps-run-start] \\[ps-run-buffer] and \
(defun preview-gs-flag-error (ov err)
"Make an eps error flag in overlay OV for ERR string."
- ;; N.B. Although this code shows command line of gs invocation and
- ;; error together via mouse popup menu, they are not necessarily
- ;; associated with each other. There is a case that the command
- ;; line is for "[...].prv/tmpXXXXXX/pr1-2.png" while the error is
- ;; raised for "[...].prv/tmpXXXXXX/pr1-1.png". (c.f. bug#37719)
(let* ((filenames (overlay-get ov 'filenames))
(file (car (nth 0 filenames)))
;; FIXME: This format isn't equal to actual invocation of gs
@@ -3299,7 +3294,13 @@ call, and in its CDR the final stuff for the placement
hook."
close-data
open-data
fast-hook
- slow-hook)
+ slow-hook
+ TeX-translate-location-file
+ TeX-translate-location-line
+ TeX-translate-location-error
+ TeX-translate-location-offset
+ TeX-translate-location-context
+ TeX-translate-location-string)
;; clear parsing variables
(dolist (var preview-parse-variables)
(set (nth 1 var) nil))
@@ -3422,9 +3423,23 @@ name(\\([^)]+\\))\\)\\|\
(nconc fast-hook (list fast)))
(setq slow-hook
(nconc slow-hook (list lst)))))))
+ ;; Functions in `TeX-translate-location-hook'
+ ;; may examine and modify the following variables.
+ (setq TeX-translate-location-file file
+ TeX-translate-location-line line
+ ;; TeX-translate-location-error error
+ TeX-translate-location-offset offset
+ ;; TeX-translate-location-context context
+ TeX-translate-location-string string)
(condition-case err
(save-excursion (mapc #'funcall slow-hook))
(error (preview-log-error err "Translation hook")))
+ (setq file TeX-translate-location-file
+ line TeX-translate-location-line
+ ;; error TeX-translate-location-error
+ offset TeX-translate-location-offset
+ ;; context TeX-translate-location-context
+ string TeX-translate-location-string)
(push (vector file (+ line offset)
string after-string
snippet box counters)
diff --git a/style/bigstrut.el b/style/bigstrut.el
index 71ea835..8324da3 100644
--- a/style/bigstrut.el
+++ b/style/bigstrut.el
@@ -1,6 +1,6 @@
;;; bigstrut.el --- AUCTeX style for `bigstrut.sty' -*- lexical-binding: t;
-*-
-;; Copyright (C) 2012, 2014, 2020 Free Software Foundation, Inc.
+;; Copyright (C) 2012, 2014--2021 Free Software Foundation, Inc.
;; Author: Mads Jensen <mje@inducks.org>
;; Maintainer: auctex-devel@gnu.org
@@ -25,26 +25,41 @@
;;; Commentary:
-;; This file adds support for `bigstrut.sty'.
+;; This file adds support for `bigstrut.sty', v2.6 from 2021/01/02.
;;; Code:
(require 'tex)
+;; Silence the compiler:
+(declare-function font-latex-add-keywords
+ "font-latex"
+ (keywords class))
+
(TeX-add-style-hook
"bigstrut"
(lambda ()
(TeX-add-symbols
- "bigstrutsetup"
- '("bigstrut" [ TeX-arg-bigstrut ])))
+ '("bigstrut" [ TeX-arg-bigstrut ]))
+
+ (LaTeX-add-lengths "bigstrutjot")
+
+ ;; Fontification
+ (when (and (featurep 'font-latex)
+ (eq TeX-install-font-lock 'font-latex-setup))
+ (font-latex-add-keywords '(("bigstrut" "["))
+ 'function)))
TeX-dialect)
-(defun TeX-arg-bigstrut (optional &optional _prompt)
- "Prompt for the optional argument in \\bigstrut."
+(defun TeX-arg-bigstrut (optional &optional prompt)
+ "Prompt for the optional argument in \\bigstrut.
+If OPTIONAL is non-nil, insert the argument in brackets. PROMPT
+replaces the standard one."
(TeX-argument-insert
- (completing-read (TeX-argument-prompt
- optional "Strut to top (t) or bottom (b)" nil t)
- (mapcar 'list '("t" "b")) nil t)
+ (completing-read
+ (TeX-argument-prompt
+ optional prompt "Strut to top (t) or bottom (b)")
+ '("t" "b"))
optional))
(defvar LaTeX-bigstrut-package-options nil
diff --git a/style/multirow.el b/style/extramarks.el
similarity index 57%
copy from style/multirow.el
copy to style/extramarks.el
index d5108b8..ecf619e 100644
--- a/style/multirow.el
+++ b/style/extramarks.el
@@ -1,9 +1,10 @@
-;;; multirow.el --- AUCTeX style for `multirow.sty' -*- lexical-binding: t;
-*-
+;;; extramarks.el --- AUCTeX style for `extramarks.sty' (v4.0) -*-
lexical-binding: t; -*-
-;; Copyright (C) 2011, 2018, 2020 Free Software Foundation, Inc.
+;; Copyright (C) 2021 Free Software Foundation, Inc.
-;; Author: Mads Jensen <mje@inducks.org>
+;; Author: Arash Esbati <arash@gnu.org>
;; Maintainer: auctex-devel@gnu.org
+;; Created: 2021-01-12
;; Keywords: tex
;; This file is part of AUCTeX.
@@ -25,7 +26,8 @@
;;; Commentary:
-;; This file adds support for `multirow.sty'.
+;; This file adds support for `extramarks.sty' (v4.0) from 2021/01/04.
+;; `extramarks.sty' is part of TeXLive.
;;; Code:
@@ -37,23 +39,34 @@
(keywords class))
(TeX-add-style-hook
- "multirow"
+ "extramarks"
(lambda ()
- (TeX-add-symbols
- '("multirow" "Number of rows"
- [ "Big struts" ] "Width" [ "Fixup" ] t)
- "multirowsetup")
- (if (not (boundp 'LaTeX-bigstrut-package-options))
- (TeX-add-symbols "bigstrutjot"))
+ ;; New symbols
+ (TeX-add-symbols
+ "firstleftmark"
+ "lastrightmark"
+ "firstrightmark"
+ "lastleftmark"
+ "firstleftxmark"
+ "firstrightxmark"
+ "topleftxmark"
+ "toprightxmark"
+ "lastleftxmark"
+ "lastrightxmark"
+ "firstxmark"
+ "lastxmark"
+ "topxmark"
+ '("extramarks" 2))
;; Fontification
(when (and (featurep 'font-latex)
(eq TeX-install-font-lock 'font-latex-setup))
- (font-latex-add-keywords '(("multirow" "{[{")) 'function)))
+ (font-latex-add-keywords '(("extramarks" "{{"))
+ 'reference)))
TeX-dialect)
-(defvar LaTeX-multirow-package-options nil
- "Package options for the multirow package.")
+(defvar LaTeX-extramarks-package-options nil
+ "Package options for the extramarks package.")
-;;; multirow.el ends here
+;;; extramarks.el ends here
diff --git a/style/fancyhdr.el b/style/fancyhdr.el
index 4557e3b..e849f4e 100644
--- a/style/fancyhdr.el
+++ b/style/fancyhdr.el
@@ -1,6 +1,6 @@
;;; fancyhdr.el --- AUCTeX style for `fancyhdr.sty' -*- lexical-binding: t;
-*-
-;; Copyright (C) 2012, 2013, 2018, 2020 Free Software Foundation, Inc.
+;; Copyright (C) 2012, 2013, 2018-2021 Free Software Foundation, Inc.
;; Author: Mads Jensen <mje@inducks.org>
;; Maintainer: auctex-devel@gnu.org
@@ -25,7 +25,7 @@
;;; Commentary:
-;; This file adds support for `fancyhdr.sty', version 3.2
+;; This file adds support for `fancyhdr.sty', v4.0 from 2021/01/04.
;;; Code:
@@ -37,83 +37,142 @@
"font-latex"
(keywords class))
+;; Because there can be many places, `TeX-completing-read-multiple' is
+;; used instead of just `completing-read', and a `collection' argument
+;; is provided as the list of places differs between the macros
+(defun TeX-arg-fancyhdr-place (optional
+ &optional prompt collection full)
+ "Prompt for fancyhdr places with completion.
+If OPTIONAL is non-nil, insert the resulting value as an optional
+argument, otherwise as a mandatory one. If non-nil, PROMPT is
+used as the prompt. If non-nil, COLLECTION is used as the
+completion list for the place.
+
+If FULL is non-nil, a full list of places is offered for
+completion, otherwise a reduced one omitting place combinations
+for H(eader) or F(ooter)."
+ (let* ((places (or collection
+ ;; Standard places with no restrictions.
+ ;; Lower-case versions, and reverse versions
+ ;; (e.g., OC) are left out for simplicity.
+ (if full
+ '("L" "LO" "LE" "LOH" "LOF" "LEH" "LEF"
+ "C" "CO" "CE" "COH" "COF" "CEH" "CEF"
+ "R" "RO" "RE" "ROH" "ROF" "REH" "REF")
+ '("L" "LO" "LE" "C" "CO" "CE" "R" "RE" "RO"))))
+ (arguments (mapconcat #'identity
+ (TeX-completing-read-multiple
+ (TeX-argument-prompt optional
+ prompt
+ "Places")
+ places)
+ ",")))
+ (TeX-argument-insert arguments optional)))
+
+(defvar LaTeX-fancyhdr-fancypagestyle-regexp
+ '("\\\\fancypagestyle{\\([^}]+\\)}"
+ 1 LaTeX-auto-pagestyle)
+ "Regexp matching the first argument of \\fancypagestyle macro.")
+
(TeX-add-style-hook
"fancyhdr"
(lambda ()
(TeX-add-symbols
- '("lhead" t)
- '("lfoot" t)
- '("chead" t)
- '("cfoot" t)
- '("rhead" t)
- '("rfoot" t)
- '("nouppercase" t)
- '("MakeUppercase" t)
- '("fancyhead" [ TeX-arg-fancyhdr-position ] t)
- '("fancyfoot" [ TeX-arg-fancyhdr-position ] t)
+
+ ;; 2 Using fancyhdr
+ '("fancyhead" [ TeX-arg-fancyhdr-place ] t)
+ '("fancyfoot" [ TeX-arg-fancyhdr-place ] t)
+ '("fancyhf" [ (TeX-arg-fancyhdr-place nil nil t) ] t)
+
'("fancyheadoffset"
- [ (TeX-arg-fancyhdr-position
- "Position" ("LO" "LE" "L" "RE" "RO" "R" "0")) ] t)
+ [ (TeX-arg-fancyhdr-place nil ("L" "LO" "LE" "R" "RO" "RE")) ]
+ TeX-arg-length)
'("fancyfootoffset"
- [ (TeX-arg-fancyhdr-position
- "Position" ("LO" "LE" "L" "RE" "RO" "R" "O")) ] t)
+ [ (TeX-arg-fancyhdr-place nil ("LO" "LE" "L" "RO" "RE" "R")) ]
+ TeX-arg-length)
'("fancyhfoffset"
- [ (TeX-arg-fancyhdr-position "Position" ("E" "O" "L" "R")) ] t)
- '("fancypagestyle" TeX-arg-pagestyle t)
-
- "headrulewidth" "footrulewidth" "plainfootrulewidth"
- "plainheadrulewidth" "leftmark" "rightmark"
- ;; the manual does not mention any subsubsectionmark (!)
- "chaptermark" "sectionmark" "subsectionmark" "paragraphmark"
- "subparagraphmark" "footrule" "headrule")
-
- ;; `fancyhdr.sty' supplies these two pagestyles
- (LaTeX-add-pagestyles "fancy" "fancyplain")
+ [ (TeX-arg-fancyhdr-place nil ("L" "LO" "LE" "LOH" "LOF" "LEH" "LEF"
+ "R" "RO" "RE" "ROH" "ROF" "REH" "REF")) ]
+ TeX-arg-length)
+
+ "headrulewidth" "footrulewidth"
+ "headruleskip" "footruleskip"
+ "headrule" "footrule"
+ "headwidth"
+
+ '("fancyheadinit" t)
+ '("fancyfootinit" t)
+ '("fancyhfinit" t)
+
+ '("fancycenter"
+ [ TeX-arg-length "Distance" ] [ "Stretch" ] 3)
+
+ '("iftopfloat" 2)
+ '("ifbotfloat" 2)
+ '("iffloatpage" 2)
+ '("iffootnote" 2)
+
+ '("fancypagestyle"
+ ;; Always add the chosen pagestyle to list of known pagestyles,
+ ;; dupes are removed when retrieving with the function
+ ;; `LaTeX-pagestyle-list':
+ (TeX-arg-pagestyle nil t)
+ [ TeX-arg-pagestyle "Base pagestyle" ]
+ t)
+
+ ;; 15 The scoop on LATEX’s marks
+ '("nouppercase" t))
+
+ ;; 30 Deprecated commands
+ ;; Don't offer deprecated commands in V4.0 for completion anymore.
+ ;; '("lhead" t)
+ ;; '("lfoot" t)
+ ;; '("chead" t)
+ ;; '("cfoot" t)
+ ;; '("rhead" t)
+ ;; '("rfoot" t)
+ ;; "plainfootrulewidth"
+ ;; "plainheadrulewidth"
+
+ ;; `fancyhdr.sty' supplies these two pagestyles. Pagestyle
+ ;; `fancyplain' is now deprecated.
+ (LaTeX-add-pagestyles "fancy" "fancydefault")
+
+ ;; Add \fancypagestyle{pagestyle} to AUCTeX parser
+ (TeX-auto-add-regexp LaTeX-fancyhdr-fancypagestyle-regexp)
;; Fontification
(when (and (fboundp 'font-latex-add-keywords)
(eq TeX-install-font-lock 'font-latex-setup))
(font-latex-add-keywords '(("fancyhead" "[{")
("fancyfoot" "[{")
- ("lhead" "{")
- ("lfoot" "{")
- ("chead" "{")
- ("cfoot" "{")
- ("rhead" "{")
- ("rfoot" "{")
+ ("fancyhf" "[{")
("fancyheadoffset" "[{")
("fancyfootoffset" "[{")
- ("fancypagestyle" "{{")) 'function)
- (font-latex-add-keywords '(("headrulewidth" "")
- ("footrulewidth" "")
- ("plainheadrulewidth" "")
- ("plainfootrulewidth" "")) 'variable)))
+ ("fancyhfoffset" "[{")
+ ("fancyheadinit" "{")
+ ("fancyfootinit" "{")
+ ("fancyhfinit" "{")
+ ;; Fontify deprecated commands for
+ ;; older documents; to be removed
+ ;; sometimes ...
+ ("lhead" "[{")
+ ("lfoot" "[{")
+ ("chead" "[{")
+ ("cfoot" "[{")
+ ("rhead" "[{")
+ ("rfoot" "[{")
+ ;; Don't fontify the last argument;
+ ;; all macros used there should have
+ ;; their own fontification since they
+ ;; can also be used in a document
+ ;; top-level.
+ ("fancypagestyle" "{["))
+ 'function)))
TeX-dialect)
-;; Because there can be many positions, `TeX-completing-read-multiple' is used
-;; instead of just `completing-read', and a `collection' argument is provided
as
-;; the list of positions differs between the macros
-(defun TeX-arg-fancyhdr-position (optional &optional prompt collection)
- "Prompt for a fancyhdr position with completion.
-If OPTIONAL is non-nil, insert the resulting value as an optional
-argument, otherwise as a mandatory one. If non-nil, PROMPT is
-used as the prompt. If non-nil, COLLECTION is used as the
-completion list for the position."
- (let* ((positions (if (not collection)
- ;; Standard positions with no restrictions. Lower-case
- ;; versions, and reverse versions (e.g., OC) are left
- ;; out for simplicity.
- '("LO" "LE" "L" "CO" "CE" "C" "RE" "RO" "R")
- collection))
- (arguments
- (mapconcat 'identity
- (TeX-completing-read-multiple
- (TeX-argument-prompt optional prompt "Position")
- (mapcar 'list positions)) ",")))
- (TeX-argument-insert arguments optional)))
-
-(defvar LaTeX-fancyhdr-package-options nil
- "Package options for fancyhdr.")
+(defvar LaTeX-fancyhdr-package-options
+ '("nocheck" "compatV3" "headings" "myheadings")
+ "Package options for fancyhdr package.")
;;; fancyhdr.el ends here
-
diff --git a/style/graphicx.el b/style/graphicx.el
index d7a6f04..bb28b9c 100644
--- a/style/graphicx.el
+++ b/style/graphicx.el
@@ -1,6 +1,6 @@
;;; graphicx.el --- AUCTeX style file for graphicx.sty -*- lexical-binding:
t; -*-
-;; Copyright (C) 2000, 2004, 2005, 2014--2020 by Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2004, 2005, 2014--2021 by Free Software Foundation, Inc.
;; Author: Ryuichi Arafune <arafune@debian.org>
;; Created: 1999/3/20
@@ -102,7 +102,10 @@ key-val's."
(TeX-read-key-val optional
(if (and (or (and (eq TeX-engine 'default)
(not (TeX-PDF-from-DVI)))
- (eq TeX-engine 'luatex))
+ (eq TeX-engine 'luatex)
+ ;; dvipdfmx can handle page and
+ ;; pagebox options.
+ (string= (TeX-PDF-from-DVI) "Dvipdfmx"))
TeX-PDF-mode)
(append '(("page")
("pagebox" ("mediabox"
diff --git a/style/multirow.el b/style/multirow.el
index d5108b8..25d9f96 100644
--- a/style/multirow.el
+++ b/style/multirow.el
@@ -1,6 +1,6 @@
;;; multirow.el --- AUCTeX style for `multirow.sty' -*- lexical-binding: t;
-*-
-;; Copyright (C) 2011, 2018, 2020 Free Software Foundation, Inc.
+;; Copyright (C) 2011, 2018--2021 Free Software Foundation, Inc.
;; Author: Mads Jensen <mje@inducks.org>
;; Maintainer: auctex-devel@gnu.org
@@ -25,7 +25,7 @@
;;; Commentary:
-;; This file adds support for `multirow.sty'.
+;; This file adds support for `multirow.sty', v2.6 from 2021/01/02.
;;; Code:
@@ -40,20 +40,47 @@
"multirow"
(lambda ()
(TeX-add-symbols
- '("multirow" "Number of rows"
- [ "Big struts" ] "Width" [ "Fixup" ] t)
- "multirowsetup")
-
- (if (not (boundp 'LaTeX-bigstrut-package-options))
- (TeX-add-symbols "bigstrutjot"))
+ ;; \multirow[<vpos>]{<nrows>}[<bigstruts>]{<width>}[<vmove>]{<text>}
+ '("multirow"
+ [TeX-arg-eval completing-read
+ (TeX-argument-prompt t nil "Vertical position")
+ '("c" "b" "t")]
+ "Number of rows"
+ [ "Big struts" ]
+ (TeX-arg-eval completing-read
+ (TeX-argument-prompt nil nil "Width")
+ (append
+ '("*" "=")
+ (mapcar (lambda (x)
+ (concat TeX-esc (car x)))
+ (LaTeX-length-list))))
+ [TeX-arg-length "Vertical fix-up"]
+ t)
+ "multirowsetup"
+ "multirowdebugtrue"
+ "multirowdebugfalse")
+
+ ;; \bigstrutjot is a length defined both in multirow.sty and
+ ;; bigstrut.sty. It doesn't make a difference within AUCTeX since
+ ;; dupes are removed by the function `LaTeX-length-list'.
+ (LaTeX-add-lengths "bigstrutjot")
+
+ ;; \STneed is only defined with package option `supertabular':
+ (when (LaTeX-provided-package-options-member "multirow"
+ "supertabular")
+ (TeX-add-symbols
+ '("STneed" TeX-arg-length)))
;; Fontification
(when (and (featurep 'font-latex)
(eq TeX-install-font-lock 'font-latex-setup))
- (font-latex-add-keywords '(("multirow" "{[{")) 'function)))
+ (font-latex-add-keywords '(("multirow" "[{[{[{"))
+ 'function)))
TeX-dialect)
-(defvar LaTeX-multirow-package-options nil
+(defvar LaTeX-multirow-package-options '("debug"
+ "longtable"
+ "supertabular")
"Package options for the multirow package.")
;;; multirow.el ends here
diff --git a/style/scrbase.el b/style/scrbase.el
index ef13aff..e5cc853 100644
--- a/style/scrbase.el
+++ b/style/scrbase.el
@@ -1,6 +1,6 @@
;;; scrbase.el --- AUCTeX style for the KOMA-Script bundle. -*-
lexical-binding: t; -*-
-;; Copyright (C) 2002, 2004, 2005, 2007, 2014, 2018, 2020 Free Software
Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2005, 2007, 2014, 2018-2021 Free Software
Foundation, Inc.
;; Author: Mark Trettin <Mark.Trettin@gmx.de>
;; Created: 2002-09-26
@@ -62,7 +62,6 @@
'("maketitle" [ "Pagenumber" ])
'("marginline" t)
'("publishers" "Publishers")
- '("sectionmark" "Running head")
'("setbibpreamble" "Preamble")
'("setcaphanging")
'("setcapindent" "Indent")
@@ -73,8 +72,6 @@
'("setindexpreamble" "Preamble")
'("setkomafont" TeX-arg-KOMA-fontelements t)
'("subject" "Subject")
- '("subsectionmark" "Running head")
- '("textsubscript" "Text")
'("thanks" "Footnote")
'("thefootnotemark")
'("titlehead" t)
@@ -158,11 +155,8 @@
("marginline" "{")
("publishers" "{")
("subject" "{")
- ("sectionmark" "{")
("setbibpreamble" "{")
("setindexpreamble" "{")
- ("subsectionmark" "{")
- ("textsubscript" "{")
("titlehead" "{")
("uppertitleback" "{"))
'textual)
diff --git a/style/scrpage2.el b/style/scrpage2.el
index 2ee9b2c..33cc7c5 100644
--- a/style/scrpage2.el
+++ b/style/scrpage2.el
@@ -65,8 +65,6 @@
'("headmark")
'("manualmark")
'("pagemark")
- '("leftmark")
- '("rightmark")
'("setfootwidth" [ "Offset" ] "Width")
'("setheadwidth" [ "Offset" ] "Width")
'("setfootbotline" [ "Length" ] "Thickness")
@@ -83,7 +81,7 @@
'("renewpagestyle" "Name" "Head definition" "Foot definition")
'("providepagestyle" "Name" "Head definition" "Foot definition"))
- ;; Fontification
+ ;; Fontification
(when (and (featurep 'font-latex)
(eq TeX-install-font-lock 'font-latex-setup))
(font-latex-add-keywords '(("lehead" "[{")
diff --git a/style/thmtools.el b/style/thmtools.el
index a4a33b4..f4be618 100644
--- a/style/thmtools.el
+++ b/style/thmtools.el
@@ -1,6 +1,6 @@
-;;; thmtools.el --- AUCTeX style for `thmtools.sty' (v67) -*-
lexical-binding: t; -*-
+;;; thmtools.el --- AUCTeX style for `thmtools.sty' (v0.72) -*-
lexical-binding: t; -*-
-;; Copyright (C) 2018--2020 Free Software Foundation, Inc.
+;; Copyright (C) 2018--2021 Free Software Foundation, Inc.
;; Author: Arash Esbati <arash@gnu.org>
;; Maintainer: auctex-devel@gnu.org
@@ -26,7 +26,7 @@
;;; Commentary:
-;; This file adds support for `thmtools.sty' (v67) from 2019/07/31.
+;; This file adds support for `thmtools.sty' (v0.72) from 2020/08/01.
;; `thmtools.sty' is part of TeXLive.
;;; Code:
@@ -169,15 +169,15 @@ minibuffer. PROMPT replaces the standard one."
If OPTIONAL is non-nil, also insert the second argument in square
brackets. PROMPT replaces the standard one for the second
argument."
+ (let ((env (TeX-read-string
+ (TeX-argument-prompt optional prompt "Environment"))))
+ (LaTeX-add-environments `(,env LaTeX-thmtools-env-label))
+ (TeX-argument-insert env optional))
(let ((TeX-arg-opening-brace "[")
(TeX-arg-closing-brace "]"))
(TeX-argument-insert
(LaTeX-thmtools-declaretheorem-key-val t)
- t))
- (let ((env (TeX-read-string
- (TeX-argument-prompt optional prompt "Environment"))))
- (LaTeX-add-environments `(,env LaTeX-thmtools-env-label))
- (TeX-argument-insert env optional)))
+ t)))
(defun LaTeX-thmtools-listoftheorems-key-val (optional &optional prompt)
"Query and return a key=val string for \\listoftheorems macro.
@@ -199,13 +199,14 @@ minibuffer. PROMPT replaces the standard one."
(mapcar #'car (LaTeX-thmtools-declaretheorem-list)))))
(TeX-read-key-val
optional
- `(("numwidth" ,lengths)
+ `(("title")
("ignore" ,thms)
- ("onlynamed" ,thms)
- ("show" ,thms)
("ignoreall" ("true" "false"))
+ ("show" ,thms)
("showall" ("true" "false"))
- ("title"))
+ ("onlynamed" ,thms)
+ ("swapnumber" ("true" "false"))
+ ("numwidth" ,lengths))
prompt)))
(defun LaTeX-arg-thmtools-listoftheorems (optional &optional prompt)
@@ -230,8 +231,15 @@ RefTeX users should customize or add ENVIRONMENT to
(add-to-list \\='reftex-label-alist
\\='(\"theorem\" ?m \"thm:\" \"~\\ref{%s}\"
nil (\"Theorem\" \"theorem\") nil))"
- (let* ((choice (read-char
- (TeX-argument-prompt nil nil "Heading (h), Key=val (k),
Empty (RET)")))
+ (let* ((help-form "\
+Select the content of the optional argument with a key:
+`h' in order to insert a plain heading,
+`k' in order to insert key=value pairs with completion,
+RET in order to leave it empty.")
+ (choice (read-char-choice
+ (TeX-argument-prompt
+ nil nil "Heading (h), Key=val (k), Empty (RET)")
+ '(?h ?k)))
(opthead (cond ((= choice ?h)
(TeX-read-string
(TeX-argument-prompt t nil "Heading")))
@@ -291,7 +299,7 @@ RefTeX users should customize or add ENVIRONMENT to
(when (and (featurep 'font-latex)
(eq TeX-install-font-lock 'font-latex-setup))
(font-latex-add-keywords '(("declaretheoremstyle" "[{")
- ("declaretheorem" "[{")
+ ("declaretheorem" "[{[")
("listoftheorems" "[")
("ignoretheorems" "{"))
'function)))
diff --git a/tests/tex/utility.el b/tests/tex/utility.el
index 92442ba..ac0a8aa 100644
--- a/tests/tex/utility.el
+++ b/tests/tex/utility.el
@@ -1,6 +1,6 @@
-;;; utility.el --- tests for AUCTeX utility functions
+;;; utility.el --- tests for AUCTeX utility functions -*- lexical-binding: t;
-*-
-;; Copyright (C) 2017 Free Software Foundation, Inc.
+;; Copyright (C) 2017, 2021 Free Software Foundation, Inc.
;; This file is part of AUCTeX.
@@ -28,4 +28,31 @@
(should (TeX-delete-duplicate-strings '("nil")))
(should (TeX-delete-dups-by-car '(("nil" . 1)))))
+;; `TeX-add-to-alist' needs dynamic scope variable as its first
+;; argument.
+(defvar TeX-dummy-alist nil)
+
+(ert-deftest TeX-adding-to-alist ()
+ "Check whether `TeX-add-to-alist' works as expected."
+ (TeX-add-to-alist 'TeX-dummy-alist '((a 1)))
+ (should (equal TeX-dummy-alist '((a 1))))
+
+ (TeX-add-to-alist 'TeX-dummy-alist '((b 2 3)))
+ (should (equal TeX-dummy-alist '((a 1) (b 2 3))))
+
+ ;; Append new value(s) of the same key. The target cons is moved to
+ ;; the last of the alist.
+ (TeX-add-to-alist 'TeX-dummy-alist '((a 4)))
+ (should (equal TeX-dummy-alist '((b 2 3) (a 1 4))))
+
+ ;; Adding the same value again should not create duplicated
+ ;; elements.
+ (TeX-add-to-alist 'TeX-dummy-alist '((a 1)))
+ (should (equal TeX-dummy-alist '((b 2 3) (a 1 4))))
+
+ ;; A value which is the same as the key should be included in the
+ ;; result.
+ (TeX-add-to-alist 'TeX-dummy-alist '((a a)))
+ (should (equal TeX-dummy-alist '((b 2 3) (a 1 4 a)))))
+
;;; utility.el ends here
diff --git a/tex-buf.el b/tex-buf.el
index e4e80e5..40a2acc 100644
--- a/tex-buf.el
+++ b/tex-buf.el
@@ -359,7 +359,7 @@ Car is the idx file, cdr is whether idx changed after LaTeX
run.")
(defcustom TeX-check-engine t
- "Whether AUCTeX should check the correct engine has been set before running
LaTeX commands."
+ "Check the correct engine has been set before running TeX commands."
:group 'TeX-command
:type 'boolean)
diff --git a/tex.el b/tex.el
index 8469dd0..b59aee0 100644
--- a/tex.el
+++ b/tex.el
@@ -1365,7 +1365,7 @@ restarting Emacs."
,(let (list)
;; Build the list of available predicates.
(mapc (lambda (spec)
- (add-to-list 'list `(const ,(car spec))))
+ (cl-pushnew `(const ,(car spec)) list :test
#'equal))
(append TeX-view-predicate-list
TeX-view-predicate-list-builtin))
;; Sort the list alphabetically.
@@ -1421,7 +1421,7 @@ are evaluated positively is chosen."
;; Offer list of defined predicates.
,(let (list)
(mapc (lambda (spec)
- (add-to-list 'list `(const ,(car spec))))
+ (cl-pushnew `(const ,(car spec)) list :test
#'equal))
(append TeX-view-predicate-list
TeX-view-predicate-list-builtin))
(setq list (sort list
@@ -1437,8 +1437,8 @@ are evaluated positively is chosen."
(group (choice :tag "Viewer"
,@(let (list)
(mapc (lambda (spec)
- (add-to-list 'list
- `(const ,(car spec))))
+ (cl-pushnew `(const ,(car spec))
+ list :test #'equal))
(append TeX-view-program-list
TeX-view-program-list-builtin))
(sort list
@@ -4138,7 +4138,7 @@ If SKIP is not-nil, don't insert code for SKIP."
"Add REGEXP to `TeX-auto-regexp-list' if not already a member."
(if (symbolp TeX-auto-regexp-list)
(setq TeX-auto-regexp-list (symbol-value TeX-auto-regexp-list)))
- (or (memq regexp TeX-auto-regexp-list)
+ (or (member regexp TeX-auto-regexp-list)
(setq TeX-auto-regexp-list (cons regexp TeX-auto-regexp-list))))
(defvar TeX-auto-empty-regexp-list
@@ -4244,6 +4244,15 @@ you should not use something like `[\\(]' for a
character range."
"\\)"))
syms
lst)
+ ;; TODO: Emacs allows at most 255 groups in a regexp, see the
+ ;; "#define MAX_REGNUM 255" in regex-emacs.c. If our regex
+ ;; has more groups, bad things may happen, e.g.,
+ ;; (match-beginning 271) returns nil although the regexp that
+ ;; matched contains group number 271. Sadly, MAX_REGNUM is
+ ;; not exposed to Lisp, so we need to hard-code it here (and
+ ;; sometimes check if it increased in newer Emacs versions).
+ (when (> count 255)
+ (error "The TeX auto-parser's regexp has too many groups (%d)"
count))
(setq count 0)
(goto-char (if end (min end (point-max)) (point-max)))
(while (re-search-backward regexp beg t)
@@ -4713,9 +4722,11 @@ element to ALIST-VAR."
(set alist-var (delete old-element (symbol-value alist-var)))
;; Append to `old-element' the values of the current element of
;; NEW-ALIST.
- (mapc (lambda (elt) (add-to-list 'old-element elt t))
+ (mapc (lambda (elt)
+ (unless (member elt (cdr old-element))
+ (setq old-element (append old-element (list elt)))))
(cdr new-element))
- (set alist-var (add-to-list alist-var old-element t)))
+ (add-to-list alist-var old-element t))
(add-to-list alist-var new-element t)))
;; Next element of NEW-ALIST.
(setq new-alist (cdr new-alist))))
- [elpa] externals/auctex a1569ca 12/23: Fix use-package recipe in install docs (once again), (continued)
- [elpa] externals/auctex a1569ca 12/23: Fix use-package recipe in install docs (once again), Tassilo Horn, 2021/01/23
- [elpa] externals/auctex 74f5675 01/23: Adapt preview.el.in for `TeX-translate-location-hook', Tassilo Horn, 2021/01/23
- [elpa] externals/auctex 2c5c2e1 10/23: Add support for some missing kernel macros, Tassilo Horn, 2021/01/23
- [elpa] externals/auctex ba0b1af 21/23: Prevent inadvertent destruction of list variable, Tassilo Horn, 2021/01/23
- [elpa] externals/auctex 18af0a5 13/23: * style/extramarks.el ("extramarks"): Use reference keyword class., Tassilo Horn, 2021/01/23
- [elpa] externals/auctex 8aa5381 14/23: Delete kernel commands from styles, Tassilo Horn, 2021/01/23
- [elpa] externals/auctex 4a114d1 15/23: Fix adding duplicates to TeX-auto-regexp-list, Tassilo Horn, 2021/01/23
- [elpa] externals/auctex 11d8029 16/23: Signal an error if auto-parser regexp has too many groups, Tassilo Horn, 2021/01/23
- [elpa] externals/auctex 724da15 17/23: Update style/thmtools.el to package version 0.72, Tassilo Horn, 2021/01/23
- [elpa] externals/auctex 931dacf 20/23: ; * style/bigstrut.el: Silence the compiler., Tassilo Horn, 2021/01/23
- [elpa] externals/auctex 696400c 22/23: Merge remote-tracking branch 'origin/master' into externals/auctex,
Tassilo Horn <=
- [elpa] externals/auctex 8585c4d 19/23: Update style/bigstrut.el to package version 2.6, Tassilo Horn, 2021/01/23
- [elpa] externals/auctex 7b07019 23/23: Regenerate docs, Tassilo Horn, 2021/01/23