branch: main commit 8ccea501358ff93ec6f65f139f3bca692a3cbe65 Merge: 5f007f11 575078fb Author: Tassilo Horn <t...@gnu.org> Commit: Tassilo Horn <t...@gnu.org>
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 2ac1df20..516af30c 100644 --- a/ChangeLog-preview +++ b/ChangeLog-preview @@ -1,3 +1,7 @@ +2017-12-03 Mosè Giordano <m...@gnu.org> + + * Version 11.92 released. + 2017-07-24 Mosè Giordano <m...@gnu.org> * Version 11.91 released. diff --git a/ChangeLog.1 b/ChangeLog.1 index bb74bd64..5daae170 100644 --- a/ChangeLog.1 +++ b/ChangeLog.1 @@ -1,3 +1,437 @@ +2017-12-03 Mosè Giordano <m...@gnu.org> + + * Version 11.92 released. + +2017-12-03 Mosè Giordano <m...@gnu.org> + + 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 <ik...@ikumi.que.jp> + + 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 <ar...@gnu.org> + + 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 <ar...@gnu.org> + + * style/longtable.el ("longtable"): Use `make-local-variable'. + + * tex-ispell.el: Add entry for "xltabular" environment. + +2017-11-30 Arash Esbati <ar...@gnu.org> + + 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 <m...@gnu.org> + + 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 <ik...@ikumi.que.jp> + + Revert wrong test + + * tests/tex/path-expansion.el (TeX-kpathsea-delimiter-w32): Remove. + +2017-11-30 Ikumi Keita <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <t...@gnu.org> + + 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 <ar...@gnu.org> + + * doc/changes.texi: Mention compatibility of preview with GS 9.22. + +2017-11-18 Arash Esbati <ar...@gnu.org> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + Mention the necessity of GNU make + + * doc/install.texi (Prerequisites): Add an item of GNU make. + Fix copyright year. + +2017-11-13 Ikumi Keita <ik...@ikumi.que.jp> + + 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 <ar...@gnu.org> + + Add new style/xltabular.el + + * Makefile.in (STYLESRC): Add new style. + + * style/xltabular.el: New file. + +2017-11-12 Arash Esbati <ar...@gnu.org> + + 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 <ik...@ikumi.que.jp> + + * tex.el (TeX-math-input-method-off-regexp): Turn defvar into defcustom. + +2017-11-06 David Kastrup <d...@gnu.org> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + Add test for infinite loop + + * tests/tex/utility.el: New file. + +2017-09-10 Ikumi Keita <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ar...@gnu.org> + + Add new style/arabxetex.el + + * Makefile.in (STYLESRC): Add new style. + + * style/arabxetex.el: New file. + +2017-08-18 Vincent Belaïche <vincent....@hotmail.fr> + + 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 <ik...@ikumi.que.jp> + + 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 <ik...@ikumi.que.jp> + + 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 <ar...@gnu.org> + + * style/XCharter.el ("XCharter"): Update to package v1.094 from 2017/08/08. + +2017-08-09 Arash Esbati <ar...@gnu.org> + + * style/amsthm.el ("amsthm"): Use `LaTeX-amsthm-env-label'. + +2017-07-31 Ikumi Keita <ik...@ikumi.que.jp> + + 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 <monn...@iro.umontreal.ca> + + * font-latex.el: Use the standard utf-8 rather than latin-1 + +2017-07-25 Stefan Monnier <monn...@iro.umontreal.ca> + + 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 <t...@gnu.org> + + Manually cherry-pick commit bc0db60e + 2017-07-24 Mosè Giordano <m...@gnu.org> * 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 015ff391..faea7ac5 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 3c7b546e..43f913a9 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,bug-auc...@gnu.org) +AC_INIT(auctex,11.92,bug-auc...@gnu.org) 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 bf34e225..621c6bb8 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. + +@item +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 b86a221e..8e5c6cee 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 b180b28e..ad36113b 100644 --- a/latex/preview.dtx +++ b/latex/preview.dtx @@ -439,7 +439,7 @@ \NeedsTeXFormat{LaTeX2e} \def\reserved@a #1#2$#3: #4${\xdef#1{\reserved@c #2#4 $}} \def\reserved@c #1 #2${#1} \begingroup \catcode`\_=12 -\reserved@a\pr@version $Name: release_11_91 $ \ifx\pr@version\@empty +\reserved@a\pr@version $Name: release_11_92 $ \ifx\pr@version\@empty \reserved@a\pr@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 1a0eb7e7..df6328e3 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 94de0e93..699dbe63 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 422c87af..5beb1096 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 6ba58e4d..08dbf755 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 e04045e5..73ddc00f 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 b57833bf..0231b7b3 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 79a3a8b7..cd26e3fd 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 360cd4e0..2ac0560b 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 e78b4e92..af343138 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 208ab729..db62b303 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 05647e4d..1fcc9991 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 c9f52434..1c49eb79 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 4fac0471..44697d6d 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 a53d48e7..a2dc5654 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 05647e4d..17a88f4b 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 3da46c1f..f9df789f 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 149cbab9..3a1d72ec 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 843bd57b..92442ba5 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 cd279c6b..995221cb 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 <auctex-devel@gnu.org>. @@ -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 8eab9bc7..5ee02b4c 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))