Function: comp--trampoline-abs-filename

comp--trampoline-abs-filename is a byte-compiled function defined in comp.el.gz.

Signature

(comp--trampoline-abs-filename SUBR-NAME)

Documentation

Return the absolute filename for a trampoline for SUBR-NAME.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/comp.el.gz
(defun comp--trampoline-abs-filename (subr-name)
  "Return the absolute filename for a trampoline for SUBR-NAME."
  (cl-loop
   with dirs = (if (stringp native-comp-enable-subr-trampolines)
                   (list (expand-file-name native-comp-enable-subr-trampolines
                                           invocation-directory))
                 (if native-compile-target-directory
                     (list (expand-file-name comp-native-version-dir
                                             native-compile-target-directory))
                   (comp-eln-load-path-eff)))
   with rel-filename = (comp-trampoline-filename subr-name)
   for dir in dirs
   for abs-filename = (expand-file-name rel-filename dir)
   unless (file-exists-p dir)
     do (ignore-errors
          (make-directory dir t)
          (cl-return abs-filename))
   when (file-writable-p abs-filename)
     do (cl-return abs-filename)
   ;; Default to some temporary directory if no better option was
   ;; found.
   finally (cl-return
            (make-temp-file (file-name-sans-extension rel-filename) nil ".eln"
                            nil))))