More info
The function tex-file() is ok. It yields the correct tex/latex command, file name, & directory. The trouble is the routines that create the tex-shell. Note that the function tex-set-buffer-directory(...) is *never* called. If it is used thusly
(defun tex-send-tex-command (cmd &optional dir) ;; line 2484
(setq default-directory (tex-set-buffer-directory "*tex-shell*" "/tmp")) ;; new statement here
(unless (or (equal dir (let ((buf (tex-shell-buf-no-error)))
(and buf (with-current-buffer buf
default-directory))))
it works; yet another solution. This new addition could certainly be placed elsewhere as well.
RDS