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