Alternative repair. In the troublesome lines
(unless (or (equal dir (let ((buf (tex-shell-buf-no-error)))
(and buf (with-current-buffer buf
default-directory))))
(not dir))
(let (shell-dirtrack-verbose)
(tex-send-command tex-shell-cd-command dir)))
change
equal dir -> equal "garbage" in the line with unless.
This will force the cd command to always execute.
Here's the patch I made
--- tex-mode.0.el 2020-07-31 16:22:30.380924724 -0700
+++ tex-mode.1.el 2020-07-31 14:00:36.344874591 -0700
@@ -2482,7 +2482,8 @@
(tex-send-tex-command compile-command dir)))
(defun tex-send-tex-command (cmd &optional dir)
- (unless (or (equal dir (let ((buf (tex-shell-buf-no-error)))
+ (setq nodir "garbage") ;; dir -> nodir force a cd nodir!=dir
+ (unless (or (equal nodir (let ((buf (tex-shell-buf-no-error)))
(and buf (with-current-buffer buf
default-directory))))
(not dir))