GNU bug report logs -
#14286
Tex-mode always picks the first command in tex-compile-commands on Windows
Previous Next
Reported by: "Jérôme M. Berger" <jeberger <at> free.fr>
Date: Sat, 27 Apr 2013 09:48:02 UTC
Severity: normal
Tags: fixed
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Tex-mode is supposed to pick the most appropriate command in
tex-compile-commands depending on the situation. However, on Windows
it always picks the first command (and probably on Linux if TeX is
installed in some non-standard locations).
This is due to the fact that the executables are shell-quoted which
prevents the detection logic in tex-command-active-p from working.
It works on Linux because most of the time shell-quoting leaves the
string intact, whereas on Windows shell-quoting always adds double
quotes around the string.
I have been able to work around the issue by adding the following
to my configuration:
====================8<--------------------
(defun jb-tex-unquote (str)
(mapconcat
(lambda (str) str)
(split-string-and-unquote str)
""))
(defun tex-command-active-p (cmd fspec)
"Return non-nil if the CMD spec might need to be run."
(let ((in (nth 1 cmd))
(out (nth 2 cmd)))
(if (stringp in)
(let ((file (jb-tex-unquote (format-spec in fspec))))
(when (file-exists-p file)
(or (not out)
(file-newer-than-file-p
file (jb-tex-unquote
(format-spec out fspec))))))
(when (and (eq in t) (stringp out))
(not (tex-uptodate-p (jb-tex-unquote
(format-spec out fspec))))))))
-------------------->8====================
Jerome
--
mailto:jeberger <at> free.fr
http://jeberger.free.fr
Jabber: jeberger <at> jabber.fr
[signature.asc (application/pgp-signature, attachment)]
This bug report was last modified 4 years and 168 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.