]> git.eshelyaron.com Git - emacs.git/commitdiff
Make the native compiler always use `make-temp-file' for temporary files
authorAndrea Corallo <akrl@sdf.org>
Mon, 20 Feb 2023 20:03:58 +0000 (21:03 +0100)
committerAndrea Corallo <akrl@sdf.org>
Mon, 20 Feb 2023 20:16:04 +0000 (21:16 +0100)
* 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.

lisp/emacs-lisp/comp.el
src/comp.c

index a2bad6ce6a8077e1dbf88b00aec4159bcd183074..a0b18ea864fd969cf2ec0338a2350ec0eb7271b5 100644 (file)
@@ -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)
index beaf443a0f7f64f01d9e31858f3ea34dd599fd84..1fce108fea4303cd0be7bc30dd8f3c0c218eaa60 100644 (file)
@@ -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);