emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/auctex 8ccea50 13/15: Merge tag 'release_11_92' into ex


From: Tassilo Horn
Subject: [elpa] externals/auctex 8ccea50 13/15: Merge tag 'release_11_92' into externals/auctex
Date: Wed, 6 Dec 2017 09:48:35 -0500 (EST)

branch: externals/auctex
commit 8ccea501358ff93ec6f65f139f3bca692a3cbe65
Merge: 5f007f1 575078f
Author: Tassilo Horn <address@hidden>
Commit: Tassilo Horn <address@hidden>

    Merge tag 'release_11_92' into externals/auctex
---
 ChangeLog-preview                                  |   4 +
 ChangeLog.1                                        | 436 ++++++++++++++++++++-
 RELEASE                                            | 101 ++---
 configure.ac                                       |   2 +-
 doc/changes.texi                                   |   3 +
 doc/tex-ref.tex                                    |   6 +-
 latex/preview.dtx                                  |   2 +-
 style/caption.el                                   |   6 +-
 style/enumitem.el                                  |  10 +-
 style/floatrow.el                                  |   6 +-
 style/graphicx.el                                  |  10 +-
 style/listings.el                                  |   4 +-
 style/longtable.el                                 |   2 +-
 style/mdframed.el                                  |   2 +-
 style/menukeys.el                                  |   2 +-
 style/xltabular.el                                 |  76 +++-
 tests/Makefile                                     |   3 +-
 tests/context/context-test.el                      |  12 -
 tests/japanese/parse-timing.el                     |  11 -
 tests/japanese/preview-latex.el                    |  12 -
 tests/latex/latex-test.el                          |  19 -
 .../context-test.el => make-test-deps.emacs-lisp}  |  37 +-
 tests/tex/error-parsing.el                         |  12 -
 tests/tex/path-expansion.el                        |  24 --
 tests/tex/utility.el                               |   1 -
 tex-ispell.el                                      |   5 +-
 tex.el                                             |  32 +-
 27 files changed, 610 insertions(+), 230 deletions(-)

diff --git a/ChangeLog-preview b/ChangeLog-preview
index 2ac1df2..516af30 100644
--- a/ChangeLog-preview
+++ b/ChangeLog-preview
@@ -1,3 +1,7 @@
+2017-12-03  Mosè Giordano  <address@hidden>
+
+       * Version 11.92 released.
+
 2017-07-24  Mosè Giordano  <address@hidden>
 
        * Version 11.91 released.
diff --git a/ChangeLog.1 b/ChangeLog.1
index bb74bd6..5daae17 100644
--- a/ChangeLog.1
+++ b/ChangeLog.1
@@ -1,3 +1,437 @@
+2017-12-03  Mosè Giordano  <address@hidden>
+
+       * Version 11.92 released.
+
+2017-12-03  Mosè Giordano  <address@hidden>
+
+       Prepare for upcoming release
+
+       * RELEASE: Update version number and release notes.
+       * doc/changes.texi: Mention bug fixes.
+       * configure.ac:
+       * doc/tex-ref.tex:
+       * latex/preview.dtx: Update version number.
+
+2017-12-03  Ikumi Keita  <address@hidden>
+
+       Fix auto detect of kpathsea delimeter
+
+       * tex.el (TeX-kpathsea-detect-path-delimiter): New function.
+       (TeX-kpathsea-path-delimiter): Use it to obtain the default value.
+       (TeX-tree-expand): Use it to simplify auto detection method.
+       Use `TeX-kpathsea-path-delimiter' for argument given to kpsewhich
+       command.  Using constant ";" is completely wrong for most kpsewhich
+       implementation.
+
+2017-11-30  Arash Esbati  <address@hidden>
+
+       Get rid of `delete-dups'
+
+       * style/caption.el (LaTeX-caption-update-key-val-options):
+       * style/enumitem.el (LaTeX-enumitem-update-key-val-options):
+       * style/floatrow.el (LaTeX-floatrow-update-key-val-options):
+       * style/graphicx.el (LaTeX-includegraphics-extensions):
+       * style/listings.el (LaTeX-listings-update-style-key):
+       * style/mdframed.el (LaTeX-mdframed-update-style-key):
+       * style/menukeys.el (TeX-arg-menukeys-newmenumacro): Replace
+       `delete-dups' with `TeX-delete-duplicate-strings'.
+
+2017-11-30  Arash Esbati  <address@hidden>
+
+       * style/longtable.el ("longtable"): Use `make-local-variable'.
+
+       * tex-ispell.el: Add entry for "xltabular" environment.
+
+2017-11-30  Arash Esbati  <address@hidden>
+
+       Fix style/xltabular.el
+
+       * style/xltabular.el (LaTeX-xltabular-skipping-regexp): New variable.
+       (LaTeX-env-xltabular):
+       (LaTeX-item-xltabular): New function.
+       ("xltabular"): Use the above functions in the style hook.
+
+2017-11-30  Mosè Giordano  <address@hidden>
+
+       Reduce code duplication in tests
+
+       * tests/make-test-deps.emacs-lisp: New file.
+       * tests/Makefile (%.log): Load it make-test-deps.emacs-lisp when 
running tests.
+       * tests/context/context-test.el:
+       * tests/japanese/error-parsing.el:
+       * tests/japanese/parse-timing.el:
+       * tests/japanese/preview-latex.el:
+       * tests/latex/latex-test.el:
+       * tests/tex/error-parsing.el:
+       * tests/tex/path-expansion.el:
+       * tests/tex/utility.el: Remove code moved to make-test-deps.emacs-lisp.
+
+2017-11-30  Ikumi Keita  <address@hidden>
+
+       Revert wrong test
+
+       * tests/tex/path-expansion.el (TeX-kpathsea-delimiter-w32): Remove.
+
+2017-11-30  Ikumi Keita  <address@hidden>
+
+       Add style path explicitly
+
+       * tests/japanese/error-parsing.el ():
+       * tests/japanese/parse-timing.el ():
+       * tests/japanese/preview-latex.el (): Add "style" subdirectory in the
+       repository to `TeX-style-path' so we can load style files inside tests.
+
+2017-11-29  Ikumi Keita  <address@hidden>
+
+       Re-implement auto-detect of path separator from kpsewhich output
+
+       * tex.el (TeX-kpathsea-path-delimiter): Accept t for Autodetect again
+       and make it default on w32 platform.
+       (TeX-tree-expand): Use heuristics as much as possible to determine the
+       path separator, paying attention to the case that it cannot be
+       determined.
+
+2017-11-23  Tassilo Horn  <address@hidden>
+
+       Don't set company-minimum-prefix-length in tex mode buffers
+
+       * tex.el (VirTeX-common-initialization): Don't set
+       company-minimum-prefix-length in tex mode buffers.
+
+       AUCTeX used to set company-minimum-prefix-length to 1 initially because 
there
+       aren't too many TeX completions provided by AUCTeX itself.  However, 
some users
+       use multiple completion backends in TeX modes (like dabbrev for 
example), and
+       then the number of completion candidates increases dramatically.
+
+       Also see https://github.com/syl20bnr/spacemacs/issues/9388 and
+       https://github.com/alexeyr/company-auctex/issues/18.
+
+2017-11-19  Arash Esbati  <address@hidden>
+
+       * doc/changes.texi: Mention compatibility of preview with GS 9.22.
+
+2017-11-18  Arash Esbati  <address@hidden>
+
+       Improve style/epigraph.el
+
+       * style/epigraph.el ("epigraph"): Leave point inside first pair of
+       braces for \epigraph and \qitem.
+       Use `LaTeX-add-lengths' for skips instead of `TeX-add-symbols'.
+       Use `TeX-arg-length' instead of `TeX-arg-size' for \dropchapter.
+       Append qitem macro to `LaTeX-item-regexp'.
+       Improve fontification.
+
+2017-11-16  Ikumi Keita  <address@hidden>
+
+       Give proper argument to `TeX-command-expand'
+
+       * preview.el.in (TeX-inline-preview-internal): Give `TeX-region-file'
+       or `TeX-master-file' as `file' argument of `TeX-command-expand' when
+       preamble caching is enabled.  This argument used to be nil, which
+       caused error when lualatex is in use.  The fourth element of the
+       `luatex' entry of `TeX-engine-alist-builtin' contains "%s", which
+       eventually triggers the use of the `file' argument.
+
+2017-11-15  Ikumi Keita  <address@hidden>
+
+       Add test for the recent change about `TeX-kpathsea-path-delimiter'
+
+       * tests/tex/path-expansion.el (TeX-kpathsea-delimiter-w32): New test.
+
+2017-11-15  Ikumi Keita  <address@hidden>
+
+       Document `TeX-view-evince-keep-focus'
+
+       * doc/auctex.texi (Starting Viewers):
+       * doc/changes.texi (News in 11.92):
+       Document `TeX-view-evince-keep-focus'.
+
+2017-11-14  Ikumi Keita  <address@hidden>
+
+       Document `TeX-math-input-method-off-regexp' properly.
+
+       * doc/auctex.texi (Entering Mathematics):
+       * doc/changes.texi (News in 11.92):
+       Document `TeX-math-input-method-off-regexp'.
+
+2017-11-13  Ikumi Keita  <address@hidden>
+
+       Mention the necessity of GNU make
+
+       * doc/install.texi (Prerequisites): Add an item of GNU make.
+       Fix copyright year.
+
+2017-11-13  Ikumi Keita  <address@hidden>
+
+       Bug fix and code refactoring related to kpathsea
+
+       * tex.el (TeX-kpathsea-path-delimiter): Use `path-separator' for
+       default value.  Drop t from the candidates because auto detection
+       sometimes fails for w32 platform.
+       (TeX-tree-expand): Always use `TeX-kpathsea-path-delimiter' if
+       non-nil.
+       Disable subsequent use of kpathsea if kpsewhich causes error or
+       returns non-zero exit value.
+       Accept nil for PROGRAM argument.
+       (TeX-search-files-kpathsea): Always use `TeX-kpathsea-path-delimiter' if
+       non-nil.
+       Use `TeX-tree-expand'.
+       Don't signal error even if kpsewhich causes error or returns non-zero
+       exit value.
+
+2017-11-12  Arash Esbati  <address@hidden>
+
+       Add new style/xltabular.el
+
+       * Makefile.in (STYLESRC): Add new style.
+
+       * style/xltabular.el: New file.
+
+2017-11-12  Arash Esbati  <address@hidden>
+
+       Add new function `LaTeX-env-longtable'
+
+       * style/longtable.el (LaTeX-env-longtable): Add new function.
+       Move the body of the anonymous function into this in order to make
+       it available for other styles loading longtable.
+
+2017-11-10  Ikumi Keita  <address@hidden>
+
+       * tex.el (TeX-math-input-method-off-regexp): Turn defvar into defcustom.
+
+2017-11-06  David Kastrup  <address@hidden>
+
+       Remove use of .runandhide operator
+
+       Ghostscript bug 698680
+       <https://bugs.ghostscript.com/show_bug.cgi?id=698680> has been caused
+       by the removal of the .runandhide operator in Ghostscript 9.22
+       upstream.  Since .runandhide has no longer been used in a
+       security-critical manner, its operation can be emulated by storing the
+       respective information in a .preview-ST variable.  Potentially
+       malicious code would not be able to retrieve a non-safe "save" object
+       from here.
+
+2017-09-30  Ikumi Keita  <address@hidden>
+
+       Fix Copyright year
+
+       * context-en.el, context-nl.el, latex.el, plain-tex.el:
+       * preview.el.in, prv-xemacs.el, tex-bar.el, tex-buf.el:
+       * tex-info.el, tex-site.el.in, tex-style.el, tex.el:
+       Fix Copyright year.
+
+2017-09-21  Ikumi Keita  <address@hidden>
+
+       Cosmetic Change
+
+       * font-latex.el (font-latex-match-math-env): Quote "\[" with "\=" in
+       doc string.
+       (font-latex-add-to-syntax-alist): Delete duplicated line.
+
+2017-09-21  Ikumi Keita  <address@hidden>
+
+       Fix doc strings and comments
+
+       * plain-tex.el (TeX-plain-tex-mode, ams-tex-mode): Fix doc strings.
+       * tex-fold.el (): Fix typo.
+
+2017-09-21  Ikumi Keita  <address@hidden>
+
+       Make preview-latex parsing robust to fix Bug#20773, Bug#27088
+
+       * preview.el.in (TeX-inline-preview-internal): Set environment
+       variable max_print_line to sufficiently large value of 1000 so that
+       LaTeX process does not insert newline in lines necessary to identify
+       Bounding Boxes.
+
+2017-09-21  Ikumi Keita  <address@hidden>
+
+       Add test abount truncation of list
+
+       * tests/tex/path-expansion.el: New file to test whether
+       `TeX-search-files-by-type' does not truncate the value of list
+       variable.
+
+2017-09-18  Ikumi Keita  <address@hidden>
+
+       Prevent possible truncation of list value
+
+       * tex.el (TeX-search-files-by-type): Use
+       `TeX-delete-duplicate-strings' instead of `delete-dups'.
+
+2017-09-16  Ikumi Keita  <address@hidden>
+
+       Add a new option for evince compatible viewer.
+
+       * tex.el: (TeX-view-evince-keep-focus): New option.
+       (TeX-evince-sync-view-1): Pull the focus back to Emacs if the above
+       new option is non-nil.
+
+2017-09-15  Ikumi Keita  <address@hidden>
+
+       Make correct extensions are returned
+
+       * style/graphicx.el (LaTeX-includegraphics-extensions):
+       Fix misaligned form structure which prevented `cond' to enter clauses
+       for engines other than default.
+       Use copied list for the last argument of `append' so that
+       `delete-dups' does not alter the value of
+       `LaTeX-includegraphics-extensions'.
+       Use `delete' rather than `remove' for copied sequence.
+       ():
+       (LaTeX-includegraphics-read-file-relative):
+       Fix typos.
+
+2017-09-10  Ikumi Keita  <address@hidden>
+
+       Add test for infinite loop
+
+       * tests/tex/utility.el: New file.
+
+2017-09-10  Ikumi Keita  <address@hidden>
+
+       Parse package/class option with comments correctly
+
+       * latex.el: (LaTeX-auto-class-regexp-list): Replace the regexp for
+       RequirePackage/LoadClass option with the same one for usepackage.
+       * tests/latex/latex-test.el: Add test for the change above.
+
+2017-09-02  Ikumi Keita  <address@hidden>
+
+       Conform to elisp coding convention
+
+       * style/biblatex.el (LaTeX-arg-addbibresource)
+       (LaTeX-biblatex-package-options):
+       * style/fontspec.el (LaTeX-fontspec-arg-font):
+       Add "done" message.
+       * style/relsize.el ("relsize"): Tailor prompt string.
+       * style/bidi.el: Remove spurious execution bit.
+
+2017-08-31  Ikumi Keita  <address@hidden>
+
+       Prevent possible infinite loop
+
+       * tex.el (TeX-delete-duplicate-strings): Make sure that comparison is
+       done with valid list elements.
+       (TeX-delete-dups-by-car): Ditto.
+       Use `TeX-sort-strings' and `TeX-car-string-lessp'.
+       (TeX-car-string-lessp): Move the position of defun before the
+       defcustom of `TeX-engine'.  Since the defcustom requires
+       `TeX-delete-dups-by-car' at load time, all the functions used in
+       `TeX-delete-dups-by-car' must be defined before the defcustom.
+
+2017-08-31  Ikumi Keita  <address@hidden>
+
+       Use `delete' correctly for list variable
+
+       * tex.el (TeX-search-files-kpathsea): Make sure that "." will be
+       removed from the directory list even if "." is the first element of
+       the list, when the SCOPE argument is `global'.
+
+2017-08-26  Ikumi Keita  <address@hidden>
+
+       Add test for my commit on Aug 18
+
+       * tests/japanese/parse-timing-test.tex:
+       * tests/japanese/parse-timing.el:
+       New file.
+
+2017-08-26  Ikumi Keita  <address@hidden>
+
+       Fix doc string and indent
+
+       * tex.el (TeX-PDF-from-DVI, TeX-insert-braces-alist)
+       (TeX-arg-literal, TeX-auto-add-type):
+       Fix doc string.
+       (TeX-auto-parse-region): Fix indent.
+
+2017-08-25  Ikumi Keita  <address@hidden>
+
+       Add %(PDF) when undumped format is used in preview-latex
+
+       * preview.el.in (TeX-inline-preview-internal): Make pdflatex to be
+       called when default output is PDF and dumped format is used.  Although
+       it seems that if the dumped format is created by pdflatex, the format
+       produces PDF output even when the command name is (non-pdf) latex, it
+       would be better that pdflatex is used in that case, too.
+
+2017-08-20  Arash Esbati  <address@hidden>
+
+       Add new style/arabxetex.el
+
+       * Makefile.in (STYLESRC): Add new style.
+
+       * style/arabxetex.el: New file.
+
+2017-08-18  Vincent Belaïche  <address@hidden>
+
+       Improvements for tex-info.el
+
+       * tex-info.el (Texinfo-arg-nodename): Fix default prompt.
+       (Texinfo-arg-lrc): New function, used for commands that take Left,
+       Center, and Right entries for setting page header.
+       (Texinfo-arg-next-line): New function. Used to break line if need
+       be after entering command argument.
+       (Texinfo-arg-on|off): New function for entering boolean input.
+       (TeX-texinfo-mode): Add TeX symbols `allowcodebreak', `atchar',
+       `codequotebacktick', `codequoteundirected', `documentlanguage',
+       `documentencoding', `evenfooting', `evenheading', `everyfooting',
+       `everyheading', `LaTeX', `oddfooting', `oddheading',
+       `setchapternewpage', and `url'.
+
+2017-08-18  Ikumi Keita  <address@hidden>
+
+       Use #' to quote function names
+
+       * tex-jp.el (japanese-plain-tex-mode-initialization,
+       add-hook, japanese-latex-mode-initialization,
+       japanese-TeX-reset-mode-name, TeX-insert-punctuation):
+       Use #' to quote function names.
+
+2017-08-18  Ikumi Keita  <address@hidden>
+
+       Delay setting Japanese TeX engine in `japanese-latex-mode'
+
+       * tex-jp.el (japanese-latex-mode-initialization): The part which
+       guesses and sets `TeX-engine' using `TeX-match-style' is factored out
+       and put in `TeX-update-style-hook'.  `TeX-match-style' eventually
+       triggers `TeX-update-style', which isn't appropriate in
+       `LaTeX-mode-hook'.
+       (japanese-LaTeX-guess-engine): New function.
+
+2017-08-11  Arash Esbati  <address@hidden>
+
+       * style/XCharter.el ("XCharter"): Update to package v1.094 from 
2017/08/08.
+
+2017-08-09  Arash Esbati  <address@hidden>
+
+       * style/amsthm.el ("amsthm"): Use `LaTeX-amsthm-env-label'.
+
+2017-07-31  Ikumi Keita  <address@hidden>
+
+       Conform to elisp coding convention in context.el
+
+       * context.el (ConTeXt-numbered-section-heading,
+       ConTeXt-unnumbered-section-heading, ConTeXt-environment): Tailor
+       prompt string.
+       (ConTeXt-menu-update): Add "done" messages.
+
+2017-07-25  Stefan Monnier  <address@hidden>
+
+       * font-latex.el: Use the standard utf-8 rather than latin-1
+
+2017-07-25  Stefan Monnier  <address@hidden>
+
+       Fix unescaped character literals
+
+       * font-latex.el (font-latex-command-with-args-opt-arg-delims)
+       * tex-fold.el (TeX-fold-expand-spec): Escape [ and ] character literals
+
+2017-07-25  Tassilo Horn  <address@hidden>
+
+       Manually cherry-pick commit bc0db60e
+
 2017-07-24  Mosè Giordano  <address@hidden>
 
        * Version 11.91 released.
@@ -22005,7 +22439,7 @@
 
 This file records repository revisions from
 commit c865982cacab289f4480f9145b3438ec06824232 (exclusive) to
-commit 17118fb3aabba5a158c8ff8b4f5ec4f215547d2b (inclusive).
+commit acb5cf61db33b399939997bc1088715959f575fb (inclusive).
 
 ;; Local Variables:
 ;; coding: utf-8
diff --git a/RELEASE b/RELEASE
index 015ff39..faea7ac 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,4 +1,4 @@
-Release notes for AUCTeX 11.91 with preview-latex
+Release notes for AUCTeX 11.92 with preview-latex
 =================================================
 
 AUCTeX provides by far the most wide-spread and sophisticated
@@ -24,82 +24,25 @@ sleuth work, testing.
 New features and fixed bugs in this release
 -------------------------------------------
 
-Now AUCTeX has a logo.  The LaTeX code to create it is available in
-the 'etc/' directory of the package.
-
-Add support for 'upmendex', an extension of 'makeindex' capable of
-sorting indexes by unicode based ICU.
-
-Fix preview-latex to interact correctly with Japanese LaTeX.  The
-parsing routine was made robust not to be confused by the 7-bit
-encoding of Japanese text and the necessary option to LaTeX command
-is kept even when preamble caching is enabled.
-
-The new "Glossaries" entry in 'TeX-command-list' runs the command
-'makeglossaries'.
-
-Fontification of control symbols has been improved.  Characters
-defined in 'font-latex-match-simple-exclude-list' do not receive
-any fontification.  In DocTeX mode, the character '_' is removed
-from 'font-latex-match-simple-exclude-list' in order to fontify
-macros like '\__module_foo:nnn' correctly.
-
-Fontification of math environments has been improved.  Optional
-and/or mandatory argument(s) to environments are not fontified.
-
-'preview.sty' loads 'luatex85.sty' if possible and should be
-compatible with newer luaTeX versions.
-
-AUCTeX has a new customize option 'TeX-ispell-verb-delimiters'.
-This string contains usual characters used as delimiters for
-in-line verbatim macros like '\verb'.  Text between delimiters
-after an in-line verbatim macro will be skipped during spell
-checking.
-
-Fontification of in-line verbatim macros has been improved.
-'font-latex.el' recognizes an optional or a mandatory argument for
-macros like '\Verb' from 'fancyvrb.sty', '\mint' and '\mintinline'
-from 'minted.sty' and fontifies verbatim content correctly.
-
-AUCTeX can put and parse labels in optional argument of
-environments.  Inserting labels is done by new function
-'LaTeX-env-label-as-keyval'.  A new customize option
-'LaTeX-listing-label' is available as prefix to labels in code
-typesetting environments, e.g.  'lstlisting' environment provided
-by 'listings' package.  'LaTeX-listing-label' defaults to 'lst:'.
-Parsing of labels for later referencing relies on two requirements:
-  1. Label should come as last key-value argument, and
-  2. label must be enclosed in braces, e.g.
-          \begin{lstlisting}[caption=Some Caption,label={lst:foo}]
-          ...
-          \end{lstlisting}
-
-The function 'LaTeX-label' now takes a second optional argument
-'NO-INSERT'.  When non-'nil', 'LaTeX-label' reads a label and
-returns it as a string.  This argument is also passed to any
-function bound to 'LaTeX-label-function' (see next item).
-
-*Incompatible change:* The signature for the function passed with
-the customize option 'LaTeX-label-function' has changed.  The
-function bound to this variable is now expected to take an optional
-second argument 'NO-INSERT'.  When this argument is non-'nil', the
-function should read and only return a label as a string; insertion
-is done by another function.
-
-Directory local variables were ineffective for
-'japanese-latex-mode' and 'japanese-plain-tex-mode'.  This bug was
-fixed.  (This was actually done in AUCTeX 11.90, but not
-advertised)
-
-The output of Japanese text from Japanese TeX engines is decoded
-correctly for most cases, according to the encoding of the TeX
-documents and the locale.  The difference between MS Windows, macOS
-and unix-like OS is taken into account.  (This was actually done in
-AUCTeX 11.90, but not advertised)
-
-Quite a few new LaTeX packages are supported.
-
-As usual, many bugs were fixed.
+preview-latex is compatible with Ghostscript 9.22 where the
+operator '.runandhide' is removed.  All occurrences of
+'.runandhide' in preview-latex are replaced by alternative code
+making it work with Ghostscript 9.22 again.
+
+AUCTeX has a new customize option
+'TeX-math-input-method-off-regexp'.  When you begin to input a math
+formula, the current input method is turned off if its name matches
+this regular expression.
+
+In fact this variable was introduced long before, but has not been
+documented in info files nor turned into a customize option with
+'defcustom' until this release.
+
+The window system focus is pulled back to Emacs when viewing with
+evince-compatible viewers if a new customize option
+'TeX-view-evince-keep-focus' is non-nil.
+
+The usual dose of bug fixes was administered.
 
 Requirements
 ------------
@@ -121,6 +64,10 @@ You'll also need a working LaTeX installation and 
Ghostscript.
 dvipng[4] (version 1.4 or later), a very fast DVI converter, can be
 used to speed up the conversion.
 
+NOTE: This will be the last release in the 11 series.  Version 12 of
+AUCTeX, which is due to come in a few days, will support only GNU
+Emacs 24 or higher.
+
 Availability
 ------------
 
diff --git a/configure.ac b/configure.ac
index 3c7b546..43f913a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -21,7 +21,7 @@ dnl along with AUCTeX; see the file COPYING.  If not, write 
to the Free
 dnl Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 dnl MA 02110-1301, USA.
 
-AC_INIT(auctex,11.91,address@hidden)
+AC_INIT(auctex,11.92,address@hidden)
 
 AC_CHECK_PROGS_REQUIRED(MAKECMD, make, [make not found, aborting!])
 AC_PROG_MAKE_SET
diff --git a/doc/changes.texi b/doc/changes.texi
index bf34e22..621c6bb 100644
--- a/doc/changes.texi
+++ b/doc/changes.texi
@@ -31,6 +31,9 @@ documented in info files nor turned into a customize option 
with
 The window system focus is pulled back to Emacs when viewing with
 evince-compatible viewers if a new customize option
 @code{TeX-view-evince-keep-focus} is non-nil.
+
address@hidden
+The usual dose of bug fixes was administered.
 @end itemize
 
 @heading News in 11.91
diff --git a/doc/tex-ref.tex b/doc/tex-ref.tex
index b86a221..8e5c6ce 100644
--- a/doc/tex-ref.tex
+++ b/doc/tex-ref.tex
@@ -1,4 +1,4 @@
-% Reference Card for AUCTeX version 11.91
+% Reference Card for AUCTeX version 11.92
 %**start of header
 \newcount\columnsperpage
 
@@ -42,9 +42,9 @@
 % Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
 % for creating the GNU Emacs Reference Card from which this was mutated
 
-\def\versionnumber{11.91}
+\def\versionnumber{11.92}
 \def\year{2017}
-\def\version{July \year\ v\versionnumber}
+\def\version{December \year\ v\versionnumber}
 
 \def\shortcopyrightnotice{\vskip 1ex plus 2 fill
   \centerline{\small \copyright\ \year\ Free Software Foundation, Inc.
diff --git a/latex/preview.dtx b/latex/preview.dtx
index b180b28..ad36113 100644
--- a/latex/preview.dtx
+++ b/latex/preview.dtx
@@ -439,7 +439,7 @@
 \NeedsTeXFormat{LaTeX2e} address@hidden #1#2$#3:
 address@hidden #2#4 $}} address@hidden #1 #2${#1}
 \begingroup \catcode`\_=12
address@hidden@version $Name: release_11_91 $ address@hidden@empty
address@hidden@version $Name: release_11_92 $ address@hidden@empty
 address@hidden@version CVS-$Revision: 1.126 $ \endgroup \else
   \def\next release_{} \lccode`\_=`.
   \edef\next{\lowercase{\endgroup
diff --git a/style/caption.el b/style/caption.el
index 1a0eb7e..df6328e 100644
--- a/style/caption.el
+++ b/style/caption.el
@@ -176,9 +176,9 @@ in `caption'-completions."
              (when (and (string-equal key "labelformat")
                         (boundp 'LaTeX-subcaption-key-val-options))
                (pushnew (list "subrefformat"
-                              (delete-dups (apply #'append (list val) 
val-match)))
+                              (TeX-delete-duplicate-strings (apply #'append 
(list val) val-match)))
                         opts :test #'equal))
-             (pushnew (list key (delete-dups (apply #'append (list val) 
val-match)))
+             (pushnew (list key (TeX-delete-duplicate-strings (apply #'append 
(list val) val-match)))
                       opts :test #'equal))
          (pushnew (list key (list val)) opts :test #'equal)))
       (setq LaTeX-caption-key-val-options-local (copy-alist opts))))
@@ -192,7 +192,7 @@ in `caption'-completions."
             (val-match (cdr (assoc key LaTeX-caption-key-val-options-local)))
             (temp (copy-alist LaTeX-caption-key-val-options-local))
             (opts (assq-delete-all (car (assoc key temp)) temp)))
-       (pushnew (list key (delete-dups (apply #'append val val-match)))
+       (pushnew (list key (TeX-delete-duplicate-strings (apply #'append val 
val-match)))
                 opts :test #'equal)
        (setq LaTeX-caption-key-val-options-local (copy-alist opts))))))
 
diff --git a/style/enumitem.el b/style/enumitem.el
index 94de0e9..699dbe6 100644
--- a/style/enumitem.el
+++ b/style/enumitem.el
@@ -263,10 +263,10 @@ in `enumitem'-completions."
           (val (nth 2 keyvals))
           ;; (key-match (car (assoc key LaTeX-enumitem-key-val-options-local)))
           (val-match (cdr (assoc key LaTeX-enumitem-key-val-options-local)))
-          (temp  (copy-alist LaTeX-enumitem-key-val-options-local))
+          (temp (copy-alist LaTeX-enumitem-key-val-options-local))
           (opts (assq-delete-all (car (assoc key temp)) temp)))
       (if val-match
-         (pushnew (list key (delete-dups (apply 'append (list val) val-match)))
+         (pushnew (list key (TeX-delete-duplicate-strings (apply #'append 
(list val) val-match)))
                   opts :test #'equal)
        (pushnew (list key (list val)) opts :test #'equal))
       (setq LaTeX-enumitem-key-val-options-local (copy-alist opts))))
@@ -276,7 +276,7 @@ in `enumitem'-completions."
           (val-match (cdr (assoc key LaTeX-enumitem-key-val-options-local)))
           (temp (copy-alist LaTeX-enumitem-key-val-options-local))
           (opts (assq-delete-all (car (assoc key temp)) temp)))
-      (pushnew (list key (delete-dups (apply 'append (list val) val-match)))
+      (pushnew (list key (TeX-delete-duplicate-strings (apply #'append (list 
val) val-match)))
               opts :test #'equal)
       (setq LaTeX-enumitem-key-val-options-local (copy-alist opts)))))
 
@@ -362,7 +362,7 @@ in `enumitem'-completions."
 
     ;; \setlist[<names,levels>]{<key-vals>}
     '("setlist"
-      [TeX-arg-eval mapconcat 'identity
+      [TeX-arg-eval mapconcat #'identity
                    (TeX-completing-read-multiple
                     "Environment(s), level(s): "
                     `(,@LaTeX-enumitem-newlist-list-local
@@ -375,7 +375,7 @@ in `enumitem'-completions."
 
     ;; \setlist*[<names,levels>]{<key-vals>}
     '("setlist*"
-      [TeX-arg-eval mapconcat 'identity
+      [TeX-arg-eval mapconcat #'identity
                    (TeX-completing-read-multiple
                     "Environment, level: "
                     `(,@LaTeX-enumitem-newlist-list-local
diff --git a/style/floatrow.el b/style/floatrow.el
index 422c87a..5beb109 100644
--- a/style/floatrow.el
+++ b/style/floatrow.el
@@ -317,14 +317,14 @@
                          (assq-delete-all (car (assoc key temp)) temp)))))
        (cond ((string= key "precode")
               (dolist (x vcode-keys)
-                (pushnew (list x (delete-dups (append (list val) val-match)))
+                (pushnew (list x (TeX-delete-duplicate-strings (append (list 
val) val-match)))
                          opts :test #'equal)))
              ((string= key "floatrowsep")
               (dolist (x sep-keys)
-                (pushnew (list x (delete-dups (append (list val) val-match)))
+                (pushnew (list x (TeX-delete-duplicate-strings (append (list 
val) val-match)))
                          opts :test #'equal)))
              (t
-              (pushnew (list key (delete-dups (append (list val) val-match)))
+              (pushnew (list key (TeX-delete-duplicate-strings (append (list 
val) val-match)))
                        opts :test #'equal)))
        (setq LaTeX-floatrow-key-val-options-local (copy-alist opts))))))
 
diff --git a/style/graphicx.el b/style/graphicx.el
index 6ba58e4..08dbf75 100644
--- a/style/graphicx.el
+++ b/style/graphicx.el
@@ -119,31 +119,31 @@ key-val's."
                       ;; t if pdftex is used in dvi-mode
                       TeX-DVI-via-PDFTeX)
                     ;; We're using pdflatex in pdf-mode
-                    (delete-dups
+                    (TeX-delete-duplicate-strings
                      (append LaTeX-includegraphics-pdftex-extensions
                              temp))
                   ;; We're generating a .dvi to process with dvips or dvipdfmx
                   (progn
                     (dolist (x '("jpe?g" "pdf" "png"))
                       (setq temp (delete x temp)))
-                    (delete-dups
+                    (TeX-delete-duplicate-strings
                      (append LaTeX-includegraphics-dvips-extensions
                              temp)))))
                ;; Running luatex in pdf or dvi-mode:
                ((eq TeX-engine 'luatex)
                 (if TeX-PDF-mode
-                    (delete-dups
+                    (TeX-delete-duplicate-strings
                      (append LaTeX-includegraphics-pdftex-extensions
                              temp))
                   (progn
                     (dolist (x '("jpe?g" "pdf" "png"))
                       (setq temp (delete x temp)))
-                    (delete-dups
+                    (TeX-delete-duplicate-strings
                      (append LaTeX-includegraphics-dvips-extensions
                              temp)))))
                ;; Running xetex in any mode:
                ((eq TeX-engine 'xetex)
-                (delete-dups (append LaTeX-includegraphics-xetex-extensions
+                (TeX-delete-duplicate-strings (append 
LaTeX-includegraphics-xetex-extensions
                                      temp)))
                ;; For anything else
                (t
diff --git a/style/listings.el b/style/listings.el
index e04045e..73ddc00 100644
--- a/style/listings.el
+++ b/style/listings.el
@@ -284,8 +284,8 @@ with user-defined values via the \"lstdefinestyle\" macro."
         (key (car elt))
         (temp (copy-alist LaTeX-listings-key-val-options-local))
         (opts (assq-delete-all (car (assoc key temp)) temp)))
-    (pushnew (list key (delete-dups
-                       (mapcar 'car (LaTeX-listings-lstdefinestyle-list))))
+    (pushnew (list key (TeX-delete-duplicate-strings
+                       (mapcar #'car (LaTeX-listings-lstdefinestyle-list))))
             opts :test #'equal)
     (setq LaTeX-listings-key-val-options-local
          (copy-alist opts))))
diff --git a/style/longtable.el b/style/longtable.el
index b57833b..0231b7b 100644
--- a/style/longtable.el
+++ b/style/longtable.el
@@ -106,7 +106,7 @@ insert line break macro."
 
    ;; Use the enhanced table formatting.  Append to
    ;; `LaTeX-indent-environment-list' in order not to override custom settings.
-   (add-to-list (make-variable-buffer-local 'LaTeX-indent-environment-list)
+   (add-to-list (make-local-variable 'LaTeX-indent-environment-list)
                '("longtable" LaTeX-indent-tabular) t)
 
    ;; Append longtable to `LaTeX-label-alist', in order not to override 
possible
diff --git a/style/mdframed.el b/style/mdframed.el
index 79a3a8b..cd26e3f 100644
--- a/style/mdframed.el
+++ b/style/mdframed.el
@@ -214,7 +214,7 @@
           (val (cadr (assoc "style" LaTeX-mdframed-key-val-options)))
           (temp (copy-alist LaTeX-mdframed-key-val-options-local))
           (opts (assq-delete-all (car (assoc key temp)) temp)))
-      (pushnew (list key (delete-dups
+      (pushnew (list key (TeX-delete-duplicate-strings
                          (append val (mapcar #'car 
(LaTeX-mdframed-mdfdefinestyle-list)))))
               opts :test #'equal)
       (setq LaTeX-mdframed-key-val-options-local
diff --git a/style/menukeys.el b/style/menukeys.el
index 360cd4e..2ac0560 100644
--- a/style/menukeys.el
+++ b/style/menukeys.el
@@ -132,7 +132,7 @@ macro.  If RENEW is non-nil, query for an already defined 
macro."
   (let ((macro (if renew
                   (completing-read
                    (concat "Macro: " TeX-esc)
-                   (delete-dups (mapcar #'car 
(LaTeX-menukeys-newmenumacro-list))))
+                   (TeX-delete-duplicate-strings (mapcar #'car 
(LaTeX-menukeys-newmenumacro-list))))
                 (TeX-read-string (concat "Macro: " TeX-esc))))
        (sep   (completing-read
                (TeX-argument-prompt optional nil "Input separator (default ,)")
diff --git a/style/xltabular.el b/style/xltabular.el
index e78b4e9..af34313 100644
--- a/style/xltabular.el
+++ b/style/xltabular.el
@@ -29,27 +29,91 @@
 ;; This file adds support for `xltabular.sty' (v0.05) from 2017/10/26.
 ;; `xltabular.sty' is part of TeXLive.
 
+(defvar LaTeX-xltabular-skipping-regexp
+  (concat "[ \t]*" (regexp-opt '("[l]" "[r]" "[c]" "")) "[ \t]*{[^}]*}[ \t]*")
+  "Regexp matching between \\begin{xltabular} and column specification.
+For xltabular environment only.  See `LaTeX-insert-ampersands' for detail.
+
+This regexp assumes that the width specification contains neither
+nested curly brace pair nor escaped \"}\".")
+
+(defun LaTeX-env-xltabular (environment)
+  "Insert a xltabular ENVIRONMENT with spec, caption and label."
+  ;; xltabular has the following syntax:
+  ;;   \begin{xltabular}[hPos]{width}{ l X ...}
+  ;; Optional <hPos> comes before <width>, hence we cannot use
+  ;; `LaTeX-env-tabular*' here and has to cook our own function which
+  ;; is a combination of `LaTeX-env-tabular*' and
+  ;; `LaTeX-env-longtable':
+  (let* ((pos (completing-read (TeX-argument-prompt t nil "Position")
+                              '("l" "r" "c")))
+        (width (TeX-read-string "Width: " LaTeX-default-width))
+        (fmt (TeX-read-string "Format: " LaTeX-default-format))
+        (caption (TeX-read-string "Caption: "))
+        (short-caption (when (>= (length caption) 
LaTeX-short-caption-prompt-length)
+                         (TeX-read-string "(Optional) Short caption: "))))
+    (setq LaTeX-default-format fmt)
+    (LaTeX-insert-environment environment
+                             (concat
+                              (unless (zerop (length pos))
+                                (concat LaTeX-optop pos LaTeX-optcl))
+                              (concat TeX-grop width TeX-grcl)
+                              (concat TeX-grop fmt TeX-grcl)))
+    ;; top caption -- do nothing if user skips caption
+    (unless (zerop (length caption))
+      ;; insert `\caption[short-caption]{caption':
+      (insert TeX-esc "caption")
+      (when (and short-caption (not (string= short-caption "")))
+       (insert LaTeX-optop short-caption LaTeX-optcl))
+      (insert TeX-grop caption)
+      ;; ask for a label and insert it
+      (LaTeX-label environment 'environment)
+      ;; the longtable `\caption' is equivalent to a
+      ;; `\multicolumn', so it needs a `\\' at the
+      ;; end of the line.  Prior to that, add } to
+      ;; close `\caption{'
+      (insert TeX-grcl "\\\\")
+      ;; fill the caption
+      (LaTeX-fill-paragraph)
+      ;; Insert a new line and indent
+      (LaTeX-newline)
+      (indent-according-to-mode))
+    ;; Insert suitable number of &'s, suppress line break
+    (LaTeX-item-xltabular t)))
+
+(defun LaTeX-item-xltabular (&optional suppress)
+  "Insert line break macro on the last line and suitable number of &'s.
+For xltabular environment only.
+
+If SUPPRESS is non-nil, do not insert line break macro."
+  (unless suppress
+    (save-excursion
+      (end-of-line 0)
+      (just-one-space)
+      (TeX-insert-macro "\\")))
+  (LaTeX-insert-ampersands
+   LaTeX-xltabular-skipping-regexp #'LaTeX-array-count-columns))
+
 (TeX-add-style-hook
  "xltabular"
  (lambda ()
    ;; ltablex loads both tabularx and longtable
    (TeX-run-style-hooks "ltablex")
 
-   ;; `LaTeX-env-longtable' is provided by `longtable.el':
-   (LaTeX-add-environments
-    '("xltabular" LaTeX-env-longtable))
+   ;; Add xltabular with `LaTeX-env-xltabular'::
+   (LaTeX-add-environments '("xltabular" LaTeX-env-xltabular))
 
    ;; Use the enhanced table formatting.  Append to
    ;; `LaTeX-indent-environment-list' in order not to override custom settings.
-   (add-to-list (make-variable-buffer-local 'LaTeX-indent-environment-list)
+   (add-to-list (make-local-variable 'LaTeX-indent-environment-list)
                '("xltabular" LaTeX-indent-tabular) t)
 
    ;; Append xltabular to `LaTeX-label-alist', in order not to
    ;; override possible custome values.
    (add-to-list 'LaTeX-label-alist '("xltabular" . LaTeX-table-label) t)
 
-   ;; Append xltabular to `LaTeX-item-list' with `LaTeX-item-longtable'
-   (add-to-list 'LaTeX-item-list '("xltabular" . LaTeX-item-longtable) t)
+   ;; Append xltabular to `LaTeX-item-list' with `LaTeX-item-xltabular'
+   (add-to-list 'LaTeX-item-list '("xltabular" . LaTeX-item-xltabular) t)
 
    ;; Tell RefTeX -- This is the same entry as for "longtable" in
    ;; `reftex-label-alist-builtin':
diff --git a/tests/Makefile b/tests/Makefile
index 208ab72..db62b30 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -55,7 +55,8 @@ all: check
 WRITE_LOG = 2>&1 | tee $@
 
 %.log: %.el
-       $(emacs) -l ert -l $< -f ert-run-tests-batch-and-exit ${WRITE_LOG}
+       $(emacs) -l ert -l make-test-deps.emacs-lisp -l $< \
+       -f ert-run-tests-batch-and-exit ${WRITE_LOG}
 
 ELFILES = $(wildcard */*.el)
 LOGFILES = $(patsubst %.el,%.log, ${ELFILES})
diff --git a/tests/context/context-test.el b/tests/context/context-test.el
index 05647e4..1fcc999 100644
--- a/tests/context/context-test.el
+++ b/tests/context/context-test.el
@@ -24,18 +24,6 @@
 (require 'ert)
 (require 'context)
 
-(defun AUCTeX-set-ert-path (&rest sym-val)
-  "Set first element of SYM-VAL to the next one, and so on.
-
-The value is the path to the test file, make sure it is expanded
-in the right directory even when the ERT test from the command
-line and from another directory."
-  (while sym-val
-    (set (pop sym-val)
-        (expand-file-name (pop sym-val)
-                          (when load-file-name
-                            (file-name-directory load-file-name))))))
-
 (AUCTeX-set-ert-path
  'ConTeXt-indent-test/in
  "context-indentation-in.tex"
diff --git a/tests/japanese/parse-timing.el b/tests/japanese/parse-timing.el
index c9f5243..1c49eb7 100644
--- a/tests/japanese/parse-timing.el
+++ b/tests/japanese/parse-timing.el
@@ -33,17 +33,6 @@
 (require 'ert)
 (require 'tex-jp)
 
-(defun AUCTeX-set-ert-path (&rest sym-val)
-  "Set first element of SYM-VAL to the next one, and so on.
-
-The value is the path to the test file, make sure it is expanded
-in the right directory even when the ERT test from the command
-line and from another directory."
-  (while sym-val
-    (set (pop sym-val)
-        (expand-file-name (pop sym-val)
-                          (when load-file-name
-                            (file-name-directory load-file-name))))))
 (AUCTeX-set-ert-path
  'parse-timing
  "parse-timing-test.tex")
diff --git a/tests/japanese/preview-latex.el b/tests/japanese/preview-latex.el
index 4fac047..44697d6 100644
--- a/tests/japanese/preview-latex.el
+++ b/tests/japanese/preview-latex.el
@@ -26,18 +26,6 @@
   (require 'tex-jp))
 (require 'preview)
 
-(defun AUCTeX-set-ert-path (&rest sym-val)
-  "Set first element of SYM-VAL to the next one, and so on.
-
-The value is the path to the test file, make sure it is expanded
-in the right directory even when the ERT test from the command
-line and from another directory."
-  (while sym-val
-    (set (pop sym-val)
-        (expand-file-name (pop sym-val)
-                          (when load-file-name
-                            (file-name-directory load-file-name))))))
-
 (AUCTeX-set-ert-path
  'platex-shift-jis
  "preview-error-test.tex"
diff --git a/tests/latex/latex-test.el b/tests/latex/latex-test.el
index a53d48e..a2dc565 100644
--- a/tests/latex/latex-test.el
+++ b/tests/latex/latex-test.el
@@ -24,25 +24,6 @@
 (require 'ert)
 (require 'latex)
 
-;; Add the "style/" directory to `TeX-style-path',
-;; so we can load style files inside tests.
-(add-to-list 'TeX-style-path
-            (expand-file-name "../../style"
-                              (when load-file-name
-                                (file-name-directory load-file-name))))
-
-(defun AUCTeX-set-ert-path (&rest sym-val)
-  "Set first element of SYM-VAL to the next one, and so on.
-
-The value is the path to the test file, make sure it is expanded
-in the right directory even when the ERT test from the command
-line and from another directory."
-  (while sym-val
-    (set (pop sym-val)
-        (expand-file-name (pop sym-val)
-                          (when load-file-name
-                            (file-name-directory load-file-name))))))
-
 (AUCTeX-set-ert-path
  'LaTeX-indent-tabular-test/in
  "tabular-in.tex"
diff --git a/tests/context/context-test.el b/tests/make-test-deps.emacs-lisp
similarity index 66%
copy from tests/context/context-test.el
copy to tests/make-test-deps.emacs-lisp
index 05647e4..17a88f4 100644
--- a/tests/context/context-test.el
+++ b/tests/make-test-deps.emacs-lisp
@@ -1,4 +1,4 @@
-;;; context-test.el --- tests for ConTeXt mode
+;; -*- emacs-lisp -*-
 
 ;; Copyright (C) 2017 Free Software Foundation, Inc.
 
@@ -19,10 +19,22 @@
 ;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 ;; 02110-1301, USA.
 
+;;; Commentary:
+
+;; This file provides some functions and .
+
+;; It has an .emacs-lisp extension because it makes the Makefile easier!
+
 ;;; Code:
 
-(require 'ert)
-(require 'context)
+(require 'tex)
+
+;; Add the "style/" directory to `TeX-style-path',
+;; so we can load style files inside tests.
+(add-to-list 'TeX-style-path
+            (expand-file-name "../style"
+                              (when load-file-name
+                                (file-name-directory load-file-name))))
 
 (defun AUCTeX-set-ert-path (&rest sym-val)
   "Set first element of SYM-VAL to the next one, and so on.
@@ -35,22 +47,3 @@ line and from another directory."
         (expand-file-name (pop sym-val)
                           (when load-file-name
                             (file-name-directory load-file-name))))))
-
-(AUCTeX-set-ert-path
- 'ConTeXt-indent-test/in
- "context-indentation-in.tex"
- 'ConTeXt-indent-test/out
- "context-indentation-out.tex")
-
-(ert-deftest ConTeXt-indent ()
-  (should (string=
-           (with-temp-buffer
-             (insert-file-contents ConTeXt-indent-test/in)
-             (ConTeXt-mode)
-             (indent-region (point-min) (point-max))
-             (buffer-string))
-           (with-temp-buffer
-             (insert-file-contents ConTeXt-indent-test/out)
-             (buffer-string)))))
-
-;;; context-test.el ends here
diff --git a/tests/tex/error-parsing.el b/tests/tex/error-parsing.el
index 3da46c1..f9df789 100644
--- a/tests/tex/error-parsing.el
+++ b/tests/tex/error-parsing.el
@@ -24,18 +24,6 @@
 (require 'ert)
 (require 'tex-buf)
 
-(defun AUCTeX-set-ert-path (&rest sym-val)
-  "Set first element of SYM-VAL to the next one, and so on.
-
-The value is the path to the test file, make sure it is expanded
-in the right directory even when the ERT test is run from the
-command line and from another directory."
-  (while sym-val
-    (set (pop sym-val)
-        (expand-file-name (pop sym-val)
-                          (when load-file-name
-                            (file-name-directory load-file-name))))))
-
 (AUCTeX-set-ert-path
  'TeX-test-compilation-log
  "compilation-log.txt")
diff --git a/tests/tex/path-expansion.el b/tests/tex/path-expansion.el
index 149cbab..3a1d72e 100644
--- a/tests/tex/path-expansion.el
+++ b/tests/tex/path-expansion.el
@@ -22,7 +22,6 @@
 ;;; Code:
 
 (require 'ert)
-(require 'tex)
 
 (ert-deftest TeX-variable-truncation ()
   "Check whether list variable is not truncated as side effect."
@@ -33,27 +32,4 @@
     (TeX-search-files-by-type 'abc 'global)
     (should (equal var '("str1" "str2")))))
 
-(ert-deftest TeX-kpathsea-delimiter-w32 ()
-  "Check whether `TeX-kpathsea-path-delimiter' is set to \";\" on w32 
platform."
-  ;; This test is meaningful only on w32 platform.
-  (skip-unless (eq system-type 'windows-nt))
-  ;; Provide `TeX-tree-expand' with output which doesn't begin with
-  ;; dos drive letter.
-  (let ((TeX-kpathsea-path-delimiter
-        (eval (car (get 'TeX-kpathsea-path-delimiter 'standard-value)))))
-    (TeX-tree-expand '(".") nil)
-    (should (equal TeX-kpathsea-path-delimiter ";")))
-  ;; Provide `TeX-search-files-kpathsea' with output of only one
-  ;; component (thus without a separator ";".)
-  (let ((TeX-kpathsea-path-delimiter
-        (eval (car (get 'TeX-kpathsea-path-delimiter 'standard-value))))
-       ;; Let's hope that no other files in the temp directory have
-       ;; such a bizarre extension.
-       (temp-file (make-temp-file "TeX-path-expansion" nil ".xxyyzz")))
-    (unwind-protect
-       (TeX-search-files-kpathsea (file-name-directory temp-file)
-                                  '("xxyyzz") nil nil nil)
-      (delete-file temp-file))
-    (should (equal TeX-kpathsea-path-delimiter ";"))))
-
 ;;; command-expansion.el ends here
diff --git a/tests/tex/utility.el b/tests/tex/utility.el
index 843bd57..92442ba 100644
--- a/tests/tex/utility.el
+++ b/tests/tex/utility.el
@@ -22,7 +22,6 @@
 ;;; Code:
 
 (require 'ert)
-(require 'tex)
 
 (ert-deftest TeX-infinite-loop ()
   "Check whether functions don't fall into infinite loop."
diff --git a/tex-ispell.el b/tex-ispell.el
index cd279c6..995221c 100644
--- a/tex-ispell.el
+++ b/tex-ispell.el
@@ -66,6 +66,7 @@
 ;; tcolorbox.sty
 ;; tikz.sty
 ;; varioref.sty
+;; xltabular.sty
 
 ;; If you have further additions, drop a line to <address@hidden>.
 
@@ -324,7 +325,9 @@ not be quoted.  An opening brace `{', asterisk `*' and 
at-sign
    ;; tabularx.sty, tabulary.sty, Standard LaTeX tabular*-env
    ("tabular[*xy]" TeX-ispell-tex-arg-end)
    ;; tcolorbox.sty -- raster library
-   ("tcboxed\\(raster\\|itemize\\)" ispell-tex-arg-end)))
+   ("tcboxed\\(raster\\|itemize\\)" ispell-tex-arg-end)
+   ;; xltabular.sty
+   ("xltabular" ispell-tex-arg-end 2)))
 
 
 ;; No customization below this line
diff --git a/tex.el b/tex.el
index 8eab9bc..5ee02b4 100644
--- a/tex.el
+++ b/tex.el
@@ -2696,16 +2696,35 @@ If REGEXP is nil, or \"\", an error will occur."
          (setq answers (cons entry answers))))
     answers))
 
-(defcustom TeX-kpathsea-path-delimiter path-separator
+(defun TeX-kpathsea-detect-path-delimiter ()
+  "Auto detect the path delimiter for kpsewhich command.
+Usually return \":\" or \";\".  If auto detect fails for some reason,
+return nil."
+  (let ((res (ignore-errors
+              (with-output-to-string
+                (call-process "kpsewhich" nil
+                              (list standard-output nil) nil
+                              "--expand-path" "{.,..}")))))
+    ;; kpsewhich expands "{.,..}" to ".:SOMEDIR" or ".;SOMEDIR"
+    ;; according to its environment.
+    ;; Don't use "{.,.}" instead because kpsewhich of MiKTeX 2.9
+    ;; simplifies it to just a ".", not ".;.".
+    (and (stringp res) (> (length res) 0)
+        ;; Check whether ; is contained.  This should work even if
+        ;; some implementation of kpsewhich considers it sane to
+        ;; insert drive letters or directory separators or whatever
+        ;; else to the current directory.
+        (if (string-match ";" res) ";" ":"))))
+
+(defcustom TeX-kpathsea-path-delimiter
+  (TeX-kpathsea-detect-path-delimiter)
   "Path delimiter for kpathsea output.
-nil means kpathsea is disabled."
+t means autodetect, nil means kpathsea is disabled."
   :group 'TeX-file
   :type '(choice (const ":")
                 (const ";")
+                (const :tag "Autodetect" t)
                 (const :tag "Off" nil)))
-;; backward compatibility
-(when (eq TeX-kpathsea-path-delimiter t)
-  (setq TeX-kpathsea-path-delimiter path-separator))
 
 (defun TeX-tree-expand (vars program &optional subdirs)
   "Return directories corresponding to the kpathsea variables VARS.
@@ -2717,6 +2736,9 @@ are returned."
   ;; FIXME: The GNU convention only uses "path" to mean "list of directories"
   ;; and uses "filename" for the name of a file even if it contains possibly
   ;; several elements separated by "/".
+  (if (eq TeX-kpathsea-path-delimiter t)
+      (setq TeX-kpathsea-path-delimiter
+           (TeX-kpathsea-detect-path-delimiter)))
   (when TeX-kpathsea-path-delimiter
     (let* ((exit-status 1)
           (args `(,@(if program `("--progname" ,program))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]