On 25/03/2024 19:49, Max Nikulin wrote:
> > (defun org-ensure-tmp-dir (dir-symbol prefix)
> > (let ((dir (symbol-value dir-symbol)))
> > ;; Temporary directory has not been cleaned.
> > (or (and dir (file-directory-p dir) dir)
>
>
>`if' should be used instead of `or' here.
>
>
>
>>
>> (setf (symbol-value dir-symbol)
>> (make-temp-file (or prefix "orgtmp-") 'dir)))))
>>
>> (defvar org-tex-tmpdir nil)
>>
>> Usage example: (org-ensure-tmp-dir 'org-tex-tmpdir "orgtex-")
> I do not like that the function may be called with different `temporary-file-directory' and I can not figure out how to adjust API to handle such case. On the other hand I am unsure if it is a realistic case when this function is called with alternating `temporary-file-directory'.
I have a case where the current way of forcing the temporary directory to me `/tmp` is wrong. Running emacs on Ubuntu **under WSL2**,, exporting latex snippets to ODT *as images* fails : the `.dvi` files are correctly compiled and placed in `/tmp{, but the convert program tries to read them in `../../../../tmp/`, which is indeed `/tmp` in a "normal" filesystem but **is not** in WSL, where the root (`/`) is in fact a mounted tree.
Admittedly, this is a corner case, but it turned out to be necessary (exporting via mathml gave unsatisfying results).