summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/edebug.el
diff options
context:
space:
mode:
authorAndrea Corallo <akrl@sdf.org>2020-07-19 10:46:24 +0200
committerAndrea Corallo <akrl@sdf.org>2020-08-17 18:04:22 +0200
commit3224a443060a5f21bb910064fc06fe4432810355 (patch)
treea28a7e743a30bea9bbd17fc08aff906b95b40a64 /lisp/emacs-lisp/edebug.el
parentf2e6168ece69d635b4f9d9a138100c6772903d0b (diff)
downloademacs-3224a443060a5f21bb910064fc06fe4432810355.tar.gz
emacs-3224a443060a5f21bb910064fc06fe4432810355.tar.bz2
emacs-3224a443060a5f21bb910064fc06fe4432810355.zip
Move eln files into dedicated cache directories
When loading a elc file search for a corresponding eln one into `comp-eln-load-path' directories and load it if available. `comp-eln-load-path' contains by default two directory (user and system one). * src/pdumper.c (dump_do_dump_relocation): While resurrecting from load set eln cache sys dir in `Vcomp_eln_load_path'. * src/lread.c (maybe_swap_for_eln): New function. (Fload): Clean-up some now unnecessary code going back to the master one. (Fload): Make use of Vcomp_eln_to_el_h for the reverse file look-up. (openp_add_middle_dir_to_suffixes) (openp_max_middledir_and_suffix_len, openp_fill_filename_buffer): Remove functions. (openp): As for Fload revert code modifications. (openp): When a .elc file is being loaded check if a corresponding eln can be loaded in place. * src/comp.c (ELN_FILENAME_HASH_LEN): New macro. (comp_hash_string): New function. (hash_native_abi): Make use of 'comp_hash_string'. (hash_native_abi): Change `comp-native-path-postfix' format. (Fcomp_el_to_eln_filename): New function. (Fcomp__compile_ctxt_to_file): Have file_name as a input. (Vcomp_eln_to_el_h, Vcomp_eln_load_path): New global varaibles. * lisp/startup.el (normal-top-level): Add user eln cache directory in `comp-eln-load-path'. * lisp/help-fns.el (find-lisp-object-file-name): Reverse look-up files using `comp-eln-to-el-h'. * lisp/files.el (locate-file): Likewise. * lisp/emacs-lisp/find-func.el (find-library-name): Likewise. * lisp/emacs-lisp/comp.el (comp-output-directory) (comp-output-base-filename, comp-output-filename): Remove function. (comp-compile-ctxt-to-file): Create parent directories if necessary. (comp-run-async-workers, native-compile, native-compile-async): Make use `comp-el-to-eln-filename'.
Diffstat (limited to 'lisp/emacs-lisp/edebug.el')
0 files changed, 0 insertions, 0 deletions