diff options
author | Andrea Corallo <akrl@sdf.org> | 2023-02-20 21:03:58 +0100 |
---|---|---|
committer | Andrea Corallo <akrl@sdf.org> | 2023-02-20 21:16:04 +0100 |
commit | 5d0b45cd67b383bc777dcf7589517e51e58f5a21 (patch) | |
tree | 34accb0558716b4bf52baff44e143aa1b431116a | |
parent | 88ee92e61d786586064f3792b9d0be2dee6eb30c (diff) | |
download | emacs-5d0b45cd67b383bc777dcf7589517e51e58f5a21.tar.gz |
Make the native compiler always use `make-temp-file' for temporary files
* src/comp.c (CALL4I): Define macro.
(Fcomp__compile_ctxt_to_file): Use `make-temp-file' instead of
`make-temp-file-internal'.
* lisp/emacs-lisp/comp.el (comp--trampoline-abs-filename): Likewise.
-rw-r--r-- | lisp/emacs-lisp/comp.el | 4 | ||||
-rw-r--r-- | src/comp.c | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index a2bad6ce6a8..a0b18ea864f 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -3813,8 +3813,8 @@ Return the trampoline if found or nil otherwise." ;; found. finally (cl-return (expand-file-name - (make-temp-file-internal (file-name-sans-extension rel-filename) - 0 ".eln" nil) + (make-temp-file (file-name-sans-extension rel-filename) 0 ".eln" + nil) temporary-file-directory)))) (defun comp-trampoline-compile (subr-name) diff --git a/src/comp.c b/src/comp.c index beaf443a0f7..1fce108fea4 100644 --- a/src/comp.c +++ b/src/comp.c @@ -514,6 +514,10 @@ load_gccjit_if_necessary (bool mandatory) #define CALL2I(fun, arg1, arg2) \ CALLN (Ffuncall, intern_c_string (STR (fun)), arg1, arg2) +/* Like call4 but stringify and intern. */ +#define CALL4I(fun, arg1, arg2, arg3, arg4) \ + CALLN (Ffuncall, intern_c_string (STR (fun)), arg1, arg2, arg3, arg4) + #define DECL_BLOCK(name, func) \ gcc_jit_block *(name) = \ gcc_jit_function_new_block ((func), STR (name)) @@ -4991,7 +4995,8 @@ DEFUN ("comp--compile-ctxt-to-file", Fcomp__compile_ctxt_to_file, format_string ("%s_libgccjit_repro.c", SSDATA (ebase_name))); Lisp_Object tmp_file = - Fmake_temp_file_internal (base_name, Qnil, build_string (".eln.tmp"), Qnil); + CALL4I (make-temp-file, base_name, Qnil, build_string (".eln.tmp"), Qnil); + Lisp_Object encoded_tmp_file = ENCODE_FILE (tmp_file); #ifdef WINDOWSNT encoded_tmp_file = ansi_encode_filename (encoded_tmp_file); |